写在前面:上一篇博客我写了这个项目的Task1——即理解赛题和了解评价指标;今天我们进行Task2的讲解。由于打卡时间快截止,我就简单写一下理解吧,详细过程和代码可以看看其他人的博客,我的博客一般都是理解型的,哈哈哈!
*************************************************我是分界**************************************************************************************
Task2:数据分析
内容:这个过程是在你用数据+模型进行分析前,首先要对你的数据进行分析。主要包括四个方面:
- 总体分析:比如用info查看数据类型;用describe查看基本统计量 。
- 缺失值和唯一值分析:缺失值是查看每个特征的数据有多少是缺失的,唯一值分析是查看是否有特征他的数据全是一样的,这样的数据就没有意义,通过唯一值分析就可剔除这样的数据;在这一过程中还可以结合图形分析,使得结果更直观。
- 查看数据类型:这部分把数据类型分为数值型和非数值型(object),然后分查看各个类型数据的具体分布 。
1、数值型数据又分为连续性和离散型;离散型和非数值型数据用value_counts查看其分布。
2、画连续性数值的分布图时还要进行正态分析,甚至进行正态化处理。
- 查看数据间相关关系:包括特征和特征之间关系,特征和目标变量之间关系。关于后者又分为类别型变量在不同y值上的分布,连续型变量在不同y值上的分布。两者的代买思路基本一致,首先利用loc将y值分类,再利用画图函数分别呈现在不同y值上的分布。
注意:
- 有的特征是时间格式,在数据分析时要先对其进行处理,比如年月日的数据可以利用issueDateDT转化成天数进行分析。
- 掌握数据透视图的方法:
#透视图 索引可以有多个,“columns(列)”是可选的,聚合函数aggfunc最后是被应用到了变量“values”中你所列举的项目上。 pivot = pd.pivot_table(data_train, index=['grade'], columns=['issueDateDT'], values=['loanAmnt'], aggfunc=np.sum)
如上代码显示,pivot函数可进行数据透视,index为索引,columns为你想列示的列数据,表中填充的数据为values,掌握 pivot函数可以方便的生成你想要的数据表。
- 最后还可以利用pandas_profiling包里的ProfileReport函数生成数据报告。
*************************************************我是分界**************************************************************************************
写在最后:基本是理解的逻辑过程,相关的代码其实还是需要自己去写一遍,不懂的函数再百度一下,其实收获还是蛮多的。最后附上代码链接,可能更详细。