Tworzenie potoku uczenia maszynowego

Analiza danych IoT w Pythonie

Matthias Voppichler

IT Developer

Potok

  • Transformator
    • Konwersja
    • Skalowanie
  • Estymator
    • Model
Analiza danych IoT w Pythonie

Tworzenie potoku

from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline

# Initialize Objects sc = StandardScaler() logreg = LogisticRegression()
# Create pipeline pl = Pipeline([ ("scale", sc), ("logreg", logreg) ])
Analiza danych IoT w Pythonie

Inspekcja potoku

pl
Pipeline(memory=None,
         steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), 
                ('logreg', <class 'sklearn.linear_model.logistic.LogisticRegression'>)])
pl.fit(X_train, y_train)

print(pl.predict(X_test))
[0 0 1 1 0 1 1 0 0]
Analiza danych IoT w Pythonie

Zapisywanie modelu

import pickle

with Path("pipeline_model.pkl").open("bw") as f: pickle.dump(pl, f)
Analiza danych IoT w Pythonie

Wczytywanie modelu

import pickle
with Path("pipeline_model.pkl").open('br') as f:
    pl = pickle.load(f)

pl
Pipeline(memory=None,
     steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), 
             ('logreg', LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', 
          random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False))])

Ważne ostrzeżenie

NIE należy deserializować niezaufanych plików — może to doprowadzić do wykonania złośliwego kodu.

Analiza danych IoT w Pythonie

Czas na ćwiczenia!

Analiza danych IoT w Pythonie

Preparing Video For Download...