Cross-Industry standard process for data mining.

数据挖掘方法论,答曰:CRISP-DM

大概分为以下六个步骤:
1、业务知识/ Business understanding
2、指标含义/ Data understanding
3、数据准备/ Data preparation
4、建模训练/ Modeling
5、模型评估/ Evaluation
6、模型部署/ Deployment

对于开发人员,往往直接从3开始,而忽略1、2,其中2是苦力活。从模型评估看,一般模型优化方法会重新返回2进行调整。重点提下“数据准备”大概包含:
0、特征列挑选
1、列空值处理、行空值处理(直接删除、采用统计量替换、线性预测)
2、分类变量处理,one-hot编码
3、归一化处理
4、连续变量分段(比如年龄、收入)
...

crisp

从实用性角度出发,可能并非一定要5、6,模型结果可以直接通过用户分群,通过运营系统或者报告阐述的方式输出结果。

Cross-Industry standard process for data mining.

付费用户特征挖掘的主要流程

假设你手上有一份全局用户数据和一份付费用户数据,需要挖掘出付费用户的主要特征,可以参照以下流程:

一、数据治理
从不同来源的数据,首先要保证数据的准确性,所有需要进行必要的清洗和转换,可能涉及的内容有:

1、缺失值填充
2、冗余特征去除
3、异常行过滤
4、类别特征onehot编码
5、组合特征拆解
6、特征标准化(z-score\max-min等)

二、特征降维
一般拿到的数据列(特征)比较多,大多数特征相关性比较大,提供的信息比较类型,所以进行必要的特征降维是有意义的,一般采用PCA进行降维。

采用PCA降维涉及一个关键问题,从高维空间降低到多少维合适?

一般采用的降维数量衡量方法,可以不指定维度,最后根据降维结果,计算每个维度的可解析比率(特征信息覆盖程度),如果top 50的维度已经涵盖了80%的信息,采用50作为维度信息即可。

设定降维维度之后,得到的PCA结果,可作为后续聚类输入。

三、聚类分析
根据PCA的结果,我们可以采用kmeans进行聚类分析,由于需要聚类的数量不确定,我们可以尝试不同的聚类数量,递增聚类数量,对应每个聚类打印出SSE信息。由于聚类数量递增过程,SSE递减,到达某个聚类数量,SSE递减变得缓慢,可以得到拐点,即为最佳聚类数量(EIBOW 方法)。

四、业务分析
采用全局用户进行一~三的过程,我们可以得到全局用户的PCA模型、聚类模型,该模型直接应用于付费用户(需要进行必要的清洗、转换)。最后,我们可以打印这两组用户的聚类直方图。通过比较直方图,可以直观的知道 付费用户跟全局用户的差异类别,通过差异类型,反推PCA变量,再从PCA变量inverse transform到原始变量,通过业务背景,挖掘分析,即可得到付费用户的主要特征,进而进行运营推广。

付费用户特征挖掘的主要流程