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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> AdaBoost模型及案例(Python) -> 正文阅读

[人工智能]AdaBoost模型及案例(Python)

目录

1 Adaboost算法核心思想

2 Adaboost算法数学原理

3?使用sklearn实现Adaboost算法

4?案例:信用卡精准营销模型

4.1?模型搭建

4.1.1?读取数据

4.1.2?提取特征变量与目标变量

4.1.3?划分训练集和测试集

4.1.4?模型训练

4.2?模型预测及评估

参考书籍


1 Adaboost算法核心思想

AdaBoost算法(Adaptive Boosting)是一种有效而实用的Boosting算法,它以一种高度自适应的方式按顺序训练弱学习器。

针对分类问题,AdaBoost算法根据前一次的分类效果调整数据的权重,在上一个弱学习器中分类错误的样本的权重会在下一个弱学习器中增加,分类正确的样本的权重则相应减少,并且在每一轮迭代时会向模型加入一个新的弱学习器。不断重复调整权重和训练弱学习器,直到误分类数低于预设值或迭代次数达到指定最大值,最终得到一个强学习器。

简单来说,AdaBoost算法的核心思想就是调整错误样本的权重,进而迭代升级。

可以借助下图来理解调整权重的概念:在步骤1中先对数据进行分类,此时将小三角形错误地划分到了圆形类别中;在步骤2中调整分类错误的小三角形的权重,使它变成一个大三角形,这样它和三角形类型的数据就更加接近了,在重新分类时,它就能被准确地划分到三角形类别中。

如下图所示为更复杂的AdaBoost算法示例,其核心思想和上图一致。预先设置AdaBoost算法在误分类数为0(即误差率为0)时终止迭代,误差率等于分类错误的样本的权重之和,例如,对于9个样本,每个样本的权重为1/9,若有2个样本分类错误,那么此时的误差率为1/9+1/9=2/9。

AdaBoost分类算法的流程图如下图所示。

2 Adaboost算法数学原理

Python大数据分析与机器学习商业案例实战-王宇韬 钱妍竹-微信读书

3?使用sklearn实现Adaboost算法

AdaBoost算法既能做分类分析,也能做回归分析,对应的模型分别为AdaBoost分类模型(AdaBoostClassifier)和AdaBoost回归模型(AdaBoostRegressor)。

AdaBoost分类模型的弱学习器是分类决策树模型,AdaBoost回归模型的弱学习器则是回归决策树模型。

使用sklearn的基本代码如下。

from sklearn.ensemble import AdaBoostClassifier
X = [[1,2],[3,4],[5,6],[7,8],[9,10]]
y = [0,0,0,1,1]
model = AdaBoostClassifier(random_state=123)
model.fit(X,y)
model.predict([[5,5]])

# 输出
# array([0])

4?案例:信用卡精准营销模型

4.1?模型搭建

4.1.1?读取数据

通过如下代码读取1000条信用卡营销的客户数据,特征变量有客户的年龄、性别、月收入、月消费及月消费与月收入之比,目标变量是精准营销后客户是否响应(即客户在营销后是否办了信用卡),取值为1代表营销有效,取值为0代表营销失败。其中有400个客户响应,600个客户没有响应。

这里只是简单使用,只选取了5个特征变量,在商业实战中用到的特征变量会变得更多。

4.1.2?提取特征变量与目标变量

4.1.3?划分训练集和测试集

4.1.4?模型训练

4.2?模型预测及评估

得到预测结果:y_pred是一个一维的数组。

对比预测值与实际值:

可以看到,前5行数据的预测准确度为100%。

通过如下代码可以查看所有测试集数据的预测准确度:

计算得到的score为0.85,也就是说,模型的预测准确度达85%。

AdaBoost分类模型的弱学习器分类决策树模型在本质上预测的并不是准确的0或1的分类,而是预测属于某一分类的概率,通过如下代码可以查看预测属于各个分类的概率。

表示为DataFrame展示:

绘制ROC曲线来评估模型的预测效果,代码如下。

通过如下代码计算模型的AUC值。

计算得到的AUC值为0.9559,说明预测效果很好。

为了更好地对客户进行精准营销,可以通过计算各个特征变量的特征重要性来筛选出精准营销中最重要的特征变量,代码如下。

可以看到,特征重要性最高的特征变量是“月消费”,其次是“月消费/月收入”和“月收入”,“年龄”和“性别”的特征重要性排在最后。

AdaBoost分类模型的一些参数:

参考书籍

《Python大数据分析与机器学习商业案例实战》

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

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