我有一个随机森林模型,模型保存在。pkl文件中。我已经加载了。pkl模型,但现在我必须输入测试数据并预测准确性。如何输入文件到。pkl模型?
import pickle
def read_from_pickle(RF):
with open(RF, 'rb') as file:
try:
while True:
yield pickle.load(file)
except EOFError:
pass
这是我用来加载模型的代码接下来,怎么输入?
这个解决方案是随机福雷斯特回归,我的模型是动态价格预测
import pandas as pd导入numpy为np从sklearn导入管道,预处理,度量,model_selection,ensemble,linear_model从sklearn_pandas导入DataFrameMapper从sklearn。Metrics import mean_squared_error
//首先我们加载了这个库然后加载了数据集以及之后做的所有清理工作
data.to_csv("Pune_hpp.csv"指数= False)
mapper = DataFrameMapper([(["area_type"、"大小"、"new_total_sqft","洗澡","阳台"],preprocessing.StandardScaler ()),#("area_type"、"大小",preprocessing.OneHotEncoder ())
],df_out=True)
//听到我们为它创建了两个管道,BCZ我们比较了mse和rsme方法两种算法,并加载了下面的算法
pipeline_obj_LR =管道。管道([("映射",映射器),("model"linear_model.LinearRegression ()))
pipeline_obj =管道。管道([("映射",映射器),("model"ensemble.RandomForestRegressor ()))
X =[‘area_type’,‘尺寸’,‘new_total_sqft’,‘洗澡’,'阳台']//X输入
Y=['price']//Y为输出
//听到比较过程开始
pipeline_obj_LR.fit(data[X],data[Y])//这个逻辑回归
pipeline_obj.fit(data[X],data[Y])//随机森林
pipeline_obj.predict(data[X])//一些预测我们已经做了
预测= pipeline_obj_LR.predict(数据[X])
//BELLOW是比较的实际方法,是最适合的算法
预测= pipeline_obj_LR.predict(数据[X])
训练数据和测试数据的均方根误差
print('MSE using linear_regression: ', mean_squared_error(data[Y], predict))print('RMSE using linear_regression: ', mean_squared_error(data[Y], predict)**(0.5))
//上面是lr
预测= pipeline_obj.predict(数据[X])
训练数据和测试数据的均方根误差
print('MSE using randomforestregression: ', mean_squared_error(data[Y], predict))print('RMSE using randomforestregression: ', mean_squared_error(data[Y], predict)**(0.5))
//上面是RFR,在我的我已经完成了随机森林的原因是我有一个庞大的数据集,它很容易实现,它的代码行也非常少,你已经看到我没有使用pipeline_obj_LR这就是我们如何输入pkl文件的值
进口joblib
joblib.dump (pipeline_obj dynamic_price_pred.pkl)
modelReload = joblib.load (dynamic_price_pred.pkl)