Model dağıtımı

Python'da Machine Learning İş Akışları Tasarlama

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Özellik seçimi, model seçimi, ayarlama ve eğitimi içeren bir model pipeline’ı, tahmin için eğitilmiş pipeline’ı kullanan üretim pipeline’ına aktarılır.

Python'da Machine Learning İş Akışları Tasarlama

Modelinizi serileştirme

Bir sınıflandırıcıyı dosyaya kaydedin:

import pickle
clf = RandomForestClassifier().fit(X_train, y_train)
with open('model.pkl', 'wb') as file:
    pickle.dump(clf, file=file)

Dosyadan yeniden yükleyin:

with open('model.pkl', 'rb') as file:
    clf2 = pickle.load(file)
Python'da Machine Learning İş Akışları Tasarlama

Pipeline’ı serileştirme

Geliştirme ortamı:

vt = SelectKBest(f_classif).fit(
    X_train, y_train)
clf = RandomForestClassifier().fit(
    vt.transform(X_train), y_train)
with open('vt.pkl', 'wb') as file: 
     pickle.dump(vt)
with open('clf.pkl', 'wb') as file: 
     pickle.dump(clf)

Özellik seçici nesnesi ile eğitilmiş modelin ayrı ayrı üretime aktarılması gereken bir iş akışı.

Python'da Machine Learning İş Akışları Tasarlama

Pipeline’ı serileştirme

Canlı ortam:

with open('vt.pkl', 'rb') as file: 
    vt = pickle.load(vt)
with open('clf.pkl', 'rb') as file: 
    clf = pickle.load(clf)
clf.predict(vt.transform(X_new))

Özellik seçici nesnesi ile eğitilmiş modelin ayrı ayrı üretime aktarılması gereken bir iş akışı.

Python'da Machine Learning İş Akışları Tasarlama

Pipeline’ı serileştirme

Geliştirme ortamı:

pipe = Pipeline([
    ('fs', SelectKBest(f_classif)), 
    ('clf', RandomForestClassifier())
])
params = dict(fs__k=[2, 3, 4],
    clf__max_depth=[5, 10, 20])
gs = GridSearchCV(pipe, params)
gs = gs.fit(X_train, y_train)

with open('pipe.pkl', 'wb') as file: pickle.dump(gs, file)

Özellik seçimi ve model eğitiminin tek bir pipeline nesnesinde birleştirildiği optimize edilmiş iş akışı.

Python'da Machine Learning İş Akışları Tasarlama

Pipeline’ı serileştirme

Canlı ortam:

with open('pipe.pkl', 'rb') as file:
   gs = pickle.dump(gs, file)
gs.predict(X_test)

Özellik seçimi ve model eğitiminin tek bir pipeline nesnesinde birleştirildiği optimize edilmiş iş akışı.

Python'da Machine Learning İş Akışları Tasarlama

Özel özellik dönüşümleri

   checking_status  duration       ...        own_telephone  foreign_worker
0                1         6       ...                    1               1
1                0        48       ...                    0               1
def negate_second_column(X):
    Z = X.copy()
    Z[:,1] = -Z[:,1]
    return Z
pipe = Pipeline([('ft', FunctionTransformer(negate_second_column)), 
    ('clf', RandomForestClassifier())])
Python'da Machine Learning İş Akışları Tasarlama

Canlıya hazır!

Python'da Machine Learning İş Akışları Tasarlama

Preparing Video For Download...