应用机器学习模型

用 Python 分析 IoT 数据

Matthias Voppichler

IT Developer

模型回顾

# 创建管道
pl = Pipeline([
        ("scale", StandardScaler()),
        ("logreg", LogisticRegression())
    ])

# 拟合管道 pl.fit(X_train, y_train) print(pl.score(X_test, y_test))
0.8897932222860425
用 Python 分析 IoT 数据

预测

predictions = pl.predict(X_test)

print(predictions) print(f"测试集长度: {len(X_test)}") print(f"预测长度: {len(predictions)}")
[0 0 0 ... 1 1 1]
测试集长度: 500
预测长度: 500
用 Python 分析 IoT 数据

记录转换

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)
用 Python 分析 IoT 数据

应用于数据流

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)
用 Python 分析 IoT 数据

让我们来练习!

用 Python 分析 IoT 数据

Preparing Video For Download...