第三章 使用Pipeline和GridSearchCV来进行特征参数的筛选

当需要处理的数据的参数比较多的时候,而且要处理的流程比较复杂的时候,可以使用Pipeline和GridSearchCV组合起来进行参数的筛选。

假如要填充数据使用的是Imputer,它的策略参数可以为mean和median

当进行缩放的时候使用StandardScaler

使用KNN算法进行建模, 它的n_neighbors参数可以选择1到7

下面就是使用Pipeline和GridSearchCV进行组合来筛查那些参数组合比较好

knn_params = {'imputer__strategy':['mean', 'median'], 'classify__n_neighbors':[1, 2, 3, 4, 5, 6, 7]}
knn = KNeighborsClassifier()  
mean_impute_standardize = Pipeline([('imputer', Imputer()), ('standardize', StandardScaler()), ('classify', knn)])X = pima.drop('onset_diabetes', axis=1) #数据集X,可以自己构造y = pima['onset_diabetes'] #数据集的标签grid = GridSearchCV(mean_impute_standardize, knn_params)grid.fit(X, y)print (grid.best_score_, grid.best_params_)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GridSearchCVpipeline 可以联合使用进行模型的超参数调优。具体步骤如下: 1. 定义 pipeline,包括数据预处理、特征提取、模型训练等步骤。 2. 定义超参数的搜索空间,例如定义一个字典,包括要调整的超参数及其可能的值。 3. 使用 GridSearchCVpipeline 进行交叉验证,寻找最佳的超参数组合。可以设置 GridSearchCV参数,如 cv(交叉验证的折数)、scoring(评估指标)、n_jobs(并行运行的作业数)等。 4. 使用最佳的超参数组合,对整个数据集进行训练,并进行预测。 下面是一个示例代码: ```python from sklearn.pipeline import Pipeline from sklearn.model_selection import GridSearchCV from sklearn.tree import DecisionTreeClassifier from sklearn.preprocessing import StandardScaler # 定义 pipeline pipeline = Pipeline([ ('scaler', StandardScaler()), ('clf', DecisionTreeClassifier()) ]) # 定义超参数的搜索空间 param_grid = { 'clf__max_depth': [1, 2, 3, 4], 'clf__min_samples_split': [2, 3, 4], 'clf__min_samples_leaf': [1, 2, 3] } # 使用 GridSearchCVpipeline 进行交叉验证 grid_search = GridSearchCV(pipeline, param_grid=param_grid, cv=5, scoring='accuracy') grid_search.fit(X_train, y_train) # 输出最佳的超参数组合 print(grid_search.best_params_) # 使用最佳的超参数组合,对整个数据集进行训练,并进行预测 pipeline.set_params(**grid_search.best_params_) pipeline.fit(X_train, y_train) y_pred = pipeline.predict(X_test) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值