Apply a machine learning model

Analyzing IoT Data in Python

Matthias Voppichler

IT Developer

Model Recap

# Create Pipeline
pl = Pipeline([
        ("scale", StandardScaler()),
        ("logreg", LogisticRegression())
    ])

# Fit the pipeline pl.fit(X_train, y_train) print(pl.score(X_test, y_test))
0.8897932222860425
Analyzing IoT Data in Python

Predict

predictions = pl.predict(X_test)

print(predictions) print(f"Test length: {len(X_test)}") print(f"Prediction length: {len(predictions)}")
[0 0 0 ... 1 1 1]
Test length: 500
Prediction length: 500
Analyzing IoT Data in Python

Record conversation

print(single_record)
{'timestamp': '2018-11-30 18:15:00',
  'humidity': 81.7,
  'pressure': 1019.8,
  'temperature': 1.5},
cols = X_train.columns
df = pd.DataFrame.from_records([single_record], 
                               index="timestamp", 
                               columns=cols)
Analyzing IoT Data in Python

Apply to datastream

def on_message(client, userdata, message):
    data = json.loads(message.payload)

df = pd.DataFrame.from_records([data], index="timestamp", columns=cols)
category = pl.predict(df) maybe_alert(category[0])
subscribe.callback(on_message, topic, hostname=MQTT_HOST)
Analyzing IoT Data in Python

Let's practice!

Analyzing IoT Data in Python

Preparing Video For Download...