本文目录一览:
新手怎么学习数据分析
第一方面是数学基础,第二方面是统计学基础,第三方面是计算机基础。要想在数据分析的道路上走得更远,一定要注重数学和统计学的学习。数据分析说到底就是寻找数据背后的规律,而寻找规律就需要具备算法的设计能力,所以数学和统计学对于数据分析是非常重要的。
而想要快速成为数据分析师,则可以从计算机知识开始学起,具体点就是从数据分析工具开始学起,然后在学习工具使用过程中,辅助算法以及行业致死的学习。学习数据分析工具往往从Excel工具开始学起,Excel是目前职场人比较常用的数据分析工具,通常在面对10万条以内的结构化数据时,Excel还是能够胜任的。对于大部分职场人来说,掌握Excel的数据分析功能能够应付大部分常见的数据分析场景。
在掌握Excel之后,接下来就应该进一步学习数据库的相关知识了,可以从关系型数据库开始学起,重点在于Sql语言。掌握数据库之后,数据分析能力会有一个较大幅度的提升,能够分析的数据量也会有明显的提升。如果采用数据库和BI工具进行结合,那么数据分析的结果会更加丰富,同时也会有一个比较直观的呈现界面。
数据分析的最后一步就需要学习编程语言了,目前学习Python语言是个不错的选择,Python语言在大数据分析领域有比较广泛的使用,而且Python语言自身比较简单易学,即使没有编程基础的人也能够学得会。通过Python来采用机器学习的方式实现数据分析是当前比较流行的数据分析方式。
对大数据分析有兴趣的小伙伴们,不妨先从看看大数据分析书籍开始入门!B站上有很多的大数据教学视频,从基础到高级的都有,还挺不错的,知识点讲的很细致,还有完整版的学习路线图。也可以自己去看看,下载学习试试。
基于python的prosper借贷平台之数据分析
项目介绍:
p2p 借贷业务具有门槛低,渠道成本低的特性,风险防控对于出借企业来说非常重要。本项目需要
从大量借贷者的数据集中分析出容易违约和不容易违约的人群画像特征,以给业务做贷前决策使
用。同时使用机器学习算法,实现自动识别风险人群(精准率为 89.86%),加快人工审查效率。
项目具体内容:
1、使用 python pandas 工具进行数据清洗、缺失值、异常值处理以及特征指标筛选。
2、使用 python matplotlib 可视化工具进行探索式数据分析,展示用户关键特征如月收入、信用卡
透支情况对于违约率的影响情况。
3、使用机器学习随机森林进行建模分析,使用学习曲线、网格搜索、交叉验证,最终得到了一个评
分为 84.9%、精准率为 89.86%、召回率为 80.70%、auc 面积为 0.9337 数据预测模型。
本次数据训练使用的模型是随机森林分类算法,通过对预处理过的数据集进行训练,使用学习曲线、网格搜索、交叉验证。最终得到了一个评分为84.9%、精准率为89.86%、召回率为80.70%、 auc面积为0.9337 数据预测模型。
数据预处理的基本流程与思路:
1、首先要明确有多少特征,哪些是连续的,哪些是类别的。
2、检查有没有缺失值,对确实的特征选择恰当方式进行弥补,使数据完整。
3、对连续的数值型特征进行标准化,使得均值为0,方差为1。
4、对类别型的特征进行one-hot编码。
5、将需要转换成类别型数据的连续型数据进行二值化。
6、为防止过拟合或者其他原因,选择是否要将数据进行正则化。
7、在对数据进行初探之后发现效果不佳,可以尝试使用多项式方法,寻找非线性的关系。
8、根据实际问题分析是否需要对特征进行相应的函数转换。
导入数据集,并查看数据基本情况。可以看到prosper原始数据量比较庞大,一个有113937个样本,80个特征列,1个标签列。
1.1、特征较多,先共删减一部分无用的特征。
1.2 查看数据缺失情况,可以看到有40个特征是存在数据缺失的,缺失率从0.000219-0.882909不等。下面处理缺失数据。
1.2.1 删除缺失值比较多的特征
下面两个特征缺失率太高,且与我们要分析的相关性不大,直接删除掉。
1.2.2 获取数据类型是分类变量的所有特征,并使用unknown进行填充
1.2.3 特殊变量使用计算公式进行填充
1.2.4 去掉意义重复列
1.2.5 删除缺失率比较少的特征的缺失数据行
处理完缺失数据后,样本量为106290,特征量为55
1.3 数据过滤
1.3.1 从2009年7月开始,Prosper调整了对客户的评估方式,此次我们只对2009-07-01后的贷款进行分析。
过滤完数据后,样本量变为82931,特征量为54
2.1单变量分析
0为未违约人数,1位违约人数,可以看到2009.07以后,违约率为22.90%
2.1.1不同地区贷款数量分布
从图中可以看到加利福尼亚州贷款数量远比其他州的数量高。由于prosper总部就位于加利福尼亚州,这与实际情况一致。其他排名靠前的分别是得克萨斯、纽约、佛罗里达、伊利诺伊,贷款数据均超过了5000条。根据2015年美国各州的GDP排名,这5个州刚好排名前五,而且顺序也是一致的。说明Prosper平台的用户主要分布在美国经济发达的地区。
2.1.2 贷款人收入情况分布
年薪在25000美金以上在美国属于技术性白领或者有一定学历的职员,50000美金已经是近金领阶层,比如:大学教授,医生等。从图中可以看出Prosper平台用户的收入水平都相对较高,有利于用户还款,利于平台和投资者的风险控制。
2.1.3贷款人职业分布
从图中可以看出,除了不愿意透露具体职业的人,大部分用户是教授、程序员、企业高管等具有一定社会地位的人,这部分人受过高等教育,信用有一定保障。另外,这与之前看到的收入情况相符。
2.1.4贷款人债务收入比分布
大部分用户的债务收入比在0.2左右,超过0.5的占很少部分。说明Prosper平台用户的还款能力还是比较乐观的
2.1.5 贷款者信用卡使用情况
BankcardUtilization代表的是信用卡使用金额和信用卡额度的比值,可以体现用户的资金需求。Prosper用户多是0.5~1之间,说明用户每个月还有信用卡要还,降低了其还款能力。
2.2 相关的关键因素对贷款违约率的影响
2.2.1借贷人收入IncomeRange对违约率的影响
从图中可以看出:
1.一般来说收入越高违约率越低
2.贷款的人员主要集中在中等收入群体
2.2.2 债务收入比DebtToIncomeRatio对违约率的影响
从上图可以看出:
1.债务收入比小于0.6时,违约数明显小于未违约数,
2.当债务收入比大于0.6时,两者的差距不是很明显甚至违约数大于未违约数,说明了债务收入比越大的人越容易违约
2.2.3 借款人BankcardUtilization对违约率的影响
1.总的来说,随着信用卡的透支比例越来越高,违约率也越来越高
2.SuperUse的违约率到了37.5%,这部分人群需要严格了监控,No Use人群也有31%的违约率,当初将信用卡透支比例为0和NA的数据都归类为No Use,显然没有这么简单,应该是大部分人群的NA值是为了隐藏自己的高透支比例而填写的
2.2.4 消费信用分CreditScoreRange对违约率的影响
从上图可以看出:
1.随着信用分数CreditScore的上升,它的违约率在下降
2.大部分贷款者的信用分为650-800,违约率在0.06-0.02
2.2.5 过去7年借款人违约次数DelinquenciesLast7Years对违约率的影响
过去七年违约次数(DelinquenciesLast7Years)能够衡量一个人在过去七年中征信情况,违约一次或以上的人在借款时违约概率更大。
从上图可以看出:
1.总体来说过去7年违约次数越多,违约率越高
2.过去7年未违约的人数相对来说比其他违约的人数高很多,具体看下面的分析
3.1 数据转化
3.1.1类变量进行哑变量化
样本量变为82931,特征量为127
3.1.2 标签变量进行二分类
已完成贷款的样本量变为26365,特征量为127
未违约率为:0.7709084012895885;违约率为0.22909159871041151
3.2 至此,数据预处理的工作就告一段落,保存预处理好的数据。
导入经过预处理的prosper借贷数据集
4.1 手工挑选特征查看一下建模效果
准确率为0.7695
4.2 使用模型自己选取特征
准确率为0.7780
4.3 使用学习曲线选取最优n_estimators
在0-200/20内学习,得到最优n_estimators=161,score = 0.8508
在151-171/20内学习,得到最优n_estimators=163,score = 0.8511
4.4 使用网格搜索调其他参数
在0-60/5内学习,得到最优max_depth=41
在0-60/5内学习,得到最优max_features=16
这里由于比较耗时,没有进一步细化选择更高的参数
4.4 最终模型效果
最终准确率 0.8490528905289052
混淆矩阵 :
[[5552 554]
[1175 4914]]
精准率 : [0.82533076 0.89868325]
召回率 : [0.90926957 0.80702907]
roc和auc面积为0.9337
4.5 查看各特征的重要性
4.6 数据预测
预测的违约率0.0427
python数据分析与应用-Python数据分析与应用 PDF 内部全资料版
给大家带来的一篇关于Python数据相关的电子书资源,介绍了关于Python方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小281 MB,黄红梅 张良均编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.8。
内容介绍
目录
第1章 Python数据分析概述 1
任务1.1 认识数据分析 1
1.1.1 掌握数据分析的概念 2
1.1.2 掌握数据分析的流程 2
1.1.3 了解数据分析应用场景 4
任务1.2 熟悉Python数据分析的工具 5
1.2.1 了解数据分析常用工具 6
1.2.2 了解Python数据分析的优势 7
1.2.3 了解Python数据分析常用类库 7
任务1.3 安装Python的Anaconda发行版 9
1.3.1 了解Python的Anaconda发行版 9
1.3.2 在Windows系统中安装Anaconda 9
1.3.3 在Linux系统中安装Anaconda 12
任务1.4 掌握Jupyter Notebook常用功能 14
1.4.1 掌握Jupyter Notebook的基本功能 14
1.4.2 掌握Jupyter Notebook的高 级功能 16
小结 19
课后习题 19
第2章 NumPy数值计算基础 21
任务2.1 掌握NumPy数组对象ndarray 21
2.1.1 创建数组对象 21
2.1.2 生成随机数 27
2.1.3 通过索引访问数组 29
2.1.4 变换数组的形态 31
任务2.2 掌握NumPy矩阵与通用函数 34
2.2.1 创建NumPy矩阵 34
2.2.2 掌握ufunc函数 37
任务2.3 利用NumPy进行统计分析 41
2.3.1 读/写文件 41
2.3.2 使用函数进行简单的统计分析 44
2.3.3 任务实现 48
小结 50
实训 50
实训1 创建数组并进行运算 50
实训2 创建一个国际象棋的棋盘 50
课后习题 51
第3章 Matplotlib数据可视化基础 52
任务3.1 掌握绘图基础语法与常用参数 52
3.1.1 掌握pyplot基础语法 53
3.1.2 设置pyplot的动态rc参数 56
任务3.2 分析特征间的关系 59
3.2.1 绘制散点图 59
3.2.2 绘制折线图 62
3.2.3 任务实现 65
任务3.3 分析特征内部数据分布与分散状况 68
3.3.1 绘制直方图 68
3.3.2 绘制饼图 70
3.3.3 绘制箱线图 71
3.3.4 任务实现 73
小结 77
实训 78
实训1 分析1996 2015年人口数据特征间的关系 78
实训2 分析1996 2015年人口数据各个特征的分布与分散状况 78
课后习题 79
第4章 pandas统计分析基础 80
任务4.1 读/写不同数据源的数据 80
4.1.1 读/写数据库数据 80
4.1.2 读/写文本文件 83
4.1.3 读/写Excel文件 87
4.1.4 任务实现 88
任务4.2 掌握DataFrame的常用操作 89
4.2.1 查看DataFrame的常用属性 89
4.2.2 查改增删DataFrame数据 91
4.2.3 描述分析DataFrame数据 101
4.2.4 任务实现 104
任务4.3 转换与处理时间序列数据 107
4.3.1 转换字符串时间为标准时间 107
4.3.2 提取时间序列数据信息 109
4.3.3 加减时间数据 110
4.3.4 任务实现 111
任务4.4 使用分组聚合进行组内计算 113
4.4.1 使用groupby方法拆分数据 114
4.4.2 使用agg方法聚合数据 116
4.4.3 使用apply方法聚合数据 119
4.4.4 使用transform方法聚合数据 121
4.4.5 任务实现 121
任务4.5 创建透视表与交叉表 123
4.5.1 使用pivot_table函数创建透视表 123
4.5.2 使用crosstab函数创建交叉表 127
4.5.3 任务实现 128
小结 130
实训 130
实训1 读取并查看P2P网络贷款数据主表的基本信息 130
实训2 提取用户信息更新表和登录信息表的时间信息 130
实训3 使用分组聚合方法进一步分析用户信息更新表和登录信息表 131
实训4 对用户信息更新表和登录信息表进行长宽表转换 131
课后习题 131
第5章 使用pandas进行数据预处理 133
任务5.1 合并数据 133
5.1.1 堆叠合并数据 133
5.1.2 主键合并数据 136
5.1.3 重叠合并数据 139
5.1.4 任务实现 140
任务5.2 清洗数据 141
5.2.1 检测与处理重复值 141
5.2.2 检测与处理缺失值 146
5.2.3 检测与处理异常值 149
5.2.4 任务实现 152
任务5.3 标准化数据 154
5.3.1 离差标准化数据 154
5.3.2 标准差标准化数据 155
5.3.3 小数定标标准化数据 156
5.3.4 任务实现 157
任务5.4 转换数据 158
5.4.1 哑变量处理类别型数据 158
5.4.2 离散化连续型数据 160
5.4.3 任务实现 162
小结 163
实训 164
实训1 插补用户用电量数据缺失值 164
实训2 合并线损、用电量趋势与线路告警数据 164
实训3 标准化建模专家样本数据 164
课后习题 165
第6章 使用scikit-learn构建模型 167
任务6.1 使用sklearn转换器处理数据 167
6.1.1 加载datasets模块中的数据集 167
6.1.2 将数据集划分为训练集和测试集 170
6.1.3 使用sklearn转换器进行数据预处理与降维 172
6.1.4 任务实现 174
任务6.2 构建并评价聚类模型 176
6.2.1 使用sklearn估计器构建聚类模型 176
6.2.2 评价聚类模型 179
6.2.3 任务实现 182
任务6.3 构建并评价分类模型 183
6.3.1 使用sklearn估计器构建分类模型 183
6.3.2 评价分类模型 186
6.3.3 任务实现 188
任务6.4 构建并评价回归模型 190
6.4.1 使用sklearn估计器构建线性回归模型 190
6.4.2 评价回归模型 193
6.4.3 任务实现 194
小结 196
实训 196
实训1 使用sklearn处理wine和wine_quality数据集 196
实训2 构建基于wine数据集的K-Means聚类模型 196
实训3 构建基于wine数据集的SVM分类模型 197
实训4 构建基于wine_quality数据集的回归模型 197
课后习题 198
第7章 航空公司客户价值分析 199
任务7.1 了解航空公司现状与客户价值分析 199
7.1.1 了解航空公司现状 200
7.1.2 认识客户价值分析 201
7.1.3 熟悉航空客户价值分析的步骤与流程 201
任务7.2 预处理航空客户数据 202
7.2.1 处理数据缺失值与异常值 202
7.2.2 构建航空客户价值分析关键特征 202
7.2.3 标准化LRFMC模型的5个特征 206
7.2.4 任务实现 207
任务7.3 使用K-Means算法进行客户分群 209
7.3.1 了解K-Means聚类算法 209
7.3.2 分析聚类结果 210
7.3.3 模型应用 213
7.3.4 任务实现 214
小结 215
实训 215
实训1 处理信用卡数据异常值 215
实训2 构造信用卡客户风险评价关键特征 217
实训3 构建K-Means聚类模型 218
课后习题 218
第8章 财政收入预测分析 220
任务8.1 了解财政收入预测的背景与方法 220
8.1.1 分析财政收入预测背景 220
8.1.2 了解财政收入预测的方法 222
8.1.3 熟悉财政收入预测的步骤与流程 223
任务8.2 分析财政收入数据特征的相关性 223
8.2.1 了解相关性分析 223
8.2.2 分析计算结果 224
8.2.3 任务实现 225
任务8.3 使用Lasso回归选取财政收入预测的关键特征 225
8.3.1 了解Lasso回归方法 226
8.3.2 分析Lasso回归结果 227
8.3.3 任务实现 227
任务8.4 使用灰色预测和SVR构建财政收入预测模型 228
8.4.1 了解灰色预测算法 228
8.4.2 了解SVR算法 229
8.4.3 分析预测结果 232
8.4.4 任务实现 234
小结 236
实训 236
实训1 求取企业所得税各特征间的相关系数 236
实训2 选取企业所得税预测关键特征 237
实训3 构建企业所得税预测模型 237
课后习题 237
第9章 家用热水器用户行为分析与事件识别 239
任务9.1 了解家用热水器用户行为分析的背景与步骤 239
9.1.1 分析家用热水器行业现状 240
9.1.2 了解热水器采集数据基本情况 240
9.1.3 熟悉家用热水器用户行为分析的步骤与流程 241
任务9.2 预处理热水器用户用水数据 242
9.2.1 删除冗余特征 242
9.2.2 划分用水事件 243
9.2.3 确定单次用水事件时长阈值 244
9.2.4 任务实现 246
任务9.3 构建用水行为特征并筛选用水事件 247
9.3.1 构建用水时长与频率特征 248
9.3.2 构建用水量与波动特征 249
9.3.3 筛选候选洗浴事件 250
9.3.4 任务实现 251
任务9.4 构建行为事件分析的BP神经网络模型 255
9.4.1 了解BP神经网络算法原理 255
9.4.2 构建模型 259
9.4.3 评估模型 260
9.4.4 任务实现 260
小结 263
实训 263
实训1 清洗运营商客户数据 263
实训2 筛选客户运营商数据 264
实训3 构建神经网络预测模型 265
课后习题 265
附录A 267
附录B 270
参考文献 295
学习笔记
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。 定义 (推荐学习:Python视频教程) 用户可以通过电子邮件,Dropbox,GitHub 和 Jupyter Notebook Viewer,将 Jupyter Notebook 分享给其他人。 在Jupyter Notebook 中,代码可以实时的生成图像,视频,LaTeX和JavaScript。 使用 数据挖掘领域中最热门的比赛 Kaggle 里的资料都是Jupyter 格式 。 架构 Jupyter组件 Jupyter包含以下组件: Jupyter Notebook 和 ……
本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下: 这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为 itchat , pandas , pyecharts 等 1、安装itchat 微信的python sdk,用来获取个人好友关系。获取的代码 如下: import itchatimport pandas as pdfrom pyecharts import Geo, Baritchat.login()friends = itchat.get_friends(update=True)[0:]def User2dict(User): User_dict = {} User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN" User_dict["City"] = User["City"] if User["City"] else "NaN" User_dict["Sex"] = User["Sex"] if User["Sex"] else 0 User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN" ……
基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份、性别、微信签名做数据分析。 效果: 直接上代码,建三个空文本文件stopwords.txt,newdit.txt、unionWords.txt,下载字体simhei.ttf或删除字体要求的代码,就可以直接运行。 #wxfriends.py 2018-07-09import itchatimport sysimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#绘图时可以显示中文plt.rcParams['axes.unicode_minus']=False#绘图时可以显示中文import jiebaimport jieba.posseg as psegfrom scipy.misc import imreadfrom wordcloud import WordCloudfrom os import path#解决编码问题non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd) #获取好友信息def getFriends():……
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下: 前面讲述了关于双色球的各种算法,这里将进行下期双色球号码的预测,想想有些小激动啊。 代码中使用了线性回归算法,这个场景使用这个算法,预测效果一般,各位可以考虑使用其他算法尝试结果。 发现之前有很多代码都是重复的工作,为了让代码看的更优雅,定义了函数,去调用,顿时高大上了 #!/usr/bin/python# -*- coding:UTF-8 -*-#导入需要的包import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport operatorfrom sklearn import datasets,linear_modelfrom sklearn.linear_model import LogisticRegression#读取文件d……
以上就是本次介绍的Python数据电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对鬼鬼的支持。
注·获取方式:私信(666)