sklearn如何使用多个保存的模型合并和预测数据

时间:2019-03-04 02:52:02

标签: python pandas model scikit-learn nlp

我想使用经过训练的4种模型预测数据。因此,我尝试将模型合并到列表中,但是在追加模型后,我无法调用“预测”,并且出现如下错误:

AttributeError: 'list' object has no attribute 'predict'

我的代码是这样的:

vect_tes = features.transform(frame['text'])


model = [[]]
for i in range(4):
    mod = open('model_'+str(i+1)+'.pkl', 'rb')
    model.append(pickle.load(mod))
    mod.close()

predict = model.predict(vect_tes)

1 个答案:

答案 0 :(得分:1)

不确定是否要合并模型,我认为最好查看ensemble methods

关于import pandas as pd import matplotlib.pyplot as plt d = ({ 'Time' : ['7:00:00','10:30:00','12:40:00','16:25:00','18:30:00','22:40:00','00:40:00'], 'Value' : [1,2,3,4,5,4,10], }) df = pd.DataFrame(d) df['Time'] = pd.to_timedelta(df['Time']) plt.plot(df['Time'], df['Value']) plt.show() print(df) ,您最初将model声明为列表列表: AttributeError。因此,当您将训练好的模型附加到循环中时,模型将存储model = [[]],因此,如果要使用模型,则需要访问列表,例如:[ [], model1, model2, model3, model4 ]。您还可以在初始时将模型声明为model[1].predict,在这种情况下,您将从0索引而不是1访问模型。