ПочатиПочніть безкоштовно

Застосуйте модель до потоку даних

Тепер застосуймо вашу навчену Pipeline для машинного навчання до потокових даних і одразу класифікуймо значення.

Далі ви використаєте predict() для вхідних повідомлень, щоб визначити категорію. Залежно від результату прогнозу ви виконаєте дію: зачинити вікна у вашому домі або ні.

Памʼятайте: категорія 1 означає гарну погоду, тоді як категорія 0 означає погану, холодну погоду.

Крім того, pipeline повертає масив прогнозів. Оскільки ви передаєте лише один елемент, потрібно звернутися до першого елемента за допомогою category[0].

Функція close_window() зробить це за вас і додатково збереже запис у журналі для подальшого аналізу.

pandas як pd і json уже завантажено в цю сесію для вас, а модель доступна як pl.

Ця вправа є частиною курсу

Аналіз даних IoT у Python

Переглянути курс

Інструкції до вправи

  • Розберіть словник у pandas DataFrame за допомогою DataFrame.from_records() з "timestamp" як індексом і cols як стовпцями.
  • Визначте категорію цього запису за допомогою predict() з обʼєкта pipeline та запишіть результат у category.
  • Викличте close_window() з DataFrame df як першим аргументом і category як другим аргументом.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def model_subscribe(client, userdata, message):
    data = json.loads(message.payload)
    # Parse to DataFrame
    df = pd.____.____([data], index=____, columns=____)
    # Predict result
    category = ____
    if category[0] < 1:
        # Call business logic
        ____
    else:
        print("Nice Weather, nothing to do.")  

# Subscribe model_subscribe to MQTT Topic
subscribe.callback(model_subscribe, topic, hostname=MQTT_HOST)
Редагувати та запускати код