Back

Гугл лабароторная машинному обучению

Machine Learning

Stamps

Initial conditions

Categories:

Google Cloud


Створення SQL-запиту для визначення моделі. Наприклад, використовуючи команду CREATE MODEL, ви вказуєте тип моделі т

CODE...
...
Prog

Використання команди ML.EVALUATE для оцінки ефективності моделі на тестовому наборі даних.

CODE...
...
Prog

Застосування навченої моделі для прогнозування значень за допомогою команди ML.PREDICT.

CODE...
...
Prog

Результати команди ML.EVALUATE можуть містити різні метрики, такі як:

  • mean_absolute_error: середня абсолютна помилка.
  • mea: середня квадратична помилка.
  • mean_squared_log_error: середня квадратична логарифмічна помилка.
  • median_absolute_error: медіана абсолютної помилки.
  • r2_score: коефіцієнт детермінації (R-квадрат).
...
Prog

Для використання ML.EVALUATE в BigQuery ML вам потрібно мати модель, яку ви хочете оцінити, та вказати тестовий набір даcode>events_table), інша - з описами наслідків (outcomes_table), та ви хочете оцінити модель на основі цих даних.

Припустимо, у вас є модель project.dataset.my_model, яку ви вже навчили на даних. Ваш запит для оцінки може виглядати приблизно так:

CODE...

Для використання ML.EVALUATE в BigQuery ML вам потрібно мати модель, яку ви хочете оцінити, та вказати тестовий набір даних, на якому ви хочете провести оцінку. Давайте розглянемо приклад, де у вас є дві таблиці: одна з описами событий (events_table), інша - з описами наслідків (outcomes_table), та ви хочете оцінити модель на основі цих даних.

Припустимо, у вас є модель project.dataset.my_model, яку ви вже навчили на даних. Ваш запит для оцінки може виглядати приблизно так:


 

sqlCopy code

SELECT * FROM ML.EVALUATE(MODEL `project.dataset.my_model`, ( SELECT e.event_description, o.outcome_description FROM `project.dataset.events_table` AS e JOIN `project.dataset.outcomes_table` AS o ON e.event_id = o.event_id ));

У цьому запиті:

  • project.dataset.my_model - це ваша модель, яку ви хочете оцінити.
  • project.dataset.events_table та project.dataset.outcomes_table - це ваші таблиці із вхідними даними.
  • e.event_id = o.event_id - це умова з'єднання (join) об'єднує дані із двох таблиць на основі спільного ідентифікатора події.

Цей запит визначає вхідні функції (у цьому випадку, описи подій та їх наслідків) та цільові змінні, які використовуються для оцінки моделі. Результати оцінки повертаються у вигляді метрик якості, які ви можете використовувати для оцінки ефективності моделі.

...
Prog

Команда ML.PREDICT в BigQuery ML використовується для застосування навченої моделі машинного навчання до нових даних /p>

Основний синтаксис виглядає наступним чином:

CODE...

Давайте розглянемо параметри та результати цієї команди:

  1. MODEL project.dataset.model``: Це вказує, яку модель машинного навчання ви хочете використати для прогнозування. Вибирається модель за допомогою імені та шляху.

  2. SELECT feature1, feature2, ... FROM project.dataset.input_data``: Це вхідні дані, на яких ви хочете отримати прогнози. Важливо, щоб ці дані мали ті самі ознаки (features), що і дані, на яких була навчена модель.

Результати команди ML.PREDICT міститимуть прогнозовані значення, визначені вашою моделлю. Вони можуть бути використані для подальших аналізів чи прийняття рішень на основі прогнозів вашої моделі на нових даних.

...
Prog

Скільки відвідувачів веб-сайту (у відсотках) здійснили покупку?

CODE...
  1. Натисніть Run (Виконати).
...
Prog

Додайте наведений нижче запит в EDITOR (РЕДАКТОР), а потім натисніть Run (Виконати).

CODE...
...
Prog

Скільки користувачів здійснили покупки на веб-сайті під час наступних відвідувань?

CODE...
...
Prog

використовується для вибору певних характеристик відвідувачів з даних електронної комерції.

CODE...
...
Prog

Введіть наведений нижче запит, щоб створити модель і налаштувати її параметри.

CODE...

Примітка. Не завантаж/p> ...

Prog

Навчання завершено. Тепер можна оцінити ефективність моделі прогнозування, виконавши наведений нижче запит ML.EVALUATE.

CODE...
...
Prog

Підвищити ефективність моделі за допомогою конструювання ознак

Як говорилося раніше, набір даних має бага/p>

Додайте кілька нових ознак і створіть другу модель машинного навчання під назвою classification_model_2.

  • До якого етапу оформлення замовлення відвідувач дійшов під час першого сеансу.

  • Як відвідувач потрапив на сайт (джерело трафіку: звичайний пошук, з іншого сайту тощо).

  • Категорія пристрою (мобільний телефон, планшет, комп’ютер).

  • Інформація про географічне місцеположення (країна).

  1. Створіть другу модель, виконавши наведений нижче запит.

CODE...

Примітка. Цю модель потрібно навчати за допомогою тих самих даних за перші 9 місяців – так ви зможете переконатися, що ефективність моделі підвищилася завдяки правильно підібраним вихідним ознакам, а не через новий набір даних для навчання.

У запит навчального набору даних було додано нову ключову ознаку – етап оформлення замовлення, до якого дійшов відвідувач під час сеансу. Ці дані вказуються в полі hits.eCommerceAction.action_type. На сторінці з визначеннями полів наведено різні значення цього поля, де 6 = здійснення покупки.

Крім того, набір даних веб-аналітики включає вкладені поля та поля для повторного введення даних, як-от ARRAYS (МАСИВИ). Їх потрібно розбити на окремі рядки в наборі даних. Для цього можна використати функцію UNNEST(), як у наведеному вище запиті.

Навчання триватиме від 5 до 10 хвилин.

...
Prog

Оцініть точність прогнозування нової моделі за допомогою наведеного нижче запиту.

CODE...

Навчання моделі з/p> ...

Prog

Вам потрібно створити запит, щоб спрогнозувати, хто з нових відвідувачів повернеться та купить товар.

  • Ви

CODE...

 

...
Prog

Завдяки конструюванню ознак модель на основі лінійної класифікації (логістичної регресії) працює ефективні/p>

Примітка. Підказка. Скористайтеся наведеними нижче параметрами для класифікатора Boosted_Tree_Classifier.

1. L2_reg = 0,1.

2. num_parallel_tree = 8.

3. max_tree_depth = 10.

Точний синтаксис можна переглянути в документації за посиланнями вище. Навчання моделі триватиме близько 7 хвилин. Якщо виникнуть проблеми, перегляньте відповідь нижче.

CODE...

 

...
Prog

Перевірмо ефективність моделі.

CODE...

Примітка. Через випадковий характер навчання ви можете отримати інші

Показник roc_auc змінився несуттєво, проте що ближче до максимального значення (1), то важче його покращувати.

Це чудовий приклад того, що в BigQuery ML можна легко перевірити ефективність різних типів моделей із різноманітними параметрами. Ми зробили модель значно складнішою, просто змінивши один рядок у коді SQL.

Щоб підібрати правильні параметри, потрібно експериментувати. Спочатку випробуйте різні моделі, щоб підібрати оптимальну, а потім поекспериментуйте з різними наборами параметрів (цей процес називається налаштуванням гіперпараметрів).

...
Prog

Тепер згенеруймо прогноз за допомогою покращеної моделі, щоб порівняти його з попередніми показниками. За до

CODE...

Результат свідчить, що наявна модель класифікації точніше прогнозує ймовірність того, чи повернеться новий відвідувач Google Merchandise Store, щоб здійснити покупку. Порівнявши отримані показники з моделлю із завдання 7, можна зробити висновок, що поточна модель здійснює точніше прогнозування, ніж модель типу logistic_regression.

...
Prog

Final conditions:

;

Organize your work