对于刚入门的数据挖掘小伙伴们,先要建立一个数据挖掘的流程概念。
首先,我们拿到相应的数据,这个数据有的是通过数据库,利用hive或者SQL获取你用于分析的数据;或者直接通过一些上游分析得到的数据(例如通过生物信息分析流程得到的初步结果)。
拿到数据之后,需要先对数据进行一个初步探索,需要去了解数据的各个纬度信息:
第一步,对数据的了解和可视化
1、几行几列,有多少个特征,多少样本
2、是否有缺失值,看看缺失值的情况
3、看数据类型,是否有一些字符型数据,因为后续的模型需要用到的是数值型数据
4、对数据做个可视化,看看数据长什么样
第二步,对目标的了解以及对数据的初步处理
1、对数据挖掘的目标要有所理解,通过理解,可以进行这一步的主要分析
2、缺失值:通过对数据以及目标的理解,看看 a、是否可以直接删除该缺失数据 b、如果不能删除,用什么样的方法填充它比较好,常见的有均值,中位数,或者拉格朗日法,牛顿法等填充。这个填充要基于对数据的了解,才方便自己选择具体方法进行处理,例如你的数据可能是由于低于某些仪器的检测下限所造成缺失的,那么可以用0来填充。
3、异常值:看数据是否处于异常,可以用 3σ原则,PCA,箱线图等等,至于是否要处理也要看建模的目标对于异常值的考虑。
第三步,数据预处理
主要是对数据进行归一化,标准化,字符型数据转化成数值性数据,包括min-max,z-score, one-hot
第四步,特征工程
经历了数据的预处理之后,接下去就是进行特征工程了,特征工程顾名思义就是对数据里面的特征进行一个操作,选择后续可以提高模型效果的特征。
1、相关性分析,选择一些与目标强相关性的特征
2、递归法,一开始,可以让所有特征进入模型,之后利用模型选择出来的important_feature得到重要特征,再选择top n的特征(n由自己选择)进入模型训练
3、还有其他一些方法(后续补充)
第五步,建立模型
在进行特征工程之后,我们一般会建立2-3个模型,来比较这几个模型在这个任务上哪个模型更好。
例如:
分类模型:KNN、贝叶斯分类、决策树、随机森林、SVM、逻辑回归。。。
回归模型:简单线性回归、多重线性回归、一元非线性回归、lasso回归、岭回归。。。
以上内容是初步的一个内容,也是数据挖掘的基本流程,后续会对每一步进一步的展开说明,并且有相关的数据来展示。
第一次用博客来记录自己的学习内容,希望可以通过这个平台多输出一些优质的内容。
来源:https://www.cnblogs.com/enhaofrank/p/12637420.html