Triển khai mô hình

Thiết kế quy trình Machine Learning bằng Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Một đối tượng pipeline mô hình gồm chọn đặc trưng, chọn mô hình, tinh chỉnh và huấn luyện được đẩy sang pipeline sản xuất để dự đoán.

Thiết kế quy trình Machine Learning bằng Python

Tuần tự hóa mô hình của bạn

Lưu bộ phân loại ra tệp:

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

Tải lại từ tệp:

with open('model.pkl', 'rb') as file:
    clf2 = pickle.load(file)
Thiết kế quy trình Machine Learning bằng Python

Tuần tự hóa pipeline của bạn

Môi trường phát triển:

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)

Quy trình cần đẩy riêng cả bộ chọn đặc trưng và mô hình đã huấn luyện sang sản xuất.

Thiết kế quy trình Machine Learning bằng Python

Tuần tự hóa pipeline của bạn

Môi trường sản xuất:

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))

Quy trình cần đẩy riêng cả bộ chọn đặc trưng và mô hình đã huấn luyện sang sản xuất.

Thiết kế quy trình Machine Learning bằng Python

Tuần tự hóa pipeline của bạn

Môi trường phát triển:

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)

Quy trình tối ưu, gói chọn đặc trưng và huấn luyện mô hình trong một đối tượng pipeline duy nhất.

Thiết kế quy trình Machine Learning bằng Python

Tuần tự hóa pipeline của bạn

Môi trường sản xuất:

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

Quy trình tối ưu, gói chọn đặc trưng và huấn luyện mô hình trong một đối tượng pipeline duy nhất.

Thiết kế quy trình Machine Learning bằng Python

Biến đổi đặc trưng tùy chỉnh

   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())])
Thiết kế quy trình Machine Learning bằng Python

Sẵn sàng sản xuất!

Thiết kế quy trình Machine Learning bằng Python

Preparing Video For Download...