1 回答

TA贡献1836条经验 获得超3个赞
将模型存储在字典中的一般方法:
from sklearn.linear_model import LinearRegression
from sklearn import svm
X = [some features]
y = [some labels]
models_dictionary = {}
clf_1 = LinearRegression()
clf_2 = svm.SVR()
models_dictionary["Linear_Regression"] = clf_1
models_dictionary["Support_Vector _Machine"] = clf_2
# training all models:
for model in models_dictionary:
models_dictionay[model].fit(X, y)
你的代码:
pipe.fit(X,y)是一个就地功能,这就是您的问题所在。
而不是这一行:
models[var] = [X.columns,pipe.fit(X,y)]
用这个:
pipe.fit(X,y)
models[var] = [X.columns,pipe]
因为pipe.fit(X,y)不返回模型,它只适合存储在pipe.
那么您将能够使用任何管道直接从 预测值models,执行以下操作:
y_predictions = models[some_var][1].predict(X_test)
添加回答
举报