一种基于决策树算法的制造业材料采购分析方法与流程

文档序号:11063805阅读:884来源:国知局
一种基于决策树算法的制造业材料采购分析方法与制造工艺

本发明涉及企业管理领域,具体地涉及用算法分析制造业材料采购问题领域。



背景技术:

随着全球市场一体化以及信息时代的来临,专业生产能够发挥其巨大的作用,企业采购的比重也大大增加,采购的重要性日益被人们所认识。在全球范围内,在工业企业的产品构成中,采购的原料以及零部件成本随着行业不同而不同,大体在30%-90%,平均水平在60%以上。从世界范围来说,对于一个典型的企业,采购成本(包括原材料,零部件)要占60%。而在中国的工业企业,各种物资的采购成本要占到企业销售成本的70%。显然采购成本是企业管理中的主体和核心部分,采购是企业管理中“最有价值”的部分。另外,根据国家经贸委1999年发布的有关数据,如果国有大中型企业每年降低采购成本2%-3%,则可增加效益500多亿人民币,相当于1997年国有工业企业实现的利润总和。因此,采购受到了社会各界相当的重视,促使采购研究成为当今社会的热点问题之一。

C4.5算法是决策树类算法的一种,由Quinlan于1993年提出,现已居于决策树经典分类之首。C4.5算法是ID3算法的改进算法,是一种基于信息增益率的决策分析算法。具体而言,它是以算法选择信息增益的扩充信息增益率为属性选择度量,争取克服算法中关于多值属性选择的偏向性问题,其关于决策树分类器模型的构造过程同算法相同。

C4.5算法产生的分类规则易于理解,准确率较高。但是在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的效率较低。并且,由于其根据字段进行分类的特性,当类别较多时,其错误率较高。



技术实现要素:

针对现有技术的上述不足,本发明要解决的技术问题是提供一种基于C4.5算法的制造业材料采购分析方法。

本发明的目的是克服现有技术中存在的问题:C4.5算法扫描样本次数多效率低,准确率达不到想要效果以及C4.5在物料采购分析时只是基于字段分析,错误率高。

本发明为实现上述目的所采用的技术方案是:一种基于C4.5算法的制造业材料采购分析方法。该算法的步骤如下:

步骤1:计算属性的信息熵:把采购的供应商、价格、数量等信息作为C4.5算法的样本集参数,按照算法计算出属性的信息熵。

步骤2:计算分割后的类别的条件熵:将样本集分割成若干个属性,计算属性条件熵。

步骤3:计算类别的信息熵:利用信息熵公式计算类别的信息熵。

步骤4:判断所有属性是否计算完,已计算完转到步骤1,否则转步骤5。

步骤5:计算信息增益率:信息增益率为属性的信息熵与类别信息熵之差。

步骤6:按分裂属性值创建决策树:在某一属性集合中将最大增益率的属性作为分列属性,将最大增益率的属性作为树双亲结点,其余的作为该结点的孩子。

步骤7:剪枝判定:当决策树划分得太细,数据量很大时,需要设定一个规则,使算法及时收敛,避免算法的无限分支和无限增长,即剪枝。本发明采用前剪枝法结合树深度限定法对决策树进行剪枝。

步骤8:判断是否构建完决策树,如果构建完成,则转步骤9,否则转步骤1。

步骤9:输出决策分析结果:本发明采用后剪枝法对建立好的决策树进行剪枝,构建最优决策树。最优决策树即为决策分析结果。

本发明的有益效果是:

1.通过前剪枝法和树深度限定法对决策树的分割进行限制,防止算法无限发散。

2.利用信息增益标准差作为前剪枝法的限定条件,提高了算法的准确率。

3.通过后剪枝法构建最优决策树。简单有效,易于实现和理解。最优决策树将给出一个确定的采购方案,简单明了,实用性高。

附图说明

图1为一种基于C4.5算法的制造业材料采购分析方法流程图

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合算法流程图 进行详细、具体说明。

一、算法基本思想

决策树是一种基于分类思想的决策分析方法,ID3算法是基于信息增量的决策树分析算法,C4.5算法是ID3算法的改进算法,是一种基于信息增益率的决策分析算法。本发明通过利用改进的C4.5算法分析预测制造业材料的采购问题。通过前剪枝法和树深度限定法对决策树的分割进行限制,通过后剪枝法构建最优决策树。最优决策树将给出一个确定的采购方案,即:哪个材料到哪个供应商那里去采购,采购多少,才能保证作业车间生产正常有序进行。

二、具体实施步骤

将物料供应商的类型、等级、所能供给的数量、所供给物料的质量信用度、供应商规模等信息抽象到C4.5算法中,作为算法的数据样本、属性等参数。具体问题具体给出对应的参数关系。改进的C4.5算法具体实施步骤如下:

步骤1:计算属性的信息熵:设S为已知类标号的数据样本集,类标号属性为C={Ci|i=1,2,...,z},定义了m个不同类的Ci(i=1,2,...,z)。设Ci,s是S中Ci类数据样本的集合,|S|和|Ci,s|分别表示S和Ci,s的样本个数。则对Ci,s的信息熵Info(S)定义如下:

其中,pi是Ci,s中任意数据样本属于类Ci的概率,Info(S)的实际意义是类别S中数据样本分类的平均信息量。

步骤2:计算分割后的类别的条件熵:若分类属性Ai={aij|j=1,2,...,ni}将S划分成ni个不同的子集Sij={(Xi,Yi)∈S|xij=aij}表示数据样本集S中在Ai上的取值为aij的所有样本组成的集合。选择S的一个属性A,则类别分割后的类别条件熵计算公式为:

步骤3:计算类别的信息熵:若选择属性Ai作为分裂属性,则类别信息熵为:

步骤4:判断所有属性是否计算完,已计算完转到步骤1,否则转步骤5。

步骤5:信息增益率的计算:信息增益率使用分裂信息值将信息增益规范化。属性Ai的信息增益为

从信息增益的计算公式可以看出,Gain(Ai)的实际意义是基于属性Ai分裂后,数据集所含信息量的有效减少量。信息增益越大,表明按属性Ai对数据集分裂所需的期望信息越少,即属性Ai解决的不确定信息量越大,分裂后的输出分区越纯。

则信息增益率为:

步骤6:按分裂属性值创建决策树:决策树基于数据结构中树的概念。决策树C4.5的创建是通过将所有属性的信息增益率按大小排序,然后将各个属性作为分支的根节点的顺序。

在某一属性集合中将最大增益率的属性作为分列属性,即θ=max{GainRatio(A)},即将最大增益率的属性作为树双亲结点,其余的作为该结点的孩子。

步骤7:剪枝判定:当决策树划分得太细,数据量很大时,需要设定一个规则,使算法及时收敛,避免算法无限分支无限增长,即剪枝。本发明采用前剪枝法结合树深度限定法对决策树进行剪枝。具体的实施如下:

前剪枝法:前剪枝法是指在构造树的过程中知道某些节点可以剪掉时,就不对此类节点进行分裂。本发明通过计算增益率方差来确定是否对某一节点剪枝。增益率标准差大于某一设定值,则对该节点剪枝,否则可以分割建立其子树。数学公式描述为:

σi=GainRatio(Ai)-μ

如果σi>ε(标准差限定值),则剪枝,否则继续分割生成决策子树。

树深度限定法:设定一个确定的树深度值L,当决策树的深度到达L以后,停止分割。

步骤8:判断是否构建完决策树,如果构建完成,则转步骤9,否则转步骤1。

步骤9:输出决策分析结果:创建了决策树后,可以清晰的看到各个属性的效果,但是要得到一个具体的方案,还需要进一步的分析才能得到确切的决策方案。本发明采用后剪枝法对建立好的决策树进行剪枝,最后留下最优决策树作为最终的决策树。后剪枝方法描述为:在建立好一颗决策树以后,通过一定的剪枝标准来确定该剪掉的子树。本发明对后剪枝标准设定为:通过计算价值函数值,来判定如何构建最优决策树。价值函数用信息增益来刻画。具体计算如下:

(1)在决策树的第L层剪枝:

计算第L层节点的价值函数值:cl,i=Gain(Ai)。

选第L层节点中价值函数值最大的节点作为最优决策树第L层的右孩子,选该右孩子的兄弟节点中价值函数值最大的兄弟节点作为最优决策树第L层的左孩子。其余的第L层的节点剪掉。

(2)在决策树第2层到(L-1)层节点剪枝:

计算第l层的价值函数:

cl,i=cl+1,i+Gain(Ai),l=2,3,...,(L-1)。

其中,cl+1,i为第l层节点的在第(l+1)层的还未被剪掉的孩子价值,明显地,如果没有留下来的孩子,则cl+1,i=0。同样的,选第l层节点中价值函数值最大的节点作为最优决策树第l层的右孩子,选该右孩子的兄弟节点中价值函数值最大的兄弟节点作为最优决策树第l层的左孩子。其余的第l层的节点剪掉。如此下去,最终会得到一棵最优决策树。最优决策树即为决策分析结果。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1