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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 集成学习方法 -> 正文阅读

[人工智能]集成学习方法

投票法

基本思路

回归模型:投票法最终的预测结果是多个其他回归模型预测结果的平均值

分类模型:硬投票法的预测结果是多个模型预测结果中出现次数最多的类别,软投票对各类预测结果的概率进行求和,最终选取概率之和最大的类标签

原理分析

在理想情况下,投票法的预测效果应当优于任何一个基模型的预测效果。

基模型要满足的条件:

  • 基模型之间的效果不能差别过大。当某个基模型相对于其他基模型效果过差时,该模型很可能成为噪声。
  • 基模型之间应该有较小的同质性。例如在基模型预测效果近似的情况下,基于树模型与线性模型的投票,往往优于两个树模型或两个线性模型。

局限性:对所有模型的处理都是一样的

sklearn应用

VotingRegressorVotingClassifier

bagging

基本思路

通过不同的采样增加模型的差异性,保证基模型可以服从一定的假设

原理分析

核心:bootstrap自助采样——有放回的从数据集中进行采样

Bagging方法之所以有效,是因为每个模型都是在略微不同的训练数据集上拟合完成的,这又使得每个基模型之间存在略微的差异,使每个基模型拥有略微不同的训练能力。

sklearn应用

BaggingRegressorBaggingClassifier

默认基模型是树模型——决策树模型

信息熵:衡量信息的不确定性的程度
H ( Y ) = ? ∑ p i l o g p i H(Y) = -\sum{p_ilogp_i} H(Y)=?pi?logpi?
条件熵:
H ( Y ∣ X ) = ? ∑ x ∈ X p ( X = x ) H ( Y ∣ X = x ) H(Y|X) = -\sum_{x\in X}p(X=x){H(Y|X=x)} H(YX)=?xX?p(X=x)H(YX=x)
信息增益:信息熵与条件熵的差值
I G = H ( Y ) ? H ( Y ∣ X ) IG = H(Y) - H(Y|X) IG=H(Y)?H(YX)
信息增益IG越大,说明使用该特征划分数据所获得的信息量变化越大,子节点的样本“纯度”越高

随机森林

用于每个决策树训练的样本和构建决策树的特征都是通过随机采样得到的,随机森林的预测结果是多个决策树输出的组合(投票)

作业

1.什么是bootstraps?

在现实问题中,对总体进行多次抽样常常是不方便的甚至是无法实施的,所以就只进行一次抽样得到一个样本,再在这个样本中进行多次有放回地抽样,得到多个“样本的样本”,这样通过统计这些小样本的分布,就能得到总体的估计量(例如方差、标准差等)。

2.bootstraps和bagging的联系

bootstraps是自助采样方法,bagging也叫自助聚合,是采用自助采样方法让学习算法训练多轮,最终的预测结果对于分类问题采用投票方式,对于回归问题采用取平均的方式

3.什么是bagging?

是分别训练几个不同的模型,然后让所有模型表决测试样例的输出,首先使用Bootstrap产生不同的训练数据集,然后再分别基于这些训练数据集得到多个基础分类器,最后通过对基础分类器的分类结果进行组合得到一个相对更优的预测模型。

4.使用bagging与基本分类模型做对比,观察bagging是否相对于基础模型的精度有提高

基本分类模型——决策树

from sklearn.tree import DecisionTreeRegressor
model_1 = DecisionTreeRegressor(max_depth=4)
model_1.fit(X,y)
print("Accuracy:%.3f" % model_1.score(X,y))
Accuracy:0.536

使用bagging

from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import RepeatedStratifiedKFold
from sklearn.ensemble import BaggingClassifier
# define dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=5)
# define the model
model = BaggingClassifier()
# evaluate the model
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring='accuracy', cv=cv, n_jobs=-1, error_score='raise')
# report performance
print('Accuracy: %.3f (%.3f)' % (np.mean(n_scores))
Accuracy: 0.859

可见使用bagging可是相对于基础模型的精度有所提高

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:47:03  更:2021-07-23 10:47:29 
 
开发: 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年3日历 -2024/3/29 8:34:05-

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