决策树
是通过对一系列问题进行ifelse的推导,最终实现决策。
max_depth参数:决策树的深度,也就是ifelse的问题层数
由于决策树算法对每个样本特征进行单独处理,因此不需要对数据进行转换
- 优点:如果使用决策树算法,几乎不需要对数据进行预处理
- 缺点:即使我们在建模的时候可以使用类似max_depth或者max_leaf_nodes等参数来对决策树进行预剪枝处理,但它还是不可避免的出现过拟合的问题,也就是让模型的泛化性能大打折扣了。
为了避免过拟合的问题出现,可以使用集合学习的方法,也就是随机森林方法
随机森林:
随机森林有时候也被称为随机决策森林,是一种集合学习算法(把多个机器学习算法综合在一起,制造出一个更加大的模型),既可以用来分类,也可以用于回归。
随机森林是把不同的几颗决策树打包在一起,每棵树的参数都不相同,**然后我们把每棵树预测的结果取平均值,**这样既可以保留决策树们的工作成效,又可以降低过拟合的风险。
参数:
- bootstrap参数:bootstrap sample 有放回抽样
- 随机森林支持多进程并行处理:调节n_jobs参数
把n_jobs参数数值设置为和CPU内核数一致
如果不清楚CPU到底有多少内核,可以设置为n_jobs=-1,这样随机森林会使用CPU的全部内核,速度就会极大的提升。 - 因为随机森林生成每颗决策树的方法是随机的,那么不同的random_state参数会导致模型完全不同,所以如果不希望建模的结果太过于不稳定,一定要固化random_state参数