Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 是否可以从sklearn使用gridsearchCV和make_管道执行超参数优化_Python 3.x_Pandas_Machine Learning_Scikit Learn_Gridsearchcv - Fatal编程技术网

Python 3.x 是否可以从sklearn使用gridsearchCV和make_管道执行超参数优化

Python 3.x 是否可以从sklearn使用gridsearchCV和make_管道执行超参数优化,python-3.x,pandas,machine-learning,scikit-learn,gridsearchcv,Python 3.x,Pandas,Machine Learning,Scikit Learn,Gridsearchcv,目前,我可以通过使用make\u column\u transformer和make\u pipeline构建一个模型,看起来像: from sklearn.compose import make_column_transformer from sklearn.model_selection import cross_val_score from sklearn.preprocessing import OneHotEncoder from sklearn.tree import Decisio

目前,我可以通过使用
make\u column\u transformer
make\u pipeline
构建一个模型,看起来像:

from sklearn.compose import make_column_transformer
from sklearn.model_selection import cross_val_score
from sklearn.preprocessing import OneHotEncoder
from sklearn.tree import DecisionTreeClassifier
from sklearn.pipeline import make_pipeline

[in]: dtc = DecisionTreeClassifier()

[in]: column_trans = make_column_transformer(
    (OneHotEncoder(handle_unknown='ignore'), ['var1', 'var2',
                                              'var3', 'var4', 'var5', 'var6'
                                              ]),
    remainder='passthrough')

[in]: column_trans.fit_transform(X)

[in] pipe = make_pipeline(column_trans, dtc)

[in]: cross_val_score(pipe, X_train, y_train, cv=5, scoring='accuracy').mean()

[out]: ... prediction

我已经阅读了文档,似乎找不到任何有助于将流程简化为gridsearchCV的内容。下面是一个关于scikit的示例,了解gridsearchCV在管道中的使用位置:

您提到的
make_pipeline
方法是“pipeline构造函数的缩写”(),它只返回pipeline对象。因此,在最后,直接使用管道构造函数将导致相同的结果,您可以使用他们的示例来确定自己的方向

我假设,您希望在调用
cross\u val\u score()
方法之前执行
GridSearchCV
,以确定最佳参数

因此,您可以对代码进行类似的调整:

search = GridSearchCV(pipe, your_param_grid)
search.fit(X_train, y_train)
print(search.best_params_)