随机森林 Random Forest

简介: 随机森林 Random Forest

正文


随机森林是由决策树通过Bagging策略训练而成的,即:

Bagging+DecisionTree=RandomForest

随机森林的算法执行过程:

设有训练数据集S={(x1,y1),(x2,y2),...,(xN,yN)}S={(x1,y1),(x2,y2),...,(xN,yN)}

其中xi∈X⊆Rnxi∈X⊆Rn

弱学习器迭代次数TT

输出强学习器F(x)

1、在第t,t=1,2,...,Tt,t=1,2,...,T次随机取样中,采NN次样,得到包含NN个样本的采样集DtDt

2、将采样集DtDt使用CART方法训练第tt个弱学习器Gt(x)Gt(x)

3、如果是分类算法预测,则<script type="math/tex" id="MathJax-Element-585">T</script>个弱学习器投出最多票数的类别或者类别之一为最终类别;如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终模型输出。

随机森林算法的优缺点:


优点:


训练可以高度并行化,对于大样本训练有速度优势;

由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的进行模型训练;

在训练后,可以给出各个特征对于输出的重要性;

由于采用了随机采样,训练出的模型的方差小,泛化能力强;

相对于Boosting系列的Adaboost和GBDT, RandomForest实现比较简单;

对部分特征缺失不敏感。


缺点:


在某些噪音比较大的样本集上,RF模型容易陷入过拟合;

取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果;

相对于基于决策树的Boosting的GBDT算法来说,想要达到一个比较好的效果,弱分类器的个数远高于GBDT,也就是说RandomForest模型在高维大数据集上训练出的模型太大。

相关文章
|
2月前
|
机器学习/深度学习 监控 数据可视化
训练损失图(Training Loss Plot)
训练损失图(Training Loss Plot)是一种在机器学习和深度学习过程中用来监控模型训练进度的可视化工具。损失函数是衡量模型预测结果与实际结果之间差距的指标,训练损失图展示了模型在训练过程中,损失值随着训练迭代次数的变化情况。通过观察损失值的变化,我们可以评估模型的拟合效果,调整超参数,以及确定合适的训练停止条件。
452 5
|
21天前
|
存储 算法 Serverless
Regression算法
Regression算法
33 2
|
20天前
|
机器学习/深度学习
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)(二)
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)(二)
|
20天前
|
机器学习/深度学习 数据采集 数据可视化
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)(一)
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)(一)
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)(一)
|
2月前
|
机器学习/深度学习 数据采集 算法
随机森林(Random Forest)
随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树并将它们的预测结果综合起来来提高模型的预测性能。随机森林是一种非常强大的机器学习算法,可以用于分类和回归问题。它具有较高的准确性和鲁棒性,能够处理大规模数据集和缺失数据,并且不容易过拟合。
64 2
|
机器学习/深度学习 数据采集 运维
Random Forest
首届世界科学智能大赛:生命科学赛道——生物学年龄评价与老年病风险预测
99 0
|
测试技术 计算机视觉
sklearn.model_selection.learning_curve介绍(评估多大的样本量用于训练才能达到最佳效果)
sklearn.model_selection.learning_curve介绍(评估多大的样本量用于训练才能达到最佳效果)
|
机器学习/深度学习 算法
线性回归(Linear regression)算法
属于有监督学习、判别模型、有预测函数、有优化目标,有优化求解算法
274 0
sklearn中的cross_val_score交叉验证
sklearn中的cross_val_score交叉验证
118 0
|
机器学习/深度学习 传感器 算法
【数据聚类】基于Baysian、KNN、3Layer Neural Network Classifier、KMeans多种算法实现数据聚类附matlab代码
【数据聚类】基于Baysian、KNN、3Layer Neural Network Classifier、KMeans多种算法实现数据聚类附matlab代码