IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器--集成学习算法 -> 正文阅读

[人工智能]机器--集成学习算法

集成学习算法类型

Bagging 随机森林

若干个弱学习器并行跑, 解决相同的问题, 最后大家投票

  • 特征抽样
  • 样本抽样

Boosting串行模型

  • Adaboost /GBDT/ xgboost lightGMB

  • 一步一步逼近最终改的目标

  • 训练出一个模型, 比较一下和最终目标之间的差别

  • 第二个模型, 实在第一个模型基础之上, 朝着差别去训练

Stacking 串行 模型

  • gbdt 特征筛选
  • LR 预测概率

集成学习模型的特点

  • 都可以输出特征重要性 feature_importance
  • 在特征筛选的时候, 可以使用集成学习模型的这个特点

随机森林API实现

基本原理: 若干个弱学习器并行执行相同的任务

  • boostrap 采样, 特征随机抽取, 样本随机抽取, 建立N棵树
from sklearn.ensemble import RandomForestClassifier


#参数调整

param={"n_estimators":[80,100,200], "max_depth": [2,4,6,8,10,12],"random_state":[9]}
# 超参数调优
# 3 使用GridSearchCV进行网格搜索
from sklearn.model_selection import GridSearchCV
gc = GridSearchCV(rf, param_grid=param, cv=2)

n_estimators  森林里有几棵树
max_depth 每一颗树的最大深度
max_features  特征最大采样比例

作为集成学习模型, 随机森林可以输出特征重要性

  • rfc.feature_importances_
  • 从模型本身角度来讲, 集成学习模型可解释性, 总体可解释性没有问题, 但是对单条数据来说, 可是解释性不如线性模型(逻辑回归, 线性回归), 或者决策树

BoostingAPI实现

Adaboost迭代算法有3步:

1.初始化训练数据的权值分布:假设有N个样本,每个样本赋予相同权值1/N。

2.训练弱分类器:本轮训练中,若某样本分错,则提高它的权值,相反分类正确的样本被降低权值。然后,权值更新过的全体样本被用于训练下一个分类器,使得下一个分类器更关注权重大的难分样本。多次迭代,训练多个弱分类器。

3.加权组合弱分类器:加大分类误差率小的弱分类器的权重,使其在最终表决中起较大作用,而降低分类误差率大的弱分类器的权重,使其在最终表决中起较小作用

from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier 
# 机器学习(决策树和AdaBoost)   基分类器 
tree = DecisionTreeClassifier(criterion='entropy',max_depth=1,random_state=0)
# base_estimator 基学习器 这里用到的是决策树  n_estimators 多少颗树 
ada= AdaBoostClassifier(base_estimator=tree,n_estimators=500,learning_rate=0.1,random_state=0)

GBDT原理

  • 前一个模型预测出的结果, 计算误差作为后一个模型数据
  • GBDT→XGBoost→LightGBM
    • 基本原理都是一样的
    • 只不过在训练的过程中, 有了不同的优化

集成学习的重点

  • Baggging 和boosting 原理
  • 各自对应的算法
  • 特征重要性
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:05:19  更:2021-08-29 09:08:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:56:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码