【问题标题】:Visualize the Results of GridSearchCV [sklearn]可视化 GridSearchCV [sklearn] 的结果
【发布时间】:2017-05-29 15:21:49
【问题描述】:

我想可视化GridSearchCV 的结果(即mean scoreparams)。

如果您有 2 个参数需要调整,我已经找到了解决方案: http://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html

但是我的问题是我目前有3个参数,所以这种可视化是行不通的。有人知道如何将其可视化吗?不管有多少参数,有没有一种很好的可视化方法? (1,2,3,4个参数...)

目前我只是打印这样的结果:

for mean, params in zip(grid.cv_results_['mean_test_score'], grid.cv_results_['params']):
      print("%0.3f for %r" % (mean, params))

【问题讨论】:

    标签: python matplotlib machine-learning scikit-learn


    【解决方案1】:

    将结果保存到数据框,然后使用 pandas scatter_matrix(或 matplotlib 中的类似内容)对其进行可视化。

    您可以将颜色或/和大小应用于您的目标函数。

    下面不完全是工作示例,但一些代码可以给出一个想法:

    cmb['rgb'] = scale(cmb[msr_col], 1, 0.25)      
    cmb['size'] = scale( (cmb[msr_col] * cmb[msr_col]), 100, 1000)
    df = pd.concat([cmb.seed, cmb.bk_val_profit_brutto_prc, cmb.bk_val_profit_brutto, cmb.recall_pos_val, cmb.target_col, cmb.return_over, cmb.max_depth_], axis=1)
    ms = scatter_matrix(df, alpha=0.50, figsize=figsize_, diagonal='hist', c=cmb['rgb'], s=cmb['size'])
    

    【讨论】:

    • 这是个好主意,我已经绘制出来了:s29.postimg.org/v6y1gatrb/scatterplot.png 但我认为它真的很难阅读。特别是因为也有无用的信息。例如,比较两个参数始终是一个网格(这是 GridSearchCV 的本质)。有什么改进的办法吗?
    • 根据绘图,当 k_best 高(1000)和最大特征(1200)时,您可以获得更高的准确度,但您也必须查看您的最小值。您为 GridSearch 使用不同的种子?最好将它们显示在图上,以了解模型在不同拆分下的表现
    猜你喜欢
    • 2021-05-30
    • 2020-06-18
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2022-11-30
    • 2015-06-28
    相关资源
    最近更新 更多