task2-EDA-数据探索性分析

喜你入骨 提交于 2020-03-24 21:59:58

零基础入门数据挖掘-Task2 数据分析

EDA-数据探索性分析

赛题:零基础入门数据挖掘 - 二手车交易价格预测
地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX

2.1 EDA目标

EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
当了解了数据集之后我们下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系。
引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。
完成对于数据的探索性分析,并对于数据进行一些图表或者文字总结并打卡。

2.2 内容介绍

1. 载入各种数据科学以及可视化库:

  • 数据科学库 pandas、numpy、scipy;
  • 可视化库 matplotlib、seabon;
  • 其他;

2. 载入数据:

  • 载入训练集和测试集;
  • 简略观察数据(head()+shape);

3. 数据总览:

  • 通过describe()来熟悉数据的相关统计量
  • 通过info()来熟悉数据类型

4. 判断数据缺失和异常

  • 查看每列的存在nan情况
  • 异常值检测

5. 了解预测值的分布

  • 总体分布概况(无界约翰逊分布等)
  • 查看skewness and kurtosis
  • 查看预测值的具体频数

6. 特征分为类别特征和数字特征,并对类别特征查看unique分布

7. 数字特征分析

  • 相关性分析
  • 查看几个特征的偏度和峰值
  • 每个数字特征的分布可视化
  • 数字特征相互之间的关系可视化
  • 多变量互相回归关系可视化

8. 类型特征分析

  • unique分布
  • 类别特征箱形图可视化
  • 类别特征的小提琴图可视化
  • 类别特征的柱形图可视化类别
  • 特征的每个类别频数可视化(count_plot)

9. 用pandas_profiling生成数据报告

2.3 代码示例

2.3.1 载入各种数据科学以及可视化库

2.3.2 载入数据

  • 要养成看数据集的head()以及shape的习惯,这会让你每一步更放心,导致接下里的连串的错误, 如果对自己的pandas等操作不放心,建议执行一步看一下,这样会有效的方便你进行理解函数并进行操作 *

所有特征集均脱敏处理

  • name - 汽车编码
  • regDate - 汽车注册时间
  • model - 车型编码
  • brand - 品牌
  • bodyType - 车身类型
  • fuelType - 燃油类型
  • gearbox - 变速箱
  • power - 汽车功率
  • kilometer - 汽车行驶公里
  • notRepairedDamage - 汽车有尚未修复的损坏
  • regionCode - 看车地区编码
  • seller - 销售方
  • offerType - 报价类型
  • creatDate - 广告发布时间
  • price - 汽车价格
  • v_0', 'v_1', 'v_2', 'v_3', 'v_4', 'v_5', 'v_6', 'v_7', 'v_8', 'v_9', 'v_10', 'v_11', 'v_12', 'v_13','v_14' 【匿名特征,包含v0-14在内15个匿名特征】
    2.3.3 总览数据概况
  1. describe种有每列的统计量,个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、以及最大值 看这个信息主要是瞬间掌握数据的大概的范围以及每个值的异常值的判断,比如有的时候会发现999 9999 -1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下
  2. info 通过info来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!