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_)