应用学习曲线:
有一些参数是没有参照的,很难说清楚一个范围,这种情况下我们使用学习曲线,看趋势从曲线跑出的结果中选取一个更小的空间,再跑曲线。对于大型数据集。可以尝试从1000来构建,先输入1000,每100个叶子一个区间,再逐渐缩小范围。常使用学习曲线的有:n_estimators(想要知道趋势)、max_depth、max_leaf_nodes
param_grid = {'n_estimators':np.arange(0, 200, 10)}
param_grid = {'max_depth':np.arange(1, 20, 1)}
param_grid = {'max_leaf_nodes':np.arange(25,50,1)}
应用网格搜索:
有一些参数是可以找到一个范围的,或者说我们知道他们的取值和随着他们的取值,模型的整体的取值,模型的整体准确率会如何变化,这样的参数可以直接跑网格搜索。常使用网格搜索的有:criterion、min_samples_split、min_samples_leaf、max_features
param_grid = {'criterion':['gini', 'entropy']}
param_grid = {'min_samples_split':np.arange(2, 2+20, 1)}
param_grid = {'min_samples_leaf':np.arange(1, 1+10, 1)}
param_grid = {'max_features':np.arange(5,30,1)}