Abh*_*pai 15 python-3.x scikit-learn
如何在 Sklearn 中保存 StandardScaler() 模型?我需要使模型可操作,并且不想一次又一次地加载训练数据以供 StandardScaler 学习,然后应用到我想要进行预测的新数据上。
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
#standardizing after splitting
X_train, X_test, y_train, y_test = train_test_split(data, target)
sc = StandardScaler()
X_train_std = sc.fit_transform(X_train)
X_test_std = sc.transform(X_test)
Run Code Online (Sandbox Code Playgroud)
小智 21
您可以使用 joblib转储功能来保存标准缩放模型。这里有一个完整的例子供参考。
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)
Run Code Online (Sandbox Code Playgroud)
如果要保存sc标准调用程序,请使用以下命令
from sklearn.externals.joblib import dump, load
dump(sc, 'std_scaler.bin', compress=True)
Run Code Online (Sandbox Code Playgroud)
这将创建文件 std_scaler.bin 并保存 sklearn 模型。
稍后读取模型使用负载
sc=load('std_scaler.bin')
Run Code Online (Sandbox Code Playgroud)
注意:sklearn.externals.joblib已弃用。安装并使用 purejoblib代替
小智 5
或者,如果您喜欢腌制:
import pickle
pickle.dump(sc, open('file/path/scaler.pkl','wb'))
sc = pickle.load(open('file/path/scaler.pkl','rb'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11889 次 |
| 最近记录: |