随机森林-----集成算法之一,分类,回归和特征选择
算法步骤:
1.用有抽样放回的方法(bootstrap)从样本集中选取n个样本作为一个训练集
2.用抽样得到的样本集生成一棵决策树。在生成的每一个结点:
1.随机不重复地选择d个特征
2.利用这d个特征分别对样本集进行划分,找到最佳的划分特征(可用基尼系数、增益率或者信息增益判别)
3.重复步骤1到步骤2共k次,k即为随机森林中决策树的个数。
4.用训练得到的随机森林对测试样本进行预测,并用票选法决定预测的结果。
优点:
1) 每棵树都选择部分样本及部分特征,一定程度避免过拟合;
2) 每棵树随机选择样本并随机选择特征,使得具有很好的抗噪能力,性能稳定;
3) 能处理很高维度的数据,并且不用做特征选择;
4) 适合并行计算;
5) 实现比较简单;
6) 对部分特征缺失不敏感。
缺点:
1) 参数较复杂;
2) 模型训练和预测都比较慢;
在 sklearn中,随机森林的函数模型是:
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
算法步骤:
1.用有抽样放回的方法(bootstrap)从样本集中选取n个样本作为一个训练集
2.用抽样得到的样本集生成一棵决策树。在生成的每一个结点:
1.随机不重复地选择d个特征
2.利用这d个特征分别对样本集进行划分,找到最佳的划分特征(可用基尼系数、增益率或者信息增益判别)
3.重复步骤1到步骤2共k次,k即为随机森林中决策树的个数。
4.用训练得到的随机森林对测试样本进行预测,并用票选法决定预测的结果。
优点:
1) 每棵树都选择部分样本及部分特征,一定程度避免过拟合;
2) 每棵树随机选择样本并随机选择特征,使得具有很好的抗噪能力,性能稳定;
3) 能处理很高维度的数据,并且不用做特征选择;
4) 适合并行计算;
5) 实现比较简单;
6) 对部分特征缺失不敏感。
缺点:
1) 参数较复杂;
2) 模型训练和预测都比较慢;
在 sklearn中,随机森林的函数模型是:
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',