Przygotowanie danych do uczenia maszynowego

Analiza danych IoT w Pythonie

Matthias Voppichler

IT Developer

Przypomnienie: uczenie maszynowe

  • Uczenie nadzorowane
    • Klasyfikacja
    • Regresja
  • Uczenie nienadzorowane
    • Analiza skupień
  • Głębokie uczenie
    • Sieci neuronowe
Analiza danych IoT w Pythonie

Przypomnienie: uczenie maszynowe

  • Uczenie nadzorowane
    • Klasyfikacja
    • Regresja
  • Uczenie nienadzorowane
    • Analiza skupień
  • Głębokie uczenie
    • Sieci neuronowe
Analiza danych IoT w Pythonie

Etykiety

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
Analiza danych IoT w Pythonie

Podział na zbiór treningowy i testowy

Podział szeregów czasowych

  • Model nie powinien widzieć danych testowych podczas treningu
  • Nie można stosować losowego podziału
  • Model nie może korzystać z przyszłych danych
Analiza danych IoT w Pythonie

Podział na zbiór treningowy i testowy

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

Wykres podziału na zbiór treningowy i testowy

Analiza danych IoT w Pythonie

Cechy i etykiety

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,)
Analiza danych IoT w Pythonie

Regresja logistyczna

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]
Analiza danych IoT w Pythonie

Czas na ćwiczenia!

Analiza danych IoT w Pythonie

Preparing Video For Download...