实验三决策树算法实验实验报告

合集下载

决策树分类实习报告

决策树分类实习报告

实习报告:决策树分类实验一、实习背景随着人工智能和机器学习的不断发展,越来越多的任务需要使用机器学习算法进行数据分析和处理。

决策树作为一种常见的机器学习算法,在分类和回归任务中有着广泛的应用。

本次实习,我选择了决策树分类任务,并使用Python的sklearn库进行实验。

二、实习目的1. 熟悉决策树算法的基本原理和实现方式;2. 掌握决策树模型的训练、评估和改进方法;3. 应用决策树算法解决实际问题,提高对机器学习算法的理解和应用能力。

三、实习内容1. 数据集选取与预处理:本次实验选用OpenML的汽车数据集,包含214个样本,11个特征。

首先,对数据集进行加载和探索性分析,了解数据的分布和特点。

然后,进行数据预处理,包括缺失值填充、异常值处理和特征选择等。

2. 模型训练与评估:使用决策树分类器对预处理后的数据集进行训练。

通过调整模型参数,如最大深度、分裂准则等,评估不同模型在测试集上的性能。

评估指标包括准确率、召回率、F1分数等。

3. 改进模型:为了提高模型性能,采用GridSearchCV方法寻找最佳的超参数组合。

同时,针对过拟合问题,限制树的最大深度,并调整类别权重以应对数据集的不平衡。

4. 结果展示:最后,在使用最佳参数的决策树模型上,对测试集进行预测,并使用混淆矩阵、准确率评分和分类报告形式展示模型结果。

四、实习心得1. 决策树算法易于理解和实现,但模型性能受到参数设置的影响较大。

因此,在实际应用中,需要对参数进行调整和优化。

2. GridSearchCV方法是一种有效的参数调整工具,可以较大程度地提高模型性能。

3. 过拟合问题是决策树算法常见的问题之一。

通过限制树的最大深度、调整类别权重等方法,可以有效减轻过拟合现象,提高模型在实际任务中的表现。

4. 本次实习使我更深入地了解了决策树算法,提高了我在实际项目中应用机器学习算法的能力。

五、实习展望1. 进一步学习其他机器学习算法,如支持向量机、随机森林等,提高模型的泛化能力。

(完整版)生物数据挖掘-决策树实验报告

(完整版)生物数据挖掘-决策树实验报告

实验四决策树一、实验目的1.了解典型决策树算法2.熟悉决策树算法的思路与步骤3.掌握运用Matlab对数据集做决策树分析的方法二、实验内容1.运用Matlab对数据集做决策树分析三、实验步骤1.写出对决策树算法的理解决策树方法是数据挖掘的重要方法之一,它是利用树形结构的特性来对数据进行分类的一种方法。

决策树学习从一组无规则、无次序的事例中推理出有用的分类规则,是一种实例为基础的归纳学习算法。

决策树首先利用训练数据集合生成一个测试函数,根据不同的权值建立树的分支,即叶子结点,在每个叶子节点下又建立层次结点和分支,如此重利生成决策树,然后对决策树进行剪树处理,最后把决策树转换成规则。

决策树的最大优点是直观,以树状图的形式表现预测结果,而且这个结果可以进行解释。

决策树主要用于聚类和分类方面的应用。

决策树是一树状结构,它的每一个叶子节点对应着一个分类,非叶子节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分成若干个子集。

构造决策树的核心问题是在每一步如何选择适当的属性对样本进行拆分。

对一个分类问题,从已知类标记的训练样本中学习并构造出决策树是一个自上而下分而治之的过程。

2.启动Matlab,运用Matlab对数据集进行决策树分析,写出算法名称、数据集名称、关键代码,记录实验过程,实验结果,并分析实验结果(1)算法名称: ID3算法ID3算法是最经典的决策树分类算法。

ID3算法基于信息熵来选择最佳的测试属性,它选择当前样本集中具有最大信息增益值的属性作为测试属性;样本集的划分则依据测试属性的取值进行,测试属性有多少个不同的取值就将样本集划分为多少个子样本集,同时决策树上相应于该样本集的节点长出新的叶子节点。

ID3算法根据信息论的理论,采用划分后样本集的不确定性作为衡量划分好坏的标准,用信息增益值度量不确定性:信息增益值越大,不确定性越小。

因此,ID3算法在每个非叶节点选择信息增益最大的属性作为测试属性,这样可以得到当前情况下最纯的划分,从而得到较小的决策树。

实验三决策树算法实验实验报告

实验三决策树算法实验实验报告

实验三决策树算法实验实验报告一、引言决策树算法是一种常用的机器学习算法,它通过构建一个决策树模型来解决分类和回归问题。

在本次实验中,我们将使用决策树算法对一个分类问题进行建模,评估算法的性能,并对实验结果进行分析和总结。

二、实验目的1.学习理解决策树算法的基本原理和建模过程。

2. 掌握使用Python编程实现决策树算法。

3.分析决策树算法在不同数据集上的性能表现。

三、实验过程1.数据集介绍2.决策树算法实现我们使用Python编程语言实现了决策树算法。

首先,我们将数据集随机分为训练集和测试集,其中训练集占70%,测试集占30%。

然后,我们使用训练集来构建决策树模型。

在构建决策树时,我们采用了ID3算法,该算法根据信息增益来选择最优的特征进行分割。

最后,我们使用测试集来评估决策树模型的性能,计算并输出准确率和召回率。

3.实验结果与分析我们对实验结果进行了统计和分析。

在本次实验中,决策树算法在测试集上的准确率为0.95,召回率为0.94、这表明决策树模型对于鸢尾花分类问题具有很好的性能。

通过分析决策树模型,我们发现花瓣长度是最重要的特征,它能够很好地区分不同种类的鸢尾花。

四、实验总结通过本次实验,我们学习了决策树算法的基本原理和建模过程,并使用Python实现了决策树算法。

通过实验结果分析,我们发现决策树算法在鸢尾花分类问题上具有很好的性能。

然而,决策树算法也存在一些不足之处,例如容易过拟合和对数据的敏感性较强等。

在实际应用中,可以使用集成学习方法如随机森林来改进决策树算法的性能。

决策方法分析实验报告(3篇)

决策方法分析实验报告(3篇)

第1篇一、实验背景在现代社会,决策无处不在,无论是企业运营、政府管理还是个人生活,都需要做出各种决策。

有效的决策方法对于提高决策质量、降低决策风险具有重要意义。

本实验旨在通过分析不同的决策方法,探讨其在实际应用中的优势和局限性,为今后的决策实践提供参考。

二、实验目的1. 了解常见的决策方法及其基本原理。

2. 分析不同决策方法在实践中的应用效果。

3. 探讨决策方法在实际应用中的优势和局限性。

4. 提出优化决策方法的建议。

三、实验内容1. 实验方法本实验采用文献研究、案例分析、比较分析等方法,对以下决策方法进行分析:(1)专家决策法(2)德尔菲法(3)头脑风暴法(4)SWOT分析法(5)决策树法(6)模糊综合评价法2. 实验步骤(1)查阅相关文献,了解各种决策方法的基本原理和适用范围。

(2)收集实际案例,分析不同决策方法在案例中的应用效果。

(3)比较分析各种决策方法的优缺点,探讨其在实际应用中的适用性。

(4)总结实验结果,提出优化决策方法的建议。

四、实验结果与分析1. 专家决策法专家决策法是一种基于专家经验的决策方法。

其优点是决策速度快、成本低,且能充分利用专家的知识和经验。

但缺点是容易受到专家主观因素的影响,且决策结果缺乏客观性。

2. 德尔菲法德尔菲法是一种通过多轮匿名调查,逐步收敛意见的决策方法。

其优点是能减少个体主观因素的影响,提高决策的客观性。

但缺点是决策过程复杂,耗时较长。

3. 头脑风暴法头脑风暴法是一种通过集体讨论,激发创意的决策方法。

其优点是能充分发挥集体的智慧,提高决策的创造性。

但缺点是容易受到群体思维的影响,且决策结果缺乏严谨性。

4. SWOT分析法SWOT分析法是一种通过分析企业的优势、劣势、机会和威胁,制定战略决策的方法。

其优点是能全面分析企业内外部环境,为决策提供依据。

但缺点是分析结果容易受到主观因素的影响。

5. 决策树法决策树法是一种通过构建决策树,对决策问题进行定性和定量分析的方法。

决策树算法实验总结

决策树算法实验总结

决策树算法实验总结
决策树算法是一种常用的机器学习算法,它通过对数据集进行递归划分,构建出一棵树状的决策模型。

在实验中,我们使用了决策树算法进行分类任务,并对实验结果进行总结。

首先,我们需要准备一个带有标签的训练数据集,其中包含了多个特征和对应的类别标签。

然后,我们可以使用决策树算法对训练数据集进行训练,构建出一棵具有判断条件的决策树。

在实验中,我们可以使用不同的指标来评估决策树算法的性能,例如准确率、精确率、召回率等。

这些指标可以帮助我们了解决策树算法在分类任务中的表现。

此外,我们还可以通过调整决策树算法的参数来提高其性能。

例如,可以通过限制树的最大深度、设置叶子节点的最小样本数等来控制决策树的复杂度,避免过拟合问题。

在实验总结中,我们可以描述决策树算法在实验中的表现,比较其与其他算法的优劣势,并提出进一步改进的方向。

此外,还可以讨论决策树算法在不同数据集上的适用性,并分析其在实际应用中可能遇到的问题和局限性。

总而言之,决策树算法是一种简单而有效的机器学习算法,可以用于分类任务。

通过实验总结,我们可以更好地理解决策树算法的原理和性能,为进一步的应用和改进提供指导。

实验报告 决策树

实验报告 决策树

4 0.01000000
3 0.03909774 0.09182077 0.03029535
Variable importance
Petal.Width Petal.Length Sepal.Length Sepal.Width
32
32
22
14
Node number 1: 114 observations, complexity param=0.75 mean=2, MSE=0.6666667 left son=2 (38 obs) right son=3 (76 obs) Primary splits: Petal.Length < 2.6 to the left, improve=0.7500000, (0 missing) Petal.Width < 0.8 to the left, improve=0.7500000, (0 missing) Sepal.Length < 5.55 to the left, improve=0.5917874, (0 missing) Sepal.Width < 3.35 to the right, improve=0.2148810, (0 missing) Surrogate splits: Petal.Width < 0.8 to the left, agree=1.000, adj=1.000, (0
1 1 1 1 1 ...
> summary(iris)
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
批注 [U1]: 清除 workplace 中所有变量 批注 [U2]: 清除内存垃圾

决策树 实验报告

决策树 实验报告

实验(实习)名称决策树分析一.实验要求:(1)学习决策树分类学习方法,学习其中C4.5学习算法,了解其他ADtree、Id3等其它分类学习方法。

(2)应用Weka软件,学会导入数据文件,并对数据文件进行预处理。

(3)学会如何选择学习函数并调节学习训练参数以达到最佳学习效果。

(4)学习并应用其他决策树学习算法,可以进行各种算法对照比较。

二.实验操作(1)在开始程序(或者桌面图标)中找到WEKA3.6.2,单击即可启动WEKA,启动WEKA 时会发现首先出现的一个命令提示符。

接着将出现如下Weka GUI Chooser界面。

(2)选择GUI Chooser中的探索者(Explorer)用户界面。

点击预处理(Preprocess)功能按钮的,Open file,选择其中的“weather”数据作关联规则的分析。

打开“weather.arff”,可以看到“Current relation”、“Attributes”“Selected attribute”三个区域。

(3)点击“Classify”选项卡。

单击左上方的Choose按钮,在随后打开的层级式菜单中的tree部分找到J48。

(4)选中J48分类器后,J48以及它的相关默认参数值出现在Choose按钮旁边的条形框中。

单击这个条形框会打开J48分类器的对象编辑器,编辑器会显示J48的各个参数的含义。

根据实际情况选择适当的参数,探索者通常会合理地设定这些参数的默认值。

三.实验结果:计算正确率可得:(74+132)/(74+30+64+132)=0.69四.实验小结:通过本次试验,我学习了决策树分类方法,以及其中C4.5算法,并了解了其他ADtree、Id3等其它分类方法,应用Weka软件,学会导入数据文件,并对数据文件进行预处理,今后还需努力。

决策树实验报告

决策树实验报告

决策树实验报告决策树实验报告引言决策树是一种常见的机器学习算法,被广泛应用于数据挖掘和预测分析等领域。

本文将介绍决策树的基本原理、实验过程和结果分析,以及对决策树算法的优化和应用的思考。

一、决策树的基本原理决策树是一种基于树形结构的分类模型,通过一系列的判断和决策来对数据进行分类。

决策树的构建过程中,首先选择一个特征作为根节点,然后根据该特征的取值将数据划分为不同的子集,接着对每个子集递归地构建子树,直到满足停止条件。

构建完成后,通过树的分支路径即可对新的数据进行分类。

二、实验过程1. 数据准备为了验证决策树算法的效果,我们选择了一个包含多个特征的数据集。

数据集中包含了学生的性别、年龄、成绩等特征,以及是否通过考试的标签。

我们将数据集分为训练集和测试集,其中训练集用于构建决策树模型,测试集用于评估模型的准确性。

2. 决策树构建在实验中,我们使用了Python编程语言中的scikit-learn库来构建决策树模型。

首先,我们导入所需的库和数据集,并对数据进行预处理,包括缺失值处理、特征选择等。

然后,我们使用训练集来构建决策树模型,设置合适的参数,如最大深度、最小样本数等。

最后,我们使用测试集对模型进行评估,并计算准确率、召回率等指标。

3. 结果分析通过实验,我们得到了决策树模型在测试集上的准确率为80%。

这意味着模型能够正确分类80%的测试样本。

此外,我们还计算了模型的召回率和F1值等指标,用于评估模型的性能。

通过对结果的分析,我们可以发现模型在某些特征上表现较好,而在其他特征上表现较差。

这可能是由于数据集中某些特征对于分类结果的影响较大,而其他特征的影响较小。

三、决策树算法的优化和应用1. 算法优化决策树算法在实际应用中存在一些问题,如容易过拟合、对噪声敏感等。

为了提高模型的性能,可以采取以下措施进行优化。

首先,可以通过剪枝操作减少决策树的复杂度,防止过拟合。

其次,可以使用集成学习方法,如随机森林和梯度提升树,来进一步提高模型的准确性和鲁棒性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三决策树算法实验一、实验目的:熟悉和掌握决策树的分类原理、实质和过程;掌握典型的学习算法和实现技术。

二、实验原理: 决策树学习和分类.三、实验条件:四、实验内容:1 根据现实生活中的原型自己创建一个简单的决策树。

2 要求用这个决策树能解决实际分类决策问题。

五、实验步骤:1、验证性实验:(1)算法伪代码算法Decision_Tree(data,AttributeName) 输入由离散值属性描述的训练样本集data; 候选属性集合AttributeName。

输出一棵决策树。

(1)创建节点N;资料.(2)If samples 都在同一类C中then (3)返回N作为叶节点,以类C标记;(4)If attribute_list为空then(5)返回N作为叶节点,以samples 中最普遍的类标记;//多数表决(6)选择attribute_list 中具有最高信息增益的属性test_attribute; (7)以test_attribute 标记节点N;(8)For each test_attribute 的已知值v //划分samples ;(9)由节点N分出一个对应test_attribute=v的分支;(10令Sv为samples中test_attribute=v 的样本集合;//一个划分块(11)If Sv为空then(12)加上一个叶节点,以samples中最普遍的类标记;(13)Else 加入一个由Decision_Tree(Sv,attribute_list-test_attribute)返回节点值。

(2)实验数据预处理Age:30岁以下标记为“1”;30岁以上50岁以下标记为“2”;50岁以上标记为“3”。

Sex:FEMAL----“1”;MALE----“2”Region:INNER CITY----“1”;TOWN----“2”; RURAL----“3”; SUBURBAN----“4” Income:5000~2万----“1”;2万~4万----“2”;4万以上----“3” Married Children CarMortgage资料.Pep:以上五个条件,若为“是”标记为“1”,若为“否”标记为“2”。

Age sex region income married children car mortgage pep1 2 1 1 2 1 1 2 21 2 1 1 2 2 2 2 12 1 4 1 2 1 2 2 12 1 1 1 1 2 2 2 21 2 1 1 1 2 2 2 21 2 1 1 2 1 2 1 12 1 2 1 1 2 1 1 22 1 1 1 2 1 1 2 12 13 1 2 2 1 2 12 1 2 2 2 1 2 2 22 2 1 2 2 2 2 1 1资料.2 1 2 2 1 1 2 1 12 2 1 2 1 2 2 1 21 1 12 1 2 2 2 13 2 1 2 1 1 1 2 21 1 12 1 1 1 2 11 1 32 2 2 1 2 13 1 2 2 1 2 2 2 13 2 3 3 1 1 1 2 13 2 2 3 1 2 1 1 23 1 3 3 1 1 2 2 13 2 1 3 1 2 1 2 23 2 1 3 1 1 1 1 13 1 1 3 1 2 1 1 2资料.3 1 3 3 1 2 2 2 23 24 3 1 2 2 1 13 1 3 3 2 2 1 1 2(3)Matlab语句:[Tree RulesMatrix]= DecisionTree(DataSet, AttributName);六、实验结果:资料.资料.资料.实验程序:function [Tree RulesMatrix]=DecisionTree(DataSet,AttributName)%输入为训练集,为离散后的数字,如记录1:1 1 3 2 1;%前面为属性列,最后一列为类标if nargin<1error('请输入数据集');elseif isstr(DataSet)[DataSet AttributValue]=readdata2(DataSet);elseAttributValue=[];endend资料.if nargin<2AttributName=[];endAttributs=[1:size(DataSet,2)-1];Tree=CreatTree(DataSet,Attributs);disp([char(13) 'The Decision Tree:']);showTree(Tree,0,0,1,AttributValue,AttributName);Rules=getRule(Tree);RulesMatrix=zeros(size(Rules,1),size(DataSet,2));for i=1:size(Rules,1)rule=cell2struct(Rules(i,1),{'str'});rule=str2num([rule.str([1:(find(rule.str=='C')-1)]) rule.str((find(rule.str=='C')+1):length(rule.str))]);for j=1:(length(rule)-1)/2资料.RulesMatrix(i,rule((j-1)*2+1))=rule(j*2);endRulesMatrix(i,size(DataSet,2))=rule(length(rule));endendfunction Tree=CreatTree(DataSet,Attributs) %决策树程序输入为:数据集,属性名列表%disp(Attributs);[S ValRecords]=ComputEntropy(DataSet,0);if(S==0) %当样例全为一类时退出,返回叶子节点类标for i=1:length(ValRecords)if(length(ValRecords(i).matrix)==size(DataSet,1))break;end资料.endTree.Attribut=i;Tree.Child=[];return;endif(length(Attributs)==0) %当条件属性个数为0时返回占多数的类标mostlabelnum=0;mostlabel=0;for i=1:length(ValRecords)if(length(ValRecords(i).matrix)>mostlabelnum)mostlabelnum=length(ValRecords(i).matrix);mostlabel=i;end资料.endTree.Attribut=mostlabel;Tree.Child=[];return;endfor i=1:length(Attributs)[Sa(i) ValRecord]=ComputEntropy(DataSet,i);Gains(i)=S-Sa(i);AtrributMatric(i).val=ValRecord;end[maxval maxindex]=max(Gains);Tree.Attribut=Attributs(maxindex);Attributs2=[Attributs(1:maxindex-1) Attributs(maxindex+1:length(Attributs))];资料.for j=1:length(AtrributMatric(maxindex).val)DataSet2=[DataSet(AtrributMatric(maxindex).val(j).matrix',1:maxindex-1)DataSet(AtrributMatric(maxindex).val(j).matrix',maxindex+1:size(DataSet,2))];if(size(DataSet2,1)==0)mostlabelnum=0;mostlabel=0;for i=1:length(ValRecords)if(length(ValRecords(i).matrix)>mostlabelnum)mostlabelnum=length(ValRecords(i).matrix);mostlabel=i;endendTree.Child(j).root.Attribut=mostlabel;资料.Tree.Child(j).root.Child=[];elseTree.Child(j).root=CreatTree(DataSet2,Attributs2);endendendfunction [Entropy RecordVal]=ComputEntropy(DataSet,attribut) %计算信息熵if(attribut==0)clnum=0;for i=1:size(DataSet,1)if(DataSet(i,size(DataSet,2))>clnum) %防止下标越界classnum(DataSet(i,size(DataSet,2)))=0;clnum=DataSet(i,size(DataSet,2));资料.RecordVal(DataSet(i,size(DataSet,2))).matrix=[];endclassnum(DataSet(i,size(DataSet,2)))=classnum(DataSet(i,size(DataSet,2)))+1;RecordVal(DataSet(i,size(DataSet,2))).matrix=[RecordVal(DataSet(i,size(DataSet,2))).matrix i];endEntropy=0;for j=1:length(classnum)P=classnum(j)/size(DataSet,1);if(P~=0)Entropy=Entropy+(-P)*log2(P);endend资料.elsevalnum=0;for i=1:size(DataSet,1)if(DataSet(i,attribut)>valnum) %防止参数下标越界clnum(DataSet(i,attribut))=0;valnum=DataSet(i,attribut);Valueexamnum(DataSet(i,attribut))=0;RecordVal(DataSet(i,attribut)).matrix=[]; %将编号保留下来,以方便后面按值分割数据集endif(DataSet(i,size(DataSet,2))>clnum(DataSet(i,attribut))) %防止下标越界Value(DataSet(i,attribut)).classnum(DataSet(i,size(DataSet,2)))=0;clnum(DataSet(i,attribut))=DataSet(i,size(DataSet,2));end资料.Value(DataSet(i,attribut)).classnum(DataSet(i,size(DataSet,2)))= Value(DataSet(i,attribut)).classnum(DataSet(i,size(DataSet,2)))+1;Valueexamnum(DataSet(i,attribut))= Valueexamnum(DataSet(i,attribut))+1;RecordVal(DataSet(i,attribut)).matrix=[RecordVal(DataSet(i,attribut)).matrix i];endEntropy=0;for j=1:valnumEntropys=0;for k=1:length(Value(j).classnum)P=Value(j).classnum(k)/Valueexamnum(j);if(P~=0)Entropys=Entropys+(-P)*log2(P);endend资料.Entropy=Entropy+(Valueexamnum(j)/size(DataSet,1))*Entropys;endendendfunction showTree(Tree,level,value,branch,AttributValue,AttributName)blank=[];for i=1:level-1if(branch(i)==1)blank=[blank ' |'];elseblank=[blank ' '];endend资料.blank=[blank ' '];if(level==0)blank=[' (The Root):'];elseif isempty(AttributValue)blank=[blank '|_____' int2str(value) '______'];elseblank=[blank '|_____' value '______'];endendif(length(Tree.Child)~=0) %非叶子节点if isempty(AttributName)disp([blank 'Attribut ' int2str(Tree.Attribut)]);资料.elsedisp([blank 'Attribut ' AttributName{Tree.Attribut}]);endif isempty(AttributValue)for j=1:length(Tree.Child)-1showTree(Tree.Child(j).root,level+1,j,[branch 1],AttributValue,AttributName);endshowTree(Tree.Child(length(Tree.Child)).root,level+1,length(Tree.Child),[branch(1:length(branch)-1) 0 1],AttributValue,AttributName); elsefor j=1:length(Tree.Child)-1showTree(Tree.Child(j).root,level+1,AttributValue{Tree.Attribut}{j},[branch 1],AttributValue,AttributName);endshowTree(Tree.Child(length(Tree.Child)).root,level+1,AttributValue{Tree.Attribut}{length(Tree.Child)},[branch(1:length(branch)-1) 0资料.1],AttributValue,AttributName);endelseif isempty(AttributValue)disp([blank 'leaf ' int2str(Tree.Attribut)]);elsedisp([blank 'leaf ' AttributValue{length(AttributValue)}{Tree.Attribut}]);endendendfunction Rules=getRule(Tree)if(length(Tree.Child)~=0)Rules={};资料.for i=1:length(Tree.Child)content=getRule(Tree.Child(i).root);%disp(content);%disp([num2str(Tree.Attribut) ',' num2str(i) ',']);for j=1:size(content,1)rule=cell2struct(content(j,1),{'str'});content(j,1)={[num2str(Tree.Attribut) ',' num2str(i) ',' rule.str]};endRules=[Rules;content];endelseRules={['C' num2str(Tree.Attribut)]};end资料.end资料.。

相关文档
最新文档