В тази конкретна публикация ще научим как да внедрим прост прогнозен модел за линейна регресия на House Price scikit в платформата на Google AI.

Използват се следните технологии и системи:

  1. Набор от данни [Справка от уебсайта на Kaggle]
  2. Google Colab [преносима среда на Jupyter за разработване на модела]
  3. Google Cloud Shell [За взаимодействие с компонентите на платформата Google Cloud]
  4. Google Cloud AI Platform [За внедряване на разработения прогнозен модел]

Една от полезните възможности на Google AI Platform е да управлява предсказуемите модели за машинно обучение по икономически ефективен начин. Специфичните за клиента приложения са отделени от работните процеси на ML. Това е ефективен начин за обслужване на моделите. Платформата AI се грижи за автоматичното мащабиране.

Разработете прогнозен модел от набора от данни

Разработването на ефективен модел е извън обхвата на тази публикация. Ще се позоваваме на процеса от четири стъпки — подготовка на данни, анализ на данни, разработване на модел и внедряване на модел

Стъпка 1: Вземете набора от данни

От набора от данни идентифицирайте характеристиките, които определят цената на къщата. В този пример използвайте следния набор от данни за цените на жилищата от уебсайта на Kaggle.



Стъпка 2: Използвайте Google Colab за разработване на модела

За разработването на модела използвайте сътрудничеството на Google, което е среда на преносим компютър Jupyter. Вижте по-долу относно настройката и достъпа:



Стъпка 3: Ключови изводи от разработването на модела

а. Идентифицирайте основните характеристики, които влияят на цените на жилищата

b. Изграждане на модел

Подготовка на данните

Идентифицирайте ключовите характеристики, които влияят върху цените на жилищата, и адресирайте проблемите, присъстващи в набора от данни.

Забележка: Импортирайте набора от данни в устройството на Google и го монтирайте към бележника.

Импортирайте съответните пакети на Python и заредете набора от данни

Анализ на данни

Идентифицирайте типовете данни [числови и категорични], налични в набора от данни

  • В коя държава са къщите?
  • В какво състояние са тези къщи?
  • Средната цена на къщата?

Намерете връзката между броя на спалните и цената на къщата. Като цяло, колкото по-голям е броят на спалните, толкова по-висока е цената.

Получете ценова разбивка за всяка група спални

Извод от горната стъпка:

  • Има 2 къщи с 0 спални
  • Има максимално отклонение в няколко спални с 3
  • Има само една къща с 9 спални и може да е далече от града. Ако искаме да разгледаме няколко спални като предиктор в нашия модел, тогава трябва да направим нещо
  • Някои къщи имат цена нула

Нека се справим с проблема: Къщи с нулеви цени

Извод от горната стъпка:

  • Blueline е разпределението на цените
  • Черната линия е нормалното разпределение

Имаме 3 проблема:

  • Къщи с 0 спални
  • Огромна разлика от почти 27 милиона долара — 50 пъти повече от цената на нормална къща
  • 49 Къщи без цена

Разработете нова рамка с данни без проблем 1, 2 и 3

Разработване на модел

Преместете съответните характеристики в рамката с данни X и предвидете етикети в рамката с данни y

Разделете y и X в набори от данни за обучение и тестване

Обучете основния модел на множествена регресия и отпечатайте коефициентите

Извод от горната стъпка:

Въз основа на коефициентите:

  1. Има печалба от $170k [1,712 x (10⁵)] за една промяна на стойността в изгледа
  2. Очевидно не е страхотен модел

Внедряване на модел

Експортирайте модел като pkl файл

Разположете модела в Google AI Platform

Стъпка 1: Инсталирайте Google Cloud SDK

Вижте по-долу относно инсталирането на Google Cloud SDK



Стъпка 2: Създайте и качете модела в кофата за съхранение в облак

Създайте отделна кофа за съхранение, специфична за региона, за да съхранявате файловете на модела. За целите на разбирането дайте ai-модели като точка на разширение на кофата.

gsutil mb -c standard -l us-east1 gs://BUCKET_NAME-ai-models

Уверете се, че файлът на модела е във формат pickle [model.pkl] или във формат на joblib [model.joblib].

Отидете до папката с изтегления модел и изпълнете командата за копиране

gsutil cp ./model.pkl gs://YOUR_BUCKET/model.pkl

Забележка: Уверете се, че акаунтът за IAM услуга има достъп до кофата за съхранение

gsutil -m acl ch -u [email protected]:R -r gs://YOUR_BUCKET

Стъпка 3: Създайте модела в платформата на Google AI

Следващата команда създава модел.

gcloud ai-platform models create HousePriceLinearRegression --region=us-east1

Проверете същото в Google Cloud Console

Стъпка 4: Създайте изпълнимо състояние на версия на модел

Изпълнете следната команда, за да създадете модела

Забележка: Атрибутите са според създадения модел. Рамка — scikit-learn, версия на python — 3.7

gcloud ai-platform versions create HousePricePredV1 --model=HousePriceLinearRegression --origin=gs://YOUR_BUCKET/HousePricePrediction --runtime-version=2.2 --framework=scikit-learn --python-version=3.7 --region=us-east1 --machine-type=n1-standard-2

Проверете внедрената версия в Google Cloud Console

Тествайте разгърнатия прогнозен модел

  • Щракнете върху внедрената версия на модела и отворете раздела Тестване и използване
  • Предоставете входните json данни на модела

Поздравления за успешното внедряване на прост модел за прогнозиране на scikit-learn в Google AI Platform :)