1.随机森林是什么?
集成多棵决策树的一种算法。
2.它的思想(baging思想)
将一个输入样本进行分类,将它输入到每棵树中进行分类。将产生的若干个分类结果进行投票选择,从而组成一个强分类器,得出结果
3. 随机和森林
3.1随机: (1)随机且有放回地从训练集中的抽取N个训练样本
(2)则在每个节点分裂的时候,从M中随机选择m个特征
3.2:森林:多棵树在一起就组成了森林
关键点处理
最关键的就在于每个节点分裂的时候,选择m个特征,m到底是多少呢?
评价标准:袋外错误率
随机森林的实现
python的scikit-learn库已经实现,但是自己造轮子也是可以的。里面有:
RF分类器(RandomForestClassifier):
RF回归器(RandomForestRegressor):
(* 两个函数的大多数参数是一样的*)
随机森林的实际应用
用随机森林回归树来添补缺失值。
对于一个有n个特征的数据来说,其中特征T有缺失值
没有缺失的部分,就是我们的ytrain,这部分数据既有标签也有特征,而它缺失的部分,只有特征没有标签,就是我们需要预测的部分,也就是我们的x_test.
其中当然有:xtrain是 特征T不缺失的值对应的其他 n-1个特征+本来的标签。
最终我们得到:y_est这样就可以实现缺失值的添补。
其中如果特征是非数值型的,就需要生成特征矩阵。建议可以采用one_hot编码。