Подготовка данных для машинного обучения

Анализ данных Интернета вещей на Python

Matthias Voppichler

IT Developer

Краткий обзор машинного обучения

  • Обучение с учителем
    • Классификация
    • Регрессия
  • Обучение без учителя
    • Кластерный анализ
  • Глубокое обучение
    • Нейронные сети
Анализ данных Интернета вещей на Python

Краткий обзор машинного обучения

  • Обучение с учителем
    • Классификация
    • Регрессия
  • Обучение без учителя
    • Кластерный анализ
  • Глубокое обучение
    • Нейронные сети
Анализ данных Интернета вещей на Python

Метки

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

Разбиение на обучающую и тестовую выборки

Разбиение данных временного ряда

  • Модель не должна видеть тестовые данные во время обучения
  • Случайное разбиение неприменимо
  • Модель не должна «заглядывать» в будущее
Анализ данных Интернета вещей на Python

Разбиение на обучающую и тестовую выборки

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

Признаки и метки

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

Логистическая регрессия

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

Давайте потренируемся!

Анализ данных Интернета вещей на Python

Preparing Video For Download...