数据挖掘流程

数据挖掘是提高机器学习算法准确性的重要一步

Posted by xinxin on January 17, 2019

数据挖掘流程:

我在天池做过一些比赛,比如新人赛里面的o2o,但对于建模前的一些准备(特征工程或者说叫数据挖掘)并没有什么概念,网上也并没有找到相应的资料。刚好今天在网上的课程(京东购买预测)中找到了详细的步骤,故做记录保存分享。

(一)数据清洗

  • 1.数据集完整性验证

数据是否存在残缺

  • 2.数据集中是否存在缺失值

缺失数据是很常见的。python中的pandas的部分函数是可以用来处理缺失值的。

pandas使用浮点值Nan(Not a Number)表示浮点和非浮点数组中的缺失数据。当然它只是一个标记而已,后续可以用isnull函数来判断是否存在缺失值以及进行统计了。python内置的None也会被当作Nan处理,虽然同样是缺失值,但还是存在一点不同的,这里不再赘述。

Nan的处理方法:

dropna – 根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阈值调节对缺失值的容忍度。

fillna – 用指定或插值方法(ffill或bfill)填充缺失数据

isnull – 返回一个含有布尔值的对象,这些布尔值表示哪些是缺失值Nan,哪些不是(True or False)

统计好缺失值之后可以滤除缺失数据(丢弃某些行或列)、填充缺失数据(fillna)

fillna函数的参数

value– 用于填充缺失值的标量值或字典对象

method – 插值方式。默认为ffill

axis – 待填充的轴,默认为axis=0

inplace – 修改调用者对象而不产生副本(inplace=True)

limit – (对于前向和向后填充)可以连续填充的最大数量

  • 3.数据集中各特征数值应该如何处理

连续值离散化(区间)

  • 4.哪些数据是我们想要的,哪些数据时可以过滤掉的

数据一定要理解,每一列表示什么特征,可以根据经验或者重要性进行过滤

  • 5.将有价值数据信息做成新的数据源

特征提取或统计

  • 6.去除无行为交互的商品和用户

去除无价值的信息

  • 7.去掉浏览量很大而实际上购买量很少的用户(惰性或爬虫)

(二)数据理解与分析

  • 1.掌握各个特征的含义
  • 2.观察数据有哪些特点,是否可以用来建模
  • 3.可视化展示便于分析

线型图、柱形图、直方图、密度图、散布图和饼图

  • 4.用户的购买意向是否随着时间等因素变化

(三)特征提取

  • 1.基于清洗后的数据集哪些特征是有价值
  • 2.分别对用户与商品以及其之间构成的行为进行特征提取
  • 3.行为因素中哪些是核心?如何提取?
  • 4.瞬时行为特征or累计行为特征?

(四)模型建立

  • 1.使用机器学习算法进行预测
  • 2.参数设置与调节
  • 3.数据集切分?