当我使用Pycaret predict_model(dt,data=data_unseen)来分析时,只出现一行.<



我使用Python的pycaret模块来分析大数据集。我正确地设置,compare_model, create_model,但是当我尝试使用我创建的模型来预测我从开始分裂的unseen_date时,只有一行来了,假设有100k行需要预测。我确实跳过了曲调部分,因为它花了太长时间,但我认为这不是原因

TSLASAMPLE = TSLA.sample(frac=0.8)
data_unseen  = TSLA.drop(TSLASAMPLE.index)
TSLASAMPLE.reset_index(drop=True, inplace=True)
data_unseen .reset_index(drop=True, inplace=True)
TSLAinput = setup(data = TSLASAMPLE, target= 'prtPrice', use_gpu=True,html=False,silent=True)
dt = create_model('dt')
prediction = predict_model(dt,data=data_unseen)

输出:

Model   MAE MSE RMSE    R2  RMSLE   MAPE
0   Decision Tree Regressor 0.1842  1.8393  1.3562  0.9996  0.0303  0.0082

这是预期的。您看到的结果(1行)是对未看到的数据的度量。实际的预测在你的预测变量中。

这是因为">create_model";返回训练模型的列表,其中第一个元素是基于精度结果的最佳模型。

如果你想对每个模型的未知数据进行预测,你应该循环遍历compare_model的每个实例(这是模型列表):

你可以尝试这样做:

model_list = compare_models()
predictions = []
for model in model_list:
model_prediction = predict_model(model, data=data_unseen)
predictions.append(model_prediction)

"预测"列表存储了每个模型的结果。顺序与'compare_models()'

中的顺序相同

相关内容

最新更新