美文网首页数据分析
【学习】数据挖掘-公开课学习

【学习】数据挖掘-公开课学习

作者: X_Ran_0a11 | 来源:发表于2019-08-11 00:19 被阅读16次

https://www.bilibili.com/video/av26063625/?p=52

https://www.bilibili.com/video/av16075220/?p=2

(其实都是混着来的。。由第一期课程看到第二期去了)

2 数据挖掘标准流程

https://www.cnblogs.com/Yuanjing-Liu/p/9408460.html

  • CRISP-DM过程描述

CRISP-DM(cross-industry standard process for data mining) 模型为一个KDD(只是发现:Knowledge Discovery in Database)工程提供了一个完整的过程描述。一个数据挖掘项目的生命周期包含六个阶段。这六个阶段的顺序是不固定的,我们经常需要前后调整这些阶段。这依赖每个阶段或是阶段中特定任务的产出物是否是下一个阶段必须的输入。
业务理解(Business Understanding)→数据理解(Data Understanding)→数据准备(Data Preparation)→建模(Modeling)→评估(Evaluation)→部署(Deployment)


image.png

3 简易医疗挖掘案例(决策树)

人体重的变化与6个指标有关,建立6个指标和体重的预测模型


image.png

4 银行贷款风控案例和精准营销案例(朴素贝叶斯)

4.1 银行贷款风控

银行对申请贷款的客户建立的档案包含四个指标,分别是三个关键参数和是否违约。需要利用这个模型对参与贷款的客户进行违约可能性判定。


image.png
  • 案例中对连续数值型的数据进行了离散化,把贷款额度分为几个类别区间、受雇时间也分为几个时段区间。


    image.png
  • 最后的决定,实际上是要进行比率或者阈值判定的。


    image.png
4.2 精准营销

银行金融衍生部门最新上限一款金融理财产品,销售目标为用户群中对产品兴趣度最高的前20%用户。


image.png

交易信息表中的交易金额是“购买用户”、“未购买用户”标签。

典型的精准营销二分问题,流程:
数据准备(缺失值替换、变量离散、重复占比特征剔除、维度缩放(权重优化,因为是用欧式距离来算近似度的,缩放的成都就是权重程度)、分类平衡(两类或多类数据的比例平衡,暂时不研究)→ROC曲线来调整阈值

有几个点:recall(sensitivity)召回率、precision精确率、accuracy准确率、f-measure:
a.recall是相对真实的答案而言: true positive / golden set 。假设测试集里面有100个正例,你的模型能预测覆盖到多少,如果你的模型预测到了40个正例,那你的recall就是40%。
b.precision是相对你自己的模型预测而言:true positive /retrieved set。假设你的模型一共预测了100个正例,而其中80个是对的正例,那么你的precision就是80%。我们可以把precision也理解为,当你的模型作出一个新的预测时,它的confidence score 是多少,或者它做的这个预测是对的的可能性是多少。
甚至可以更粗暴的理解为,precision是模型的精度(预测值中有多少是正确的),而recall是相对真实概率的(贝叶斯)精度(有一百个数据,你能预测准多少个)
c.对于给定的测试数据集,分类器正确分类的样本数与总样本数之比,相对真实概率的总精度。
d.f-measure是一种统计量,F-Measure又称为F-Score,F-Measure是Precision和Recall加权调和平均,是IR(信息检索)领域的常用的一个评价标准,常用于评价分类模型的好坏。

roc曲线X轴是假阳的precision概率(1-阳precision),Y轴是真阳的recall概率,x的术语是1-特异度(1-特异度=误诊率=1-阳precision),y的术语是灵敏度(灵敏度=1-漏诊率=阳recall)。理论上当然是x=0,y=1最好啊(灵敏度足够高,误诊率足够低),但是两者实际上是由相互制约的关系,而ROC曲线实际上是通过阈值调整来实现的。比如阈值很低,当高于这个阈值,判定为阳,低于则判定为阴,那么阈值越低,阳recall的概率会越大(因为很容易判定为阳,所以本身为阳的样本很容易就被判为阳了),但随之很多阴的样本也被判定为阳了,此时y灵敏度变高,x误诊率也变高了。所以ROC曲线最终的终点都会是(1,1),表示所有的数据都会被判定为阳,那么阳recall概率肯定为1,阳precision趋于0,则1-阳precision的概率也会趋于1。

有了ROC曲线,会对模型有一个定性的分析,如果要对模型进行量化的分析,此时需要引入一个新的概念,就是AUC(Area under roc Curve)面积,这个概念其实很简单,就是指ROC曲线下的面积大小,而计算AUC值只需要沿着ROC横轴做积分就可以了。真实场景中ROC曲线一般都会在在0.5~1之间。AUC的值越大,说明该模型的性能越好。(面积越大,说明曲线越偏左,表示真阳概率高,假阴概率低啊!找到那个阈值,不就很好了么)
最佳界值的确定常用“尤登指数”,即敏感性+特异性-1(Y-X的最大值,相当于阳recall+阳precision的最大值),该指数值的取最大值处就是最佳的界值。

  • 数据平衡问题
    一般来说,正负种类的数据样本,比例在1:3至3:1之间会比较合适,即较少类别至少占比25%。而实现种类平衡的方法比较简单的有两种:
    a、抽样选择样本数目
    b、克隆样本

  • 训练集和测试集数目问题
    文中说的是训练集占0~0.7左右,表示存疑。

5 关联推荐算法(图书推荐案例)

图书推荐案例没有什么好讲的,讲一下另外两个简单的知识点

  • 关联规则
    比如说购买尿布和啤酒的关联规则,如果有10个订单,其中有8个订单同时出现了尿布和啤酒,则关联性support=0.8
  • 置信度
    置信度是认为设置的阈值,比如设置confidence=0.6,如果support>confidence,则认为是强关联规则。
    所以这真的是两个很简单的概念。

6 kmeans聚类算法(医疗挖掘案例)

image.png
采用的DB指数评价的聚类效果。各种聚类评价指标参见:
https://blog.csdn.net/sinat_33363493/article/details/52496011
image.png

7 文本挖掘案例(朴素贝叶斯和SVM)

image.png

案例也没啥好说的。。
经过分词以后,维度太高,一般来说解决高纬度的问题,朴素贝叶斯和svm会比较适合。

8 语言识别(还是贝叶斯吧)

image.png

可以根据分词来判断属于某种语言的概率,但是其实内部会有很多判断条件,直接编程序进行先行判断会更直接一点:


image.png

9 回顾特征选择+随机森林

9.1 特征选择
  • PCA和特征选择
    都是实现降维的方法,PCA不讲,特征选择有一种MRMR方法,Minimum-redundancy-maximum-relevance (MRMR) feature selection,也译作最大相 关最小冗余特征选择算法。


    image.png
  • weight权重
    有大量的权重选择方法,例如基于gini系数的权重、基于信息增益、信息
    增益比的权重选择方法,甚至基于SVM的权重选择方法、乃至于基于relief权重选择。
    但是其实维度的缩放,本身也是一种权重选择啊,缩放得越厉害,维度的影响就越小了。
9.2 随机森林
image.png

简单理解以下哈,随机森林就是包含有很多科决策树的决策树算法,最终的分类是根据各个分类器的投票决定的。。。

image.png

参数选择很重要:没科决策树的枝干数目(特征数目),以及树的数量。

10 天体物理小案例和生物制药案例(强调特征选择)

10.1 天体物理

捕捉到的宇宙粒子中,大约10000颗粒子被记录 才能捕获到10个中微子,所以我们需要通过别的方式来高效、准确地确认如何利用观测数 据来分辨中微子。


image.png

流程:MRMR降维→随机森林决策。
然而参数的选择,可能比算法本身更重要。


image.png
10.2 生物制药
image.png

引入了三种方法来进行特征选择:
向前选择,向后淘汰(这两个就像剪枝一样),定向搜索。
整个过程其实是优化过程呐。。。因为这个案例的目的就是选择最典型的特征

  • 特征选择后的随机验证


    image.png
image.png

并没有理解其中的算法逻辑,可能是因为也没有看到他优化目标函数。

11 异常检测

异常检测可以说没有固定的算法,文中给出了一个聚类的异常检测方法:
判断某一个点到该聚类中心点的距离,如果过大,可能就是异常。

12 科学验证和集成学习

12.1 科学验证
image.png
  • 数据处理步骤的选择
  • 算法的选择
  • 算法参数的选择
  • 交叉验证模型季度
  • 验证结果的方法选择
  • 其他选择
12.2 集成学习

集成算法就是多个决策 者在特定的规则下进行预测的学习方法。
https://cloud.tencent.com/developer/news/229098

  • Bagging算法:通过选取抽样得到训练集Sn,进而得到模型Hn,最终根据多次模型结果进行 投票分类任务学习,或者平均值来预测连续值
  • Boosting算法:通过不停地改变样本分布来选择最佳弱分类器;改变样本即总是分类正确的 样本权重降低,总是分类错误的样本权重增加,从而使得弱分类器能够准确预测每个样本
  • Adaboost算法: 是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分 类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
    暂时都不管- -

最后是一些答疑,不管。

相关文章

网友评论

    本文标题:【学习】数据挖掘-公开课学习

    本文链接:https://www.haomeiwen.com/subject/dplxjctx.html