機械学習のためのデータ準備

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 データの分析

練習しましょう!

Python による IoT データの分析

Preparing Video For Download...