arrow_back

Vertex AI: прогноз кредитного ризику за допомогою інструментів AutoML

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Vertex AI: прогноз кредитного ризику за допомогою інструментів AutoML

Lab 2 год 30 годин universal_currency_alt 5 кредитів show_chart Початковий
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Огляд

Під час цієї практичної роботи ви використовуватимете Vertex AI для тренування й обслуговування моделі машинного навчання, щоб спрогнозувати кредитний ризик на основі табличного набору даних.

Цілі

Виконуючи цю практичну роботу, ви навчитеся виконувати такі дії:

  • завантажувати набір даних у Vertex AI;
  • тренувати модель машинного навчання за допомогою інструментів AutoML;
  • оцінювати ефективність моделі;
  • розгортати модель у кінцевій точці;
  • отримувати прогнози.

Налаштування

Перш ніж натиснути кнопку Start Lab (Почати завдання)

Ознайомтеся з цими вказівками. На виконання завдання відводиться обмежений час, і ви не можете призупиняти їх. Щойно ви натиснете Start Lab (Почати завдання), з’явиться таймер, який показуватиме, скільки часу для роботи з ресурсами Google Cloud у вас залишилося.

Платформа для практичної роботи Qwiklabs дає змогу виконувати завдання в дійсному робочому хмарному середовищі (не в симуляції або демонстраційному середовищі). Для цього на час виконання завдання вам надаються тимчасові облікові дані для реєстрації та входу в Google Cloud.

Обов’язкові умови

Щоб виконати це завдання, потрібно мати:

  • стандартний веб-переглядач, наприклад Chrome (рекомендовано);
  • достатню кількість часу.

Примітка. Якщо ви маєте обліковий запис або проект Google Cloud, не використовуйте їх для доступу до цього завдання.

Примітка. Якщо ви використовуєте Pixelbook, відкрийте завдання в новому вікні в режимі анонімного перегляду.

Як почати виконувати завдання й увійти в Console

  1. Натисніть кнопку Start Lab (Почати практичну роботу). Якщо за практичну роботу необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. На панелі ліворуч ви побачите тимчасові облікові дані, які потрібно використовувати для доступу до цієї практичної роботи.

    Панель облікових даних

  2. Скопіюйте ім’я користувача, а потім натисніть Open Google Console (Відкрити Google Console). Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Choose an account (Виберіть обліковий запис).

    Примітка. Відкривайте вкладки в окремих вікнах, розміщуючи їх поруч.
  3. На сторінці Choose an account (Виберіть обліковий запис) натисніть Use Another Account (Інший обліковий запис). Відкриється сторінка входу в обліковий запис.

    Діалогове вікно вибору облікового запису з виділеною опцією Use Another Account (Інший обліковий запис)

  4. Вставте ім’я користувача, скопійоване з панелі Connection Details (Відомості про підключення). Потім скопіюйте й вставте пароль.

Примітка. Обов’язково використовуйте облікові дані з панелі Connection Details (Відомості про підключення). Не використовуйте облікові дані Google Cloud Skills Boost. Якщо у вас є власний обліковий запис Google Cloud, не використовуйте його для доступу до цієї практичної роботи (інакше з вас може бути стягнуто плату).
  1. Виконайте наведені нижче дії.
  • Прийміть Умови використання.
  • Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
  • Не реєструйте безкоштовні пробні версії.

Через кілька секунд Cloud Console відкриється в новій вкладці.

Примітка. Ви можете переглянути меню зі списком продуктів і сервісів Google Cloud, натиснувши меню навігації вгорі ліворуч. Меню Cloud Console

Знайомство з Vertex AI

У цій практичній роботі використовується Vertex AI – уніфікована платформа штучного інтелекту в Google Cloud, на якій можна тренувати й розгортати модель машинного навчання. З Vertex AI можна створити модель машинного навчання на одній платформі двома способами: за допомогою інструментів AutoML без кодування й шляхом Спеціального навчання на основі коду через Vertex Workbench. Щоб виконати цю практичну роботу, ви використовуватимете інструменти AutoML.

Ви розробите модель машинного навчання, щоб визначити, чи виплатить певний клієнт кредит.

Завдання 1. Підготуйте тренувальні дані

Спочатку на інформаційній панелі Vertex AI відображаються основні етапи тренування й розгортання моделі машинного навчання: підготовка тренувальних даних, навчання моделі й отримання прогнозів. Пізніше на ній показуватимуться ваші останні дії, зокрема нещодавні набори даних, моделі, прогнози, кінцеві точки й екземпляри блокнотів.

Створіть набір даних

  1. У консолі Google Cloud у меню навігації натисніть Vertex AI > Datasets (Vertex AI > Набори даних).
  2. Натисніть Create dataset (Створити набір даних).
  3. Назвіть набір даних LoanRisk.
  4. Для типу даних і цілі натисніть Tabular (Таблиця) та виберіть Regression/classification (Регресія/класифікація).
  5. Натисніть Create (Створити).

Завантажте дані

Нижче наведено три способи імпортувати дані у Vertex AI:

  • завантажити локальний файл із комп’ютера;
  • вибрати файли з Cloud Storage;
  • вибрати дані з BigQuery.

Набір даних уже завантажено в Cloud Storage для зручності.

  1. Для джерела даних укажіть Select CSV files from Cloud Storage (Вибрати файли CSV з Cloud Storage).

  2. У полі Import file path (Шлях до файлу імпорту) введіть цю команду:

spls/cbl455/loan_risk.csv
  1. Натисніть Continue (Продовжити).
Примітка. Є ще один спосіб налаштувати сторінку: натисніть Datasets (Набори даних) у меню ліворуч і виберіть назву набору даних на сторінці Datasets (Набори даних).

(Необов’язково) Згенеруйте статистику

  1. Щоб переглянути описову статистику для кожного стовпця набору даних, натисніть Generate statistics (Генерувати статистику).
    Процес може тривати кілька хвилин, особливо якщо ви робите це вперше.

  2. Коли статистика буде готова, можна переглянути аналітичні діаграми. Для цього потрібно натиснути назву стовпця.

Завдання 2. Навчіть свою модель

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

  • Натисніть Train new model (Навчити нову модель) і виберіть Other (Інше).

Метод навчання

  1. Набір даних уже має назву LoanRisk.

  2. У полі Objective (Ціль) виберіть Classification (Класифікація).

Слід вибрати саме класифікацію, а не регресію, оскільки ви прогнозуєте не безперервну кількість, а конкретну цифру (клієнт виплатить кредит: 0 – так, 1 – за умовчанням/ні).

  1. Натисніть Continue (Продовжити).

Інформація про модель

Укажіть назву моделі й цільовий стовпець.

  1. Дайте моделі назву, наприклад LoanRisk.

  2. У полі Target column (Цільовий стовпець) виберіть Default (За умовчанням).

  3. (Необов’язково) Відкрийте меню Advanced options (Додаткові параметри), щоб розподілити дані для навчання й тестування та вказати шифрування.

  4. Натисніть Continue (Продовжити).

  5. Щоб додати ознаки, натисніть Continue (Продовжити).

Способи навчання

Укажіть стовпці, які використовуватимуться для навчання моделі. Наприклад, для прогнозування кредитного ризику не потрібен стовпець ClientID.

  1. Натисніть значок мінуса в рядку ClientID, щоб вилучити його з моделі.

  2. (Необов’язково) У меню Advanced options (Додаткові параметри) можна вибрати інші цілі оптимізації.
    Докладнішу інформацію про цілі оптимізації для моделей AutoML із табличними даними наведено на цій сторінці.

  3. Натисніть Continue (Продовжити).

Обчислення й ціни

  1. У полі Budget (Бюджет), де вказується час роботи вузла в годинах, введіть 1.
    На початку навчання моделі AutoML цього часу зазвичай достатньо, щоб зрозуміти, чи існує зв’язок між вибраними ознаками й міткою. Пізніше можна буде змінити ознаки й довше навчати модель, щоб підвищити її ефективність.

  2. Не вимикайте дострокову зупинку.

  3. Натисніть Start training (Почати навчання).

Залежно від вибраного методу й обсягу даних навчання може тривати від кількох хвилин до кількох годин. Як правило, після завершення навчання користувач отримує електронний лист від Google Cloud, проте в середовищі Qwiklabs листи не надсилаються.

Щоб не витрачати зайвого часу, завантажте попередньо навчену модель у Завданні 5, щоб отримати прогнози на її основі в Завданні 6. Таку модель можна отримати, виконавши кроки в Завданні 1 і Завданні 2.

Завдання 3. Оцініть ефективність моделі (лише для демонстрації)

У Vertex AI є багато показників для аналізу ефективності моделі. Ви працюватимете з трьома, які наведено нижче.

  • Precision/Recall curve (Крива точності/повноти)
  • Confusion Matrix (Матриця помилок)
  • Feature Importance (Важливість ознак)
Примітка. Навчені моделі можна знайти на вкладці Model Registry (Реєстр моделей) у Vertex AI.

1. Перейдіть на вкладку Model Registry (Реєстр моделей).

2. Натисніть модель, яку ви щойно навчили.

3. Перегляньте вкладку Evaluate (Оцінювання).

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

Крива точності/повноти

Повзунок порогу точності встановлено на значенні 0,5, і вибрано графіки для кривої точності/повноти, кривої ROC і кривої точності-повноти за пороговим значенням

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

Поріг можна налаштувати вручну, щоб побачити, як він впливає на точність і повноту. Це допоможе збалансувати ці показники з урахуванням потреб вашої компанії.

Матриця помилок

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

Таблиця матриці помилок, у якій наведено класифікації справжніх і прогнозованих міток

Матриця помилок показує, що ваша початкова модель може правильно спрогнозувати 100% прикладів виплати й 87% прикладів за умовчанням у тестовому наборі. Це непоганий результат.

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

Важливість ознак

Важливість ознак відображається в гістограмі Vertex AI, що ілюструє, як кожна ознака впливає на прогноз. Що довша смуга й що більше числове значення, пов’язане з ознакою, то важливіша ознака.

Гістограма важливості ознак "кредит", "дохід" і "вік"

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

Важливість ознак – лише одна з численних функцій набору інструментів і фреймворків Vertex AI для машинного навчання під назвою Explainable AI. Explainable AI допомагає зрозуміти прогнози моделей машинного навчання.

Завдання 4. Розгорніть модель (лише для демонстрації)

Примітка. Ви не розгортатимете модель до кінцевої точки, оскільки її навчання може тривати годину. У цьому розділі наведено кроки, які потрібно виконувати в робочому середовищі.

Коли модель навчена, потрібно створити кінцеву точку у Vertex. З ресурсом моделі у Vertex можна зв’язати кілька кінцевих точок, розподіливши між ними трафік.

Створіть і визначте кінцеву точку

  1. На сторінці моделі натисніть Deploy & test (Розгорнути й тестувати), а потім – Deploy to Endpoint (Розгорнути в кінцевій точці).

  2. У полі Endpoint name (Назва кінцевої точки) введіть значення LoanRisk.

  3. Натисніть Continue (Продовжити).

Налаштування й відстеження моделі

  1. Не змінюйте налаштування розподілу трафіку.

  2. У розділі Machine type (Тип машини) виберіть e2-standard-8, 8 vCPUs, 30 GiB memory (e2-standard-8, 8 віртуальних центральних процесорів, 30 ГіБ пам’яті).

  3. У розділі Explainability Options (Параметри пояснюваності) натисніть Feature attribution (Атрибуція ознак).

  4. Натисніть Done (Готово).

  5. Натисніть Continue (Продовжити).

  6. У розділі Model monitoring (Відстеження моделі) натисніть Continue (Продовжити).

  7. У розділі Model objectives > Training data source (Цілі моделі > Джерело даних для навчання) виберіть Vertex AI dataset (Набір даних Vertex AI).

  8. Виберіть свій набір даних зі спадного меню.

  9. У полі Target column (Цільовий стовпець) введіть значення Default (За умовчанням).

  10. Залиште інші налаштування без змін і натисніть Deploy (Розгорнути).

Розгортання кінцевої точки триватиме кілька хвилин. Потім біля назви з’явиться зелений прапорець.

Час отримувати прогнози за допомогою розгорнутої моделі.

Завдання 5. Маркер носія SML

Відновіть свій маркер носія (Bearer Token)

Щоб дозволити автентифікацію конвеєра та отримати дозвіл на звернення до кінцевої точки для отримання прогнозів, потрібно надати маркер носія.

Нижче описано, як отримати цей маркер. Якщо вам не вдається отримати маркер носія, причиною можуть бути файли cookie в режимі анонімного перегляду. Щоб вирішити цю проблему, виконайте таку дію у звичайному режимі веб-переглядача.

  1. Увійдіть на сайт https://gsp-auth-kjyo252taq-uc.a.run.app/

  2. Щоб увійти, скористайтеся електронною поштою та паролем студента платформи.

  3. Натисніть кнопку Copy (Копіювати). У буфер обміну скопіюється дуже довгий маркер.

bearer-login.png

Цей маркер доступний лише протягом 60 секунд, тому скопіюйте його та перейдіть до наступного кроку.

Якщо вам не вдається отримати маркер носія, причиною можуть бути файли cookie в режимі анонімного перегляду. Спробуйте увійти у звичайному режимі.

Завдання 6. Отримайте прогнози

У цьому розділі ви працюватимете з наявною навченою моделлю за допомогою сервісу Shared Machine Learning (SML).

ЗМІННА СЕРЕДОВИЩА ЗНАЧЕННЯ
AUTH_TOKEN Використайте значення з попереднього розділу
ENDPOINT https://sml-api-vertex-kjyo252taq-uc.a.run.app/vertex/predict/tabular_classification
INPUT_DATA_FILE INPUT-JSON

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

  1. Відкрийте вікно Cloud Shell.

  2. Замініть елемент INSERT_SML_BEARER_TOKEN на значення маркера носія з попереднього розділу:

export AUTH_TOKEN="INSERT_SML_BEARER_TOKEN"
  1. Завантажте об’єкти практичної роботи:
gcloud storage cp gs://spls/cbl455/cbl455.tar.gz
  1. Розархівуйте об’єкти практичної роботи:
tar -xvf cbl455.tar.gz
  1. Створіть змінну середовища ENDPOINT:
export ENDPOINT="https://sml-api-vertex-kjyo252taq-uc.a.run.app/vertex/predict/tabular_classification"
  1. Створіть змінну середовища INPUT_DATA_FILE:
export INPUT_DATA_FILE="INPUT-JSON" Примітка. Коли об’єкти практичної роботи буде розархівовано, перегляньте їх вміст.

Vertex AI отримує потрібні дані моделі з файлу INPUT-JSON. Змініть цей файл, щоб згенерувати власні прогнози.

Додаток smlproxy забезпечує зв’язок із серверною частиною.

Файл INPUT-JSON містить наведені нижче значення.

age ClientID income loan
40.77 997 44964.01 3944.22
  1. Перевірте сервіс SML, надіславши параметри, указані в змінних середовища.

  2. Надішліть запит до сервісу SML:

./smlproxy tabular \ -a $AUTH_TOKEN \ -e $ENDPOINT \ -d $INPUT_DATA_FILE

Надіславши запит, ви отримаєте такий результат:

SML Tabular HTTP Response: 2022/01/10 15:04:45 {"model_class":"0","model_score":0.9999981}
  1. Змініть файл INPUT-JSON, щоб протестувати новий сценарій:
age ClientID income loan
30.00 998 50000.00 20000.00
  1. Перевірте сервіс SML, надіславши параметри, указані в змінних середовища.

  2. Відредагуйте файл INPUT-JSON і замініть початкові значення.

  3. Надішліть запит до сервісу SML:

./smlproxy tabular \ -a $AUTH_TOKEN \ -e $ENDPOINT \ -d $INPUT_DATA_FILE

У цьому прикладі особа віком 30 років із доходом 50 000 узяла кредит на 20 000. За прогнозами моделі людина виплатить кредит.

Надіславши запит, ви отримаєте такий результат:

SML Tabular HTTP Response: 2022/01/10 15:04:45 {"model_class":"0","model_score":1.0322887E-5}

На зображенні нижче показано, як виконати ті самі дії в Google Cloud Console.

Кроки прогнозування виділено у відповідних розділах

Вітаємо!

Тепер ви можете використовувати Vertex AI, щоб виконувати такі дії:

  • завантажувати набір даних;
  • навчати модель за допомогою інструментів AutoML;
  • оцінювати ефективність моделі;
  • розгортати модель, навчену за допомогою інструментів AutoML, у кінцевій точці;
  • отримувати прогнози.

Щоб дізнатися більше про різні частини Vertex AI, перегляньте цю документацію.

Завершіть завдання

Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.

Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).

Кількість зірочок відповідає певній оцінці:

  • 1 зірочка = зовсім не сподобалося
  • 2 зірочки = не сподобалося
  • 3 зірочки = не можу сказати напевно
  • 4 зірочки = сподобалося
  • 5 зірочок = дуже сподобалося

Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.

Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).

© Google LLC 2022. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.