首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对多个输出执行SVR时出错

对多个输出执行SVR时出错
EN

Stack Overflow用户
提问于 2022-08-18 02:51:07
回答 1查看 30关注 0票数 1

尝试为多个输出执行SVR。从对我有用的超参数调优开始。现在我想使用最优的参数来创建模型,但是我得到了一个错误。怎么解决这个问题?

代码语言:javascript
复制
from sklearn.svm import SVR
from sklearn.model_selection import GridSearchCV
from sklearn.multioutput import MultiOutputRegressor

svr = SVR()
svr_regr = MultiOutputRegressor(svr)

from sklearn.model_selection import KFold
kfold_splitter = KFold(n_splits=6, random_state = 0,shuffle=True)


svr_gs = GridSearchCV(svr_regr,
                  param_grid = {'estimator__kernel': ('linear','poly','rbf','sigmoid'),
                                'estimator__C': [1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10],
                                'estimator__degree': [3,8],
                                'estimator__coef0': [0.01,0.1,0.5],
                                'estimator__gamma': ('auto','scale'),
                                'estimator__tol': [1e-3, 1e-4, 1e-5, 1e-6]},
                  cv=kfold_splitter,
                  n_jobs=-1,
                  scoring='r2') 



svr_gs.fit(X_train, y_train)


print(svr_gs.best_params_)
#print(gs.best_score_)

输出:

代码语言:javascript
复制
 {'estimator__C': 10, 'estimator__coef0': 0.01, 'estimator__degree': 3, 'estimator__gamma': 'auto', 'estimator__kernel': 'rbf', 'estimator__tol': 1e-06}

试图使用输出:创建模型

代码语言:javascript
复制
SVR_model = svr_regr (kernel='rbf',C=10,
                      coef0=0.01,degree=3,
                      gamma='auto',tol=1e-6,random_state=42)
SVR_model.fit(X_train, y_train)
SVR_model_y_predict = SVR_model.predict((X_test))
SVR_model_y_predict

错误:

代码语言:javascript
复制
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/var/folders/mm/r4gnnwl948zclfyx12w803040000gn/T/ipykernel_96269/769104914.py in <module>
----> 1 SVR_model = svr_regr (estimator__kernel='rbf',estimator__C=10,
      2                       estimator__coef0=0.01,estimator__degree=3,
      3                       estimator__gamma='auto',estimator__tol=1e-6,random_state=42)
      4 
      5 

TypeError: 'MultiOutputRegressor' object is not callable
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 03:04:13

请咨询MultiOutputRegressor文档

你得到的回归者是模型。它不是一种方法,但它确实提供了一些您可以调用的有趣方法,例如.fit().predict().score()

您正在尝试指定kernel和一些其他参数。在代码的顶部,您似乎想将这些提供给SVR()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73396919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档