数据挖掘算法 - 前提概要

定义

数据挖掘是从不同的数据源整合数据在仓库内进行分析的一个过程,主要是利用机器学习在数据中找到一般规律。

机器学习划分为 :监督学习和无监督学习(分类和聚类问题)

具体阶段:

1、首先定义好问题
  2、采集问题
  3、数据准备(数据预处理)
  4、数据建模
  5、得出结论
  6、做出业务解释,推进业务执行,以满足业务需求

建模中会遇到的问题:过拟合和欠拟合

1、过拟合:模型在训练集上表现良好,而在测试集或者验证集上表现不佳。
  2、欠拟合:在训练集和测试集上的表现都不好,是学习不完全的体现。
  
 **出现以上问题,都需要对数据进行处理重新进行训练。**
1、模型速度:主要用于评估模型在处理数据上的开销和时间
 2、鲁棒性:主要考虑在出现错误数据或者异常数据时,甚至是数据缺失的情况下,模型是否可以给出正确的结果,包括是否可以给出结果,会不会导致模型运算的崩溃。
 3、可解释性:在很多场景下(比如金融风控),需要给出让人信服的理由。

数据评估

1、在进行数据评估时,需随机抽样:把数据分成训练集和测试集,使用测试集对模型进行测试,得到各种准确率指标。
 2、随机多次抽样:在随机抽样的基础上,进行n次随机抽样,得到n组测试集使用这n组的平均值作为最终结果。
 3、交叉验证:需要训练多个模型,把原始数据分成k份,每次选取其中的一份作为测试集,其他的作为训练集训练一个模型,计算这k个模型结果作为整体获得的准确率。
 4、自助法:随机有放回的抽取样本,构建一个训练集,对比原始样本集和该训练集把训练集未出现的内容整理成测试集,重复这个过程k次,构建出k组数据,训练k个模型,计算出这k个模型结果作为整体获得的准确率。

在模型训练阶段优化所追求的目标: 效果尽量好

模型应用阶段优化所追求的目标: 在效果尽量不降低的前提下,适配应用的限制

1>.   时延比较高:需思考增加机器还是降低模型的复杂度以提高速度。
       2>.   模型大小要求比较高: 比如,人脸识别嵌入小型芯片上需考虑降低模型的含数维度。

数据挖掘工作步骤:

1>.   项目需求发起
     2>.   数据准备
     3>.   模型训练
     4>.   评估
     5>.   上线
     6>.   遇到问题,解决问题
     7>.   进行其他尝试  (项目迭代)

模型监控

1.结果监控:主要针对一些具体的指标进行监控,对结果效果监控
 2.人工定期复查:查看当前模型效果是否还满足业务需求,准确率情况是否有所变化,跟业务进行沟通评估,确认当前的情况是否需要对模型进行重新训练。
 3.case收集与样本积累:通过具体case,知道模型有哪些问题:手机足够多的case可以作为重新训练的样本积累。

重新开启

1.准备数据发现数据无法解决业务需求时,要返回去重新讨论业务需求与数据的问题。
 2.训练模型阶段发现数据与模型无法匹配或者如果要换模型时,要回到准备数据阶段。
 3.模型评估的时候发现达不到预期可能要回到准备数据环节重新处理数据,甚至要回到业务理解阶段。

有关算法:

1.分类问题:KNN算法,决策树算法,朴素贝叶斯算法,支持向量机算啊(SVM),人工神经网络
 2.聚类问题:K-means 算法,DBScan 算法,
 3.回归问题:线性回归与逻辑回归
 4.关联分析:Apriori,FP-Growth
 5.自然语言处理
经验分享 程序员 微信小程序 职场和发展