gridsearchcv参数_百闻不如一练:可视化调试模型超参数

本文通过实例展示了如何使用GridSearchCV进行模型超参数调优,特别是在随机森林模型上的应用。通过3D Scatter图可视化了超参数n_estimators、max_features和min_samples_split与模型分数的关系,揭示了超参数对模型性能的影响。此外,还提到了使用seaborn的heatmap方法来展示两个超参数之间的关系。
摘要由CSDN通过智能技术生成

以下使用scikit-learn中数据集进行分享。

如果选用随机森林作为最终的模型,那么找出它的最佳参数可能有1000多种组合的可能,你可以使用使用穷尽的网格搜索(Exhaustive Grid Seaarch)方法,但时间成本将会很高(运行很久...),或者使用随机搜索(Randomized Search)方法,仅分析超参数集合中的子集合。

该例子以手写数据集为例,使用支持向量机的方法对数据进行建模,然后调用scikit-learn中validation_surve方法将模型交叉验证的结果进行可视化。需要注意的是,在使用validation_curve方法时,只能验证一个超参数与模型训练集和验证集得分的关系(即二维的可视化),而不能实现多参数与得分间关系的可视化。以下搜索的参数是gamma,需要给定参数范围,用param_range进行传递,评分策略用scoring参数进行传递。其代码示例如下所示:

print(__doc__)​import matplotlib.pyplot as pltimport numpy as np​from sklearn.datasets import load_digitsfrom sklearn.svm import SVCfrom sklearn.model_selection import validation_curve​X, y = load_digits(return_X_y=True)​param_range = np.logspace(-6, -1, 5)train_scores, test_scores = validation_curve(    SVC(), X, y, param_name="gamma", param_range=param_range,    scoring="accuracy", n_jobs=1)train_scores_mean = np.mean(train_scores, axis=1)train_scores_std = np.std(train_scores, axis=1)test_scores_mean = np.mean(test_scores, axis=1)test_scores_std = np.std(test_scores, axis=1)​plt.title("Validation Curve with SVM")plt.xlabel(r"$gamma$")plt.ylabel("Score")plt.ylim(0.0, 1.1)lw = 2plt.semilogx(param_range, train_scores_m
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值