数据挖掘的基本过程是:对数据的了解和可视化、对目标的了解以及对数据的初步处理、数据预处理、特征工程、建立模型、模型优化。
本文操作环境:windows10系统、thinkpad t490电脑。
第一步,对数据的了解和可视化
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回归、岭回归。。。
聚类模型:k-means、DBSCAN密度法、层次聚类法。。。
那么一般这些模型大家都可以直接使用sklearn中对应的模型。
第六步,模型优化
选择好模型之后,对于模型性能的进一步优化也是非常重要的,
模型的参数优化:网格搜索、随机搜索,选择最优的模型参数
k-折交叉验证,避免过拟合
模型评价:一般模型评价有准确率(分类模型),或者RMSE,R2(回归模型)等,当然也有F1-score(分类问题里面数据不平衡情况)等。
以上内容是初步的一个内容,也是数据挖掘的基本流程,后续会对每一步进一步的展开说明,并且有相关的数据来展示。
以上就是数据挖掘的基本过程是什么的详细内容,更多请关注易知道|edz.cc其它相关文章!