Гугл лабароторная машинному обучению
Machine Learning
Stamps
Initial conditions
Categories:
Google Cloud
Створення SQL-запиту для визначення моделі. Наприклад, використовуючи команду CREATE MODEL
, ви вказуєте тип моделі т
CODE......
Використання команди ML.EVALUATE
для оцінки ефективності моделі на тестовому наборі даних.
CODE......
Застосування навченої моделі для прогнозування значень за допомогою команди ML.PREDICT
.
CODE......
Результати команди ML.EVALUATE
можуть містити різні метрики, такі як:
mean_absolute_error
: середня абсолютна помилка.mea
: середня квадратична помилка.mean_squared_log_error
: середня квадратична логарифмічна помилка.median_absolute_error
: медіана абсолютної помилки.r2_score
: коефіцієнт детермінації (R-квадрат).
Для використання 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) об'єднує дані із двох таблиць на основі спільного ідентифікатора події.
Цей запит визначає вхідні функції (у цьому випадку, описи подій та їх наслідків) та цільові змінні, які використовуються для оцінки моделі. Результати оцінки повертаються у вигляді метрик якості, які ви можете використовувати для оцінки ефективності моделі.
...Команда ML.PREDICT
в BigQuery ML використовується для застосування навченої моделі машинного навчання до нових даних /p>
Основний синтаксис виглядає наступним чином:
CODE...
Давайте розглянемо параметри та результати цієї команди:
-
MODEL
project.dataset.model``: Це вказує, яку модель машинного навчання ви хочете використати для прогнозування. Вибирається модель за допомогою імені та шляху. -
SELECT feature1, feature2, ... FROM
project.dataset.input_data``: Це вхідні дані, на яких ви хочете отримати прогнози. Важливо, щоб ці дані мали ті самі ознаки (features), що і дані, на яких була навчена модель.
Результати команди ML.PREDICT
міститимуть прогнозовані значення, визначені вашою моделлю. Вони можуть бути використані для подальших аналізів чи прийняття рішень на основі прогнозів вашої моделі на нових даних.
Скільки відвідувачів веб-сайту (у відсотках) здійснили покупку?
CODE...
- Натисніть Run (Виконати).
Додайте наведений нижче запит в EDITOR (РЕДАКТОР), а потім натисніть Run (Виконати).
CODE......
Скільки користувачів здійснили покупки на веб-сайті під час наступних відвідувань?
CODE......
використовується для вибору певних характеристик відвідувачів з даних електронної комерції.
CODE......
Введіть наведений нижче запит, щоб створити модель і налаштувати її параметри.
CODE...
Примітка. Не завантаж/p> ...
Навчання завершено. Тепер можна оцінити ефективність моделі прогнозування, виконавши наведений нижче запит ML.EVALUATE
.
CODE......
Підвищити ефективність моделі за допомогою конструювання ознак
Як говорилося раніше, набір даних має бага/p>
Додайте кілька нових ознак і створіть другу модель машинного навчання під назвою classification_model_2
.
-
До якого етапу оформлення замовлення відвідувач дійшов під час першого сеансу.
-
Як відвідувач потрапив на сайт (джерело трафіку: звичайний пошук, з іншого сайту тощо).
-
Категорія пристрою (мобільний телефон, планшет, комп’ютер).
-
Інформація про географічне місцеположення (країна).
-
Створіть другу модель, виконавши наведений нижче запит.
CODE...
Примітка. Цю модель потрібно навчати за допомогою тих самих даних за перші 9 місяців – так ви зможете переконатися, що ефективність моделі підвищилася завдяки правильно підібраним вихідним ознакам, а не через новий набір даних для навчання.
У запит навчального набору даних було додано нову ключову ознаку – етап оформлення замовлення, до якого дійшов відвідувач під час сеансу. Ці дані вказуються в полі hits.eCommerceAction.action_type
. На сторінці з визначеннями полів наведено різні значення цього поля, де 6 = здійснення покупки.
Крім того, набір даних веб-аналітики включає вкладені поля та поля для повторного введення даних, як-от ARRAYS (МАСИВИ). Їх потрібно розбити на окремі рядки в наборі даних. Для цього можна використати функцію UNNEST(), як у наведеному вище запиті.
Навчання триватиме від 5 до 10 хвилин.
...Оцініть точність прогнозування нової моделі за допомогою наведеного нижче запиту.
CODE...
Навчання моделі з/p> ...
Вам потрібно створити запит, щоб спрогнозувати, хто з нових відвідувачів повернеться та купить товар.
-
Ви
CODE...
...
Завдяки конструюванню ознак модель на основі лінійної класифікації (логістичної регресії) працює ефективні/p>
Примітка. Підказка. Скористайтеся наведеними нижче параметрами для класифікатора Boosted_Tree_Classifier.
1. L2_reg = 0,1.
2. num_parallel_tree = 8.
3. max_tree_depth = 10.
Точний синтаксис можна переглянути в документації за посиланнями вище. Навчання моделі триватиме близько 7 хвилин. Якщо виникнуть проблеми, перегляньте відповідь нижче.
CODE...
...
Перевірмо ефективність моделі.
CODE...
Примітка. Через випадковий характер навчання ви можете отримати інші
Показник roc_auc змінився несуттєво, проте що ближче до максимального значення (1), то важче його покращувати.
Це чудовий приклад того, що в BigQuery ML можна легко перевірити ефективність різних типів моделей із різноманітними параметрами. Ми зробили модель значно складнішою, просто змінивши один рядок у коді SQL.
Щоб підібрати правильні параметри, потрібно експериментувати. Спочатку випробуйте різні моделі, щоб підібрати оптимальну, а потім поекспериментуйте з різними наборами параметрів (цей процес називається налаштуванням гіперпараметрів).
...Тепер згенеруймо прогноз за допомогою покращеної моделі, щоб порівняти його з попередніми показниками. За до
CODE...
Результат свідчить, що наявна модель класифікації точніше прогнозує ймовірність того, чи повернеться новий відвідувач Google Merchandise Store, щоб здійснити покупку. Порівнявши отримані показники з моделлю із завдання 7, можна зробити висновок, що поточна модель здійснює точніше прогнозування, ніж модель типу logistic_regression.
...