数据挖掘方法论
- 业务理解(business understanding)
从商业角度理解项目的目标和要求,接着把这些理解知识通过理论分析转化为数据挖掘可操作的问题,制定实现目标的初步规划; - 数据理解(data understanding)
数据理解阶段开始于原始数据的收集,然后是熟悉数据、甄别数据质量问题、探索对数据的初步理解、发觉令人感兴趣的子集以形成对探索信息的假设; - 数据准备(data preparation)
数据准备阶段指从最初原始数据中未加工的数据构造数据挖掘所需信息的活动。数据准备任务可能被实施多次,而且没有任何规定的顺序。这些任务的主要目的是从源系统根据维度分析的要求,获取所需要的信息,需要对数据进行转换、清洗、构造、整合等数据预处理工作; - 建模(modeling)
在此阶段,主要是选择和应用各种建模技术。同时对它们的参数进行调优,以达到最优值。通常对同一个数据挖掘问题类型,会有多种建模技术。一些技术对数据形式有特殊的要求,常常需要重新返回到数据准备阶段; - 模型评估(evaluation)
在模型部署发布前,需要从技术层面判断模型效果和检查建立模型的各个步骤,以及根据商业目标评估模型在实际商业场景中的实用性。此阶段关键目的是判断是否存在一些重要的商业问题仍未得到充分考虑; - 模型部署(deployment)
模型完成后,由模型使用者(客户)根据当时背景和目标完成情况,封装满足业务系统使用需求。
以上6点引用自该文章:
数据挖掘十大算法
分类算法
C4.5
C4.5算法是决策树中一种经典算法,C4.5是ID3算法的一种延续和优化,主要在ID3算法上进行改进,主要点有:
- 用信息增益率来选择划分特征,克服了用信息增益选择的不足,但信息增益率对可取值数目较少的属性有所偏好;
- 能够处理离散型和连续型的属性类型,即将连续型的属性进行离散化处理;
- 能够处理具有缺失属性值的训练数据;
- 在构造树的过程中进行剪枝;
ID3是基本的决策树构建算法,作为决策树经典的构建算法,其具有结构简单、清晰易懂的特点。虽然ID3比较灵活方便,但是有以下几个缺点:
(1)采用信息增益进行分裂,分裂的精确度可能没有采用信息增益率进行分裂高
(2)不能处理连续型数据,只能通过离散化将连续性数据转化为离散型数据
(3)不能处理缺省值
(4)没有对决策树进行剪枝处理,很可能会出现过拟合的问题
附参考资料:
决策树系列(三)——ID3
什么是决策树?
决策树就是运用树的结构进行决策,每一个非叶子节点作为一个判断条件,每一个叶子节点是结论,从根节点开始,经过多次旁段从而得出结论。
附:
决策树系列(一)——基础知识回顾与总结
朴素贝叶斯
朴素贝叶斯以贝叶斯原理为基础的一种算法。贝叶斯原理跟随机变量的条件概率移机边缘概率分布有关,它用于对事件之间发生概率的关系的陈述,贝叶斯公式的一个用途就是通过已知的三个概率函数推出第四个。
朴素贝叶斯的主要优点有:
1.朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
2.对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
3.对缺失数据不太敏感,算法也比较简单,常用于文本分类。
朴素贝叶斯的主要缺点有:
1.理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
2.需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
3.由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
4.对输入数据的表达形式很敏感。
附参考资料:
朴素贝叶斯
SVM
SVM(支持向量机(Support Vector Machine, SVM))是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier).
附参考资料:
支持向量机 SVM(非常详细)
KNN
KNN(K-NearestNeighbor) K最近邻算法, 一种监督学习算法。 原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。
优点
- 理论成熟 简单易理解
- 可解决分类问题与回归问题
- 异常点不敏感,准确度较高,一般作为基准(收敛效果渐进贝叶斯)
- 适用于重叠较多的待分样本或类域的交叉。
缺点
- 惰性加载(惰性指模型仅通过对训练数据集的记忆功能进行预测,而不产生判别函数),内存消耗大(计算量大),效率低(包括优化完的算法)
- 高度数据相关,样本不平衡时 对稀有类别的预测准确率低
- 相比决策模型, KNN可解释性不强
- 维数灾难:随着维度增加看似相近的点之间的距离越来越大, 但是knn非常依赖距离
附参考资料:
KNN算法
Adaboost
AdaBoost是一种迭代算法,核心思想也就是集成学习的思想,针对同一个训练集训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
附参考资料:
AdaBoost
🍡 关于Adaboost
Adaboost
CART
CART(分类回归树算法)
聚类算法
K-Means
k-means算法,也被称为k-平均或k-均值,是一种得到最广泛使用的聚类算法。 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个聚类内紧凑,类间独立。这一算法不适合处理离散型属性,但是对于连续型具有较好的聚类效果。
EM
EM算法(最大期望算法)是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。
EM算法就是:假设我们通过估计知道A和B两个参数,在开始状态下二者都是未知的,并且知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。
关联分析
Apriori
Apriori 算法使用一种称作逐层搜索的迭代方法,k- 项集用于探索(k+1)- 项集。首先,找出频繁 1- 项集的集合。该集合记作L1。L1 用于找频繁2- 项集的集合 L2,而L2 用于找L2,如此下去,直到不能找到 k- 项集。每找一个 Lk 需要一次数据库扫描。为提高频繁项集逐层产生的效率,一种称作Apriori 性质的重 要性质 用于压缩搜索空间。其运行定理在于一是频繁项集的所有非空子集都必须也是频繁的,二是非频繁项集的所有父集都是非频繁的。
连接分析
PageRank
PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。PageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。