PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-1

简介: PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享

原文链接:http://tecdat.cn/?p=26219 

银行数据集

我们的数据集描述

该数据查看文末了解数据获取方式与银行机构的直接营销活动相关,营销活动基于电话。通常,需要与同一客户的多个联系人联系,以便访问产品(银行定期存款)是否会(“是”)或不会(“否”)订阅。

y - 客户是否订阅了定期存款?(二进制:'是','否')

我们的目标是选择最好的回归模型来让客户订阅或不订阅定期存款。我们将使用如下算法:

  • 线性回归
  • 随机森林回归
  • KNN近邻
  • 决策树
  • 高斯朴素贝叶斯
  • 支持向量机

选择最佳模型的决定将基于:

  • 准确性
  • 过采样

数据准备

在本节中,我们加载数据。我们的数据有 45211 个变量。

输入变量:

银行客户数据

1 - 年龄(数字)

2 - 工作:工作类型(分类:'行政'、'蓝领'、'企业家'、'女佣'、'管理'、'退休'、'自雇'、'服务'、'学生'、'技术员'、'失业'、'未知')

3 - 婚姻:婚姻状况(分类:'离婚'、'已婚'、'单身'、'不详';注:'离婚'指离婚或丧偶)。

4 - 教育(分类:'基础4年'、'基础6年'、'基础9年'、'高中'、'文盲'、'专业课程'、'大学学位'、'未知')

5 - 违约:是否有违约的信贷?(分类: '没有', '有', '未知')

6-住房:是否有住房贷款?(分类: '否', '是', '未知')

7 - 贷款:有个人贷款吗?

8 - contact: 联系通信类型(分类:'手机', '电话')。

9 - 月:最后一次联系的年份月份(分类:'一月', '二月', '三月', ..., '十一月', '十二月')

10 - day\_of\_week:最后一次联系的星期(分类:'mon', 'tue', 'wed', 'thu', 'fri')

11 - 持续时间:最后一次联系的持续时间,以秒为单位(数字)。

12 - 活动:在这个活动期间为这个客户进行的接触次数(数字,包括最后一次接触)。

13 - pdays: 在上次活动中最后一次与客户联系后的天数(数字,999表示之前没有与客户联系)。

14 - 以前:在这次活动之前,为这个客户进行的接触次数(数字)。

15 - 结果:上次营销活动的结果(分类:"失败"、"不存在"、"成功")。

社会和经济背景属性

16 - emp.var.rate:就业变化率--季度指标(数值)。

17 - cons.price.idx:消费者价格指数--月度指标(数值)。

18 - cons.conf.idx:消费者信心指数--月度指标(数字)。

19 - euribor3m:银行3个月利率--每日指标(数值)

20 - nr.employed: 雇员人数 - 季度指标(数字)

输出变量(所需目标):

  • y -  客户是否认购了定期存款?(二进制: '是', '否')
data.head(5)

image.png

我们的下一步是查看变量的形式以及是否存在缺失值的问题。

df1 = data.dtypes
df1

image.png

df2 = data.isnull().sum() 
df2

image.png

我们的下一步是计算所有变量的值。

data\['y'\].value_counts()

image.png

data\['job'\].value_counts()

image.png

data\['marital'\].value_counts()

image.png

data\['education'\].value_counts()

image.png

data\['housing'\].value_counts()

image.png

data\['loan'\].value_counts()

image.png

data\['contact'\].value_counts()

image.png

data\['month'\].value_counts()

image.png

data\['poutcome'\].value_counts()

image.png

描述性统计

数值总结

data.head(5)

image.png

改变因变量 y 的值。代替 no - 0 和代替 yes - 1。

data\['y'\] = data\['y'\].map({'no': 0, 'yes': 1})
data.columns

image.png

对于我们的每个变量,我们绘制一个箱线图来查看是否有任何可见的异常值。

plt.figure(figsize=\[10,25\])
ax = plt.subplot(611)
sns.boxplot(data\['age'\],orient="v")

image.png

image.png

我们可以看到许多可见的异常值,尤其是在 balance 、 campaign 、 pdays 的情况下。在 pdays ,我们可以看到很多变量都在分位数范围之外。这个变量是一个特例,它被解码为 -1,这就是我们的图看起来像这样的原因。在表示变量之前的箱线图的情况下,它表示在此活动之前执行的联系数量,在这种情况下,我们还可以注意到许多超出分位数范围的值。

直方图

我们的下一步是查看连续变量的分布和直方图

我们可以看到没有一个变量具有正态分布。

plt.figure(figsize=\[10,20\])
plt.subplot(611)
g = sns.distplot(data\["age"\], color="r")

image.png

image.png

image.png

我们的下一步是查看因变量 y 与每个变量或连续变量之间的关系。

g = sns.FacetGrid(data, col='y',size=4)
g.map

image.png

image.png

image.png

从这些变量中我们可以得到的最有趣的观察是,大多数说不的人年龄在20-40岁之间,在月底的第20天,大多数人也拒绝了这个提议。


PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2

https://developer.aliyun.com/article/1489341

相关文章
|
2月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
88 4
|
3月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
56 0
|
4月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
90 2
|
4月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
4月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
5月前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
82 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
6月前
|
数据采集 存储 数据可视化
【python】python天气气候数据抓取分析可视化(源码+数据+可视化+报告)【独一无二】
【python】python天气气候数据抓取分析可视化(源码+数据+可视化+报告)【独一无二】
359 2
|
6月前
|
数据采集 存储 数据可视化
【python】python汽车之家数据抓取分析可视化(代码+报告+数据)【独一无二】
【python】python汽车之家数据抓取分析可视化(代码+报告+数据)【独一无二】
162 2
|
6月前
|
数据采集 数据挖掘 Python
python爬虫去哪儿网上爬取旅游景点14万条,可以做大数据分析的数据基础
本文介绍了使用Python编写的爬虫程序,成功从去哪儿网上爬取了14万条旅游景点信息,为大数据分析提供了数据基础。
399 1
|
6月前
|
机器学习/深度学习 运维 算法
深入探索机器学习中的支持向量机(SVM)算法:原理、应用与Python代码示例全面解析
【8月更文挑战第6天】在机器学习领域,支持向量机(SVM)犹如璀璨明珠。它是一种强大的监督学习算法,在分类、回归及异常检测中表现出色。SVM通过在高维空间寻找最大间隔超平面来分隔不同类别的数据,提升模型泛化能力。为处理非线性问题,引入了核函数将数据映射到高维空间。SVM在文本分类、图像识别等多个领域有广泛应用,展现出高度灵活性和适应性。
269 2

热门文章

最新文章

推荐镜像

更多