【菜菜的sklearn机器学习】(4)随机森林

具体的在Jupyter 里

课程学习:2 1. 集成算法概述_trim_哔哩哔哩_bilibili

课程 4-随机森林

1、集成算法

随机森林是一种集成算法。集成学习ensemble learning 不是一个单独的ML算法,而是通过在数据集上构成多个模型,集成所有模型的建模结果。随机森林、梯度提升数GBDT、Xgboost等集成算法应用较广。

目标:集成算法会考虑多个评估器的建模结果,++++汇总之后得到一个综合的结果,++++以此来获取比单个模型更好的回归或分类表现。

三类集成算法:袋装法bagging、提升法boosting和stacking

Singel单个模型;

bagging里面模型独立:装袋法的核心思想是++++构建多个相互独立的评估器++++ ,然后对其预测进行平均或多数表决原则来决定集成评估器的果。++++装袋法的代表模型就是随机森林。++++

boosting里面模型相关:提升法中,基评估器是相关的,是按顺序一一构建的。其核心思想是++++结合弱评估器的力量一次次对难以评估的进行预测,从而构成一个强评估器。++++ 提升法的代表模型有++++Adaboost++++ 和++++梯度提升树++++。

复习:sklearn中的决策树

决策树的主要功能是从一张有特征和标签的表格中,通过对特定特征进行提问,为我们总结出一系列的决策规则,并用树状图来呈现这些决策规则。

核心问题:

1如何找出正确的特征来进行提问,即分支节点-如何分支;

计算全部特征的不纯度指标=>选取不纯度指标最优的特征来分支=>第一个特征的分枝下,再计算all......

2树生长到什么时候应该停下

决策树追求不纯度小

2、RandomForestClassifier

参数:criterion、max_depth、min_samples_leaf、min_samples_split、max_features、min_impurity_decrease

(1)n_estimators越大效果越好

决策树也有决策边界,精确性不会再上升

Sklearn中的基本建模流程:

实例化

训练集带入实例化后的模型去进行训练,使用的接口是fit

使用其他接口讲测试集导入我妹训练好的模型,去获取我们希望获取的结果(score,Y_test)

sklearn中所有特征和标签是分开导入的

Score反应模型精确性(accuracy)

++++随机森林的效果是远远好于决策树的++++

(2)random_state

随机森林的本质是一种装袋集成算法Bagging

集成算法中多棵树的效果好于单科树

随机森林中的random_state生成一片固定的森林而非一棵树,生成的是固定模式,中间的每

(3)bootstrap&oob_score,默认true代表采用这种有放回的随机抽样技术,通常不会被设置为false

可能存在的问题:有些样本可能在同一个自助集中出现多次,而其他一些却可能被忽略

(4)重要属性和接口

.estimators_查看森林中所有树的样子

.oob_score_训练得分

接口用于调用输入数据集之后的结果,也可以用于训练apply、fit、predict、score

标签有几个分类,就会返回几个概率

(5)选Bonus:Badding的另一个必要条件

3、RandomForestRegressor

随机森林回归:通常使用mse

回归树的接口score返回的是R平方(1到负无穷),并不是MSE

交叉验证 cross_val_score(regressor, 完整原始数据,完整标签,交叉验证次数)

随机森林案例

用于填补缺失值

x_missing_mean.isnull() # 报错,因为x_missing_mean是一个Numpy结构的array,而isnull()只能在表dataframe中使用

相关推荐
ss2733 小时前
AI全栈实战 | 3.3-01 Python OOP:__init__ 真的是构造函数吗,元类怎么让 Django Model 变魔法
开发语言·python·django
FYKJ_20103 小时前
springboot心理健康管理系统86254-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
海绵宝宝转agent11 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭11 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
小小龙学IT12 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
2601_9620715712 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
卷无止境13 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
Java后端的Ai之路13 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
计算机毕业编程指导师13 小时前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师13 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论