两年前的我周末应该是在安逸地玩手机、看电视或出去玩,两年后的我不知被哪阵邪风侵入,总之现在每天以工作为乐,家里书房成了我的长期据点。现在的状态是没人逼我,不写代码不高兴。我想python的可爱语法是一个方面,另一个方面该不会是中危了?总之每天和时间赛跑的感觉……
今天学习简单而强大的随机森林:
-
随机森林
可以看做是 ensemble of decision trees, 将弱的模型结合在一起变成强模型。更易扩展, 且较少会 overfitting。
构造步骤如下:
1. draw a random bootstrap sample of size n (with replacement)
2. grow decision tree from bootstrap sample, at each node:
3. randomly select d features without replacement
4. split node using feature that provides best split
5. repeat 1 & 2 k times.
6. aggregate the prediction by each tree to assign the class label by majority vote
划重点:抽样随机和选择特征随机。
-
集成学习
就是将多个不同的分类器集合组合为一个大的分类器, 选择最终结果是以 majority voting为准。即使每个单独的分类器错误率较高, 但将多个分类器组合之后, 错误率就会大大降低。
假设我们组合了 n 个分类器,它们的错误率都为 εε , 各个分类器之间独立。
则这 n 个分类器里, 多于 k 个分类器分类错误的概率为:
-
Majority vote分类器
-
使用Sklearn自带的VotingClassifier
下周学习如何评估majority voting的性能,敬请期待:)