2017-01-14 71 views
0

我想要显示GridSearchCV的结果(即mean scoreparams)。可视化GridSearchCV的结果[sklearn]

我已经找到了解决方案,如果你有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)) 

回答

0

你的结果保存到数据帧,然后用大熊猫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']) 
+0

这是一个不错的主意,我已经绘就:https://s29.postimg.org/v6y1gatrb/scatterplot.png 但我认为,这真的很难阅读。特别是因为也有无用的信息。例如,比较两个参数始终是一个网格(这就是GridSearchCV的本质)。任何想法来改善这一点? – ScientiaEtVeritas

+0

根据绘图,当k_best高(1000)和最大特征(1200)时,您可以获得更高的准确性,但是您也必须查看最低限度。你在GridSearch中使用不同的种子?在剧情中展示他们是一个好主意,看看模型如何适应不同的分割 – klubow

相关问题