使用load_model()函数加载经过特征工程的模型的示例代码
发布时间:2024-01-03 03:35:11
使用load_model()函数可以加载经过特征工程的模型,下面是一个示例代码:
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.externals import joblib
# 加载数据集
boston = load_boston()
X, y = boston.data, boston.target
# 特征工程,使用StandardScaler标准化数据
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 训练模型
model = LinearRegression()
model.fit(X, y)
# 保存模型
joblib.dump(scaler, 'scaler.pkl') # 保存特征工程的标准化器
joblib.dump(model, 'model.pkl') # 保存训练好的模型
# 加载模型
loaded_scaler = joblib.load('scaler.pkl')
loaded_model = joblib.load('model.pkl')
# 加载新数据
new_data = [[0.00632, 18.00, 2.310, 0, 0.5380, 6.5750, 65.2000, 4.0900, 1.0000, 296.0000, 15.3000, 396.9000, 4.9800]]
new_data = loaded_scaler.transform(new_data)
# 使用加载的模型进行预测
prediction = loaded_model.predict(new_data)
print(prediction)
在以上示例代码中,我们使用了波士顿房价数据集进行训练和特征工程。首先,我们加载数据集,并使用StandardScaler进行标准化处理。然后,我们使用LinearRegression进行模型训练,并将模型和特征工程的标准化器保存到磁盘上。
接下来,我们使用load_model()函数加载保存在磁盘上的特征工程的标准化器和训练好的模型。我们可以加载新的数据,并使用加载的模型进行预测。
最后,我们输出预测结果。
需要注意的是,除了使用joblib库的load()函数加载模型之外,还可以使用pickle库的load()函数加载模型。从Scikit-learn 0.21版本开始,joblib.load()函数也支持加载pickled模型文件,所以这两种方法是等效的。
这是使用load_model()函数加载经过特征工程的模型的一个例子。通过加载保存的模型和相应的特征工程工具,我们可以方便地重新使用我们的模型,并对新数据进行预测。
