01 前言 在数据领域,特别是数据挖掘中,对于预测类分析,线性回归、分类算法以及聚类算法是最经常用的三种算法。它们的区别是哪呢? 首先线性回归针对的目标变量是连续型或有序值,往往用来对未来的销量/利润等等的预测。而分类和聚类针对的目标变量是离散型或类属标号,是用来对未知类别的分类,其中,分类是属于有监督学习,而聚类则是属于无监督学习。 02 分类 分类的模型训练为:训练数据 → 分类算法 → 分类规则。其中,分类算法包括有:①决策树;②贝叶斯;③神经网络... 决策树分析是较为常用的分类算法,最早的是ID3算法,后面逐渐优化到C4.5,以及C5.0算法。区别是在于决策树的修剪。 本文介绍的是用决策树分析算法,通过Excel的建模来简单介绍这个分类算法。 >>>案例数据 下图为我们的数据,其中E列【是否打球】则为我们的目标变量。 >>>操作步骤 1. 计算整个样本集的信息熵,公式为: 2. 计算出各类属性的信息增益,信息增益的公式为 Gain(S/A)=E(S)-E(A)。本例中有4个因子属性,因此分别求出四个信息增益。 3.接下来对信息增益进行排序。 从结果可以看出,Gain(天气)
> Gain(湿度)
> Gain(是否有风)
> Gain(温度),所以选择天气作为第一层分支节点。对于其每一个分支,重复前面三步,直至决策树生成完毕。 以上是ID3的算法,则依次求出所有分支,直到决策树全部构建完全。而如果使用了C5.0算法,则是用信息增益比例来进行排序,对应某些比例较低的分支将做减枝,以此提高效率。 比如下图则为C5.0算法得出的决策树。 03 聚类 聚类是将一组对象中距离近的或者相似度高的分在一组,实现簇间距离最大化,簇内距离最小化。聚类是完全按照数据的分布进行类别划分,没有任何指导信息,大小和解构也都没有事先设定。 聚类类型算法也很多,最典型的是K-Means算法(K均值)。本文也是用最简单的数据来建模,尝试理解K-Means聚类方法。 >>> 案例数据 这里使用的是简单的样本数据。本身的数据也是有很明显的聚类效果。 >>> 操作步骤 1.我们先用A点为聚点,求出欧式距离d。距离公式为: 2.根据距离d,求出平均值,然后根据平均值高低来分簇,如C1,C2 3. 这个时候,我们引用C1,C2的数据插入图形,便可以得到图形。 4.上述是第一次聚类。接下来对C1,C2组内的x,y求均值得到聚点C11,C12。同样求出各点到C11,C12的距离。 5.同理,也根据距离来排序,分簇。最终用得到分簇的结果与第一次分簇结果来校验是否一致。 从上面结果,我们可以看出两次分簇的结果是一致的。 04 最后 当然,在实际工作生活中,真正面对的数据是很复杂的。一般使用的是统计软件SAS, SPSS来辅助生成结果。本文浅尝即止,所采用的样本数据简单且明显,故使用Excel建模即可生成。 |
|
来自: F2967527 > 《Excel 机器学习算法》