《云计算下SPRINT并行算法研究》张春艳《软件》201第31卷 第11期
论文的主要内容是:在云计算的Hadoop集群框架和数据挖掘技术中的 SPRINT 分类算法的基础上。详细描述SPRINT并行算法在 Hadoop中的MapReduce编程模型上的执行流程。并利用分折出的决策树模型 对输入数据进行分类。
名词:map-reduce,map就是将一个任务分解成为多个任务。reduce就是将分解后多任务处理的结果汇总起来。得出最后的分析结果。
主要的数学公式:
1、分裂指数是属性分裂规则优劣程度的一个度量,Gini指数方法能够有效地搜索最佳分裂点。提供最小Gini指数的分割具有最大信息增益。被选为最佳分割。在 SPRINT算法中采用了 Gini指数方法 ,这对于生成一棵好的决策树至关重要。
(1)如果集合 T包含 n个类别 的 m条记录,则其
Gini指 数为 :
n
Gini(T)=1- Σ Pj2
j=1
其中P 为类 J出现的频率。
根据以上方法。得到所有属性的候选最佳分裂点。选择具有最小 Gini值 的侯选最佳分裂点 。即为最终的最佳分裂点。相应属性为当前分裂属性。
(2)“信息增益”(Information Gain)来衡量一个属性区分以上数据样本的能力。信息增益量越大,这个属性作为一棵树的根节点就能使这棵树更简洁。
样本的熵:Entropy(S) =-(p+)*log(p+)-(p-)*log(p-)
其中,p+、p-分别为正例和负例占总记录的比例。
属性A的信息增益:Gain(A)=Entropy(S)-( p1)*Entropy(A1)-( p2)*Entropy(A2)
p1,p2分别是属性A取值A1,A2占得比例。
根据以上方法,得到所有属性的信息增益,根据信息增益最大化的原则选择信息增益最大的属性作为根节点。
疑问:
(1)reduce操作 。对于连续属性要对属性值进行从小到大排序。排序同时生成直方图,初始阶段为 0,这里指什么为0?为什么要排序?