• 数据挖掘基本流程


    对于刚入门的数据挖掘小伙伴们,先要建立一个数据挖掘的流程概念。

    首先,我们拿到相应的数据,这个数据有的是通过数据库,利用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回归、岭回归。。。

    聚类模型:k-means、DBSCAN密度法、层次聚类法。。。
    那么一般这些模型大家都可以直接使用sklearn中对应的模型。
     
     
    第六步,模型优化
    选择好模型之后,对于模型性能的进一步优化也是非常重要的,
    模型的参数优化:网格搜索、随机搜索,选择最优的模型参数
    k-折交叉验证,避免过拟合
    模型评价:一般模型评价有准确率(分类模型),或者RMSE,R2(回归模型)等,当然也有F1-score(分类问题里面数据不平衡情况)等。
     

    以上内容是初步的一个内容,也是数据挖掘的基本流程,后续会对每一步进一步的展开说明,并且有相关的数据来展示。

    第一次用博客来记录自己的学习内容,希望可以通过这个平台多输出一些优质的内容。

    如有需要联系我的话,可以发email给我:18868801916@163.com

  • 相关阅读:
    substring(x)和substring(x,y)的用法
    js 判断字符串中是否包含某个字符串
    js如何将纯数字字符串转换为long型
    union和union all的区别
    JavaScript 中 var 和 let 和 const 关键字的区别
    JS操作文件
    java 字符串和集合互相转换
    关于sql中in 和 exists 的效率问题,in真的效率低吗
    sql 同一张表查询不同数据合并之后关联查询
    Android input输入框 移动页面input手机键盘中的“搜索”按键
  • 原文地址:https://www.cnblogs.com/enhaofrank/p/12637420.html
Copyright © 2020-2023  润新知