如何在Sklearn中保存StandardScaler()模型?我需要使模型可操作,并且不想一次又一次地加载训练数据,以便StandardScaler学习然后将其应用于要进行预测的新数据。
import airflow
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'new_user'
user.email = 'newuser@example.com'
user._set_password = 'mypassword'.encode('utf8')
session = settings.Session()
session.add(user)
session.commit()
session.close()
答案 0 :(得分:1)
您可以使用joblib dump 功能保存标准缩放器模型。这是一个完整的示例供参考。
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
data, target = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(data, target)
sc = StandardScaler()
X_train_std = sc.fit_transform(X_train)
如果要保存 sc 标准呼叫者,请使用以下
from sklearn.externals.joblib import dump, load
dump(sc, 'std_scaler.bin', compress=True)
这将创建文件std_scaler.bin并保存sklearn模型。
要稍后阅读模型,请使用 load
sc=load('std_scaler.bin')
答案 1 :(得分:0)
或者,如果您想泡菜:
import pickle
pickle.dump(sc, open('file/path/scaler.pkl','wb'))
sc = pickle.load(open('file/path/scaler.pkl','rb'))