一共有4万多条数据,来自著名的machine learning网站UCI,数据集名称是bank marketing,应该很好搜到
数据是这样的4个文件,分别是个人信息、营销信息、社会经济情况和最终结果,我把导入到SQLserver中

每个文件都有一个id变量,是每个银行用户独一无二的标识,我把它设置为了主键

接下来用Python连接SQLserver读取数据,代码如下

pip install pymssql
import pymssql
connect = pymssql.connect('(local)', 'sa', '密码', '要访问的数据库名称')
cursor = connect.cursor()
cursor.execute("select*from bank_additional")

我先在数据库里合成了这四个文件为一个bank_additional,其实也可以直接Python写SQL语句合成,用到join on

data = cursor.fetchall()

这样数据就成功从SQLserver读取到了Python,但是这是数组文件,为便于后续分析我把转化为了dataframe

import pandas as pd
data=pd.DataFrame(data,columns=[.....])

接下来就可以基于data做数据分析了

import pandas as pd
import numpy as np
import random
import warnings
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import GridSearchCV

首先画出出各个分类型变量的分布情况:

categorcial_variables = ['job', 'marital', 'education', 'default', 'loan', 'contact', 'month', 'day_of_week', 'poutcome','y']
for element in categorcial_variables:plt.figure(figsize=(10,4))sns.barplot(data[element].value_counts().values, data[element].value_counts().index)plt.title(element)

然后是各个分类型变量与y的关系

  for ele in categorcial_variables:pd.crosstab(data[ele],data['y']).plot.bar()

这里其实变量Default,education, job, housing,loan等是存在缺失值unknown的,但是考虑到这是因为受访者不愿意透露自己的真实情况,对结果也是有一定影响的,因此处理方式是将unknown作为一个单独的取值

好了,下面是对数值型数据的简单描述

numerical_variables = ['age','campaign', 'pdays', 'previous', 'emp.var.rate', 'cons.price.idx','cons.conf.idx','euribor3m', 'nr.employed']
data[numerical_variables].describe()


同样数值型变量的‘pdays’也存在缺失值,用999表示,注意到

几乎所有pdays的缺失值,另一变量poutcome的取值都是noexist,zhe很好理解,由于之前没有做过营销,因此数据不存在,过去的营销结果自然是noexist,所以变量pdays的信息可以被poucome替代,所以简单删除这一变量即可。
下面对所有的分类型变量进行0-1编码,使他们成为新的0-1变量,做出新的变量之间的相关系数图

银行营销数据的Python数据分析--连接SQLserver相关推荐

  1. mysql source导入_读取MySQL数据库中的数据【Python数据分析百例连载】

    当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据.例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的r ...

  2. 大数据之Python数据分析 实训 信用卡客户风险评价之一、处理信用卡数据异常值

    一.处理信用卡数据异常值 实训数据:https://pan.baidu.com/s/1RduW2P0UtdgvQowIu26u7A 1 实训目标 (1) 掌握异常值的识别与处理方法. (2) 构建信用 ...

  3. 用银行营销数据学习数据挖掘:探索预测客户购买行为的模型

    0 了解数据 来源: UCI Machine Learning Repository (https://archive.ics.uci.edu/ml/datasets/bank+marketing) ...

  4. 爬table数据_爬取NBA球员薪资数据【Python数据分析百例连载】

    通过Pandas模块也可以实现简单的爬虫.主要使用Pandas的read_html方法,该方法用于导入带有table标签的网页表格数据,语法如下: pandas.read_html(io,match= ...

  5. 大数据之Python数据分析 实训 信用卡客户风险评价之二、构建信用卡客户风险评价关键特征

    构建信用卡客户风险评价关键特征 实训数据:https://pan.baidu.com/s/1RduW2P0UtdgvQowIu26u7A 1 实训目标 (1) 掌握评分卡模型的原理. (2) 构建信用 ...

  6. python怎么连接sqlserver数据库_python连接数据库SQLServer

    python连接数据库SQLServer 连接数据库的几种方式 python odbc pymssql whl如何安装 whl类似于离线安装包,需要使用pip安装. pip install指令就可以安 ...

  7. python提取数据段_python提取数据段 python数据分析

    如何在python中用slice分段取数据? 执行以下操作:&gt&gt a=range(6)&gt&gt a[0, 1, 2, 3, 4,5]&gt& ...

  8. NBA表格_爬取NBA球员薪资数据【Python数据分析百例连载】

    通过Pandas模块也可以实现简单的爬虫.主要使用Pandas的read_html方法,该方法用于导入带有table标签的网页表格数据,语法如下: pandas 主要参数说明: io:字符串,文件路径 ...

  9. 银行营销数据分析---Python(numpy、pandas、matplotlib)

    数据分析[Python] 项目介绍 我的理解 了解数据 源数据解析 源数据概况 数据处理 数据分析 数据展示分析 影响因素分析 分析总结 项目介绍 数据来源:kaggle银行营销数据 工具:Pytho ...

最新文章

  1. Kaggle比赛的进阶技巧和国内比赛前十套路
  2. 基于 TensorFlow 的图像识别(R实现)
  3. MyBatis实现与插件开发
  4. MQ和RabbitMQ作用特点
  5. 怎样用“python”快速入门数据分析?
  6. apollo 配置中心_apollo-1:apollo配置中心单机模拟分布式部署
  7. 分数怎么在计算机上关,电脑如何在注册表上关闭AutoRun功能
  8. Android studio http 代理设置
  9. c/s三层结构信息系统的三个层次_如何使用ABP框架(2)三层架构与领域驱动设计的对比...
  10. osgi java web_在Tomcat中使用Java Web应用程序的OSGi软件包
  11. 【笔记】Windows Sublime text安装json格式化插件SublimePrettyJson
  12. ubuntu20.04 显卡驱动 cuda cudnn安装
  13. 关于游戏中美术文件夹的划分
  14. 2017腾讯暑期实习生从笔试到面试总结(附带华为、阿里面试经历)
  15. 【Android】- 百度导航引擎初始化失败
  16. uva 1395 Silm Span 【MST-Kruskal】
  17. control c linux命令,linux中Control+C是什么指令?使用什么命令可以给一个进程发出一个这样的指令?...
  18. arc64,x86等架构linux,windows系统openjdk下载
  19. python爬取起点vip小说章节_python 爬取起点小说vip章节(失败)
  20. 华为软件测试笔试真题,抓紧收藏不然就看不到了

热门文章

  1. 回望过去三年(作为程序猿踏入社会的三年) 续篇
  2. 2019年807程序综合设计答案解析
  3. Linux--存储结构与磁盘划分
  4. 【设计模式学习笔记】原型模式
  5. 如何将python脚本打包成10多M的exe?
  6. Verilog学习:常用模块——分频器的使用
  7. Debian Linux包管理机制
  8. 服务器电源电压不稳定,服务器电源 80%服务器瘫痪的元凶
  9. Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据
  10. CPU显卡内存与3DMAX渲染的关系