管道+ standardscaler + OHE + CLF + GridSearchCV + ColumnTranformer

问题描述

我正在为自己的lil项目尝试使用管道+ standardscaler + OHE + CLF + GridSearchCV + ColumnTranformer进行一些数据建模。

我期望我的代码可以正常运行,除非不能正常运行。

    Fitting 10 folds for each of 36 candidates,totalling 360 fits
    [CV] clf__C=0.0001,clf__kernel=rbf,reduce_dims__n_components=4 .....
    [Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-50-c52ff4770002> in <module>()
          1 grid = GridSearchCV(clf,param_grid=param_grid,cv=10,n_jobs=1,verbose=2,scoring= 'accuracy')
    ----> 2 grid.fit(X,y)
          3 print(grid.best_score_)
          4 print(grid.cv_results_)
    
    13 frames
    /usr/local/lib/python3.6/dist-packages/sklearn/base.py in set_params(self,**params)
        234                                  'Check the list of available parameters '
        235                                  'with `estimator.get_params().keys()`.' %
    --> 236                                  (key,self))
        237 
        238             if delim:
    
    ValueError: Invalid parameter clf for estimator Pipeline(memory=None,steps=[('preprocessor',ColumnTransformer(n_jobs=None,remainder='drop',sparse_threshold=0.3,transformer_weights=None,transformers=[('num',Pipeline(memory=None,steps=[('scale',StandardScaler(copy=True,with_mean=True,with_std=True)),('reduce_dims',PCA(copy=True,iterated_power='auto',n_components=4,random_state=None,svd_solver='aut...
                                                      Pipeline(memory=None,steps=[('onehot',OneHotEncoder(categories='auto',drop=None,dtype=<class 'numpy.float64'>,handle_unknown='ignore',sparse=True))],verbose=False),['Method','Regionname','Type'])],verbose=False)),('SVR',SVR(C=1.0,cache_size=200,coef0=0.0,degree=3,epsilon=0.1,gamma='scale',kernel='rbf',max_iter=-1,shrinking=True,tol=0.001,verbose=False))],verbose=False). Check the list of available parameters with `estimator.get_params().keys()`.

我已经尝试了sklearn网站上的用户指南,但是无论我多么努力,它仍然会弹出与上面显示的相同的错误。

X = Melbourne_housing[['Bathroom','Method','Rooms','Type']]
y = Melbourne_housing[['Price']]
from sklearn.decomposition import PCA
from sklearn import svm,datasets
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
numeric_features = ['Bathroom','Price']
numeric_transformer  = Pipeline(steps=[
        ('scale',StandardScaler()),PCA(n_components=4))     
])
categorical_features = ['Method','Type']
categorical_transformer = Pipeline(steps=[
    ('onehot',OneHotEncoder(handle_unknown='ignore'))])
param_grid = dict(reduce_dims__n_components=[4,6,8],clf__C=np.logspace(-4,1,6),clf__kernel=['rbf','linear'])
preprocessor = ColumnTransformer(
    transformers=[
        ('num',numeric_transformer,numeric_features),('cat',categorical_transformer,categorical_features)])
# Append classifier to preprocessing pipeline.
# Now we have a full prediction pipeline.
clf = Pipeline(steps=[('preprocessor',preprocessor),SVR())])

grid = GridSearchCV(clf,scoring= 'accuracy')
grid.fit(X,y)
print(grid.best_score_)
print(grid.cv_results_)

我个人是python和机器学习的新手(仅几个月的经验),所以我真的需要您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...