为机器学习准备数据

用 Python 分析 IoT 数据

Matthias Voppichler

IT Developer

机器学习速览

  • 监督学习
    • 分类
    • 回归
  • 无监督学习
    • 聚类分析
  • 深度学习
    • 神经网络
用 Python 分析 IoT 数据

机器学习速览

  • 监督学习
    • 分类
    • 回归
  • 无监督学习
    • 聚类分析
  • 深度学习
    • 神经网络
用 Python 分析 IoT 数据

标签

print(environment_labeled.head())
                     humidity  temperature  pressure   label
timestamp                                                   
2018-10-01 00:00:00      81.0         11.8    1013.4       1
2018-10-01 00:15:00      79.7         11.9    1013.1       1
2018-10-01 00:30:00      81.0         12.1    1013.0       1
2018-10-01 00:45:00      79.7         11.7    1012.7       1
2018-10-01 01:00:00      84.3         11.2    1012.6       1
用 Python 分析 IoT 数据

训练/测试集拆分

时间序列拆分

  • 训练时模型不能见到测试数据
  • 不能随机拆分
  • 不允许模型"看未来"
用 Python 分析 IoT 数据

训练/测试集拆分

split_day = "2018-10-13"

train = environment[:split_day] test = environment[split_day:]
print(train.iloc[0].name) print(train.iloc[-1].name) print(test.iloc[0].name) print(test.iloc[-1].name)
2018-10-01 00:00:00
2018-10-13 23:45:00
2018-10-14 00:00:00
2018-10-15 23:45:00

C4_L3_train_test_split.png

用 Python 分析 IoT 数据

特征与标签

X_train = train.drop("target", axis=1)
y_train = train["target"]
X_test = test.drop("target", axis=1)
y_test = test["target"]

print(X_train.shape) print(y_train.shape)
(1248, 3)
(1248,)
用 Python 分析 IoT 数据

逻辑回归

from sklearn.linear_model import LogisticRegression

logreg = LogisticRegression()
logreg.fit(X_train, y_train)
print(logreg.predict(X_test))
[0 0 1 1 1 1 1 0 0]
用 Python 分析 IoT 数据

Passons à la pratique !

用 Python 分析 IoT 数据

Preparing Video For Download...