用matlab做二元决策图的学习记录day2_二元决策树

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xiaoke5491/article/details/100977430

**引用别人matlab论坛的:**load和importload的区别(https://www.ilovematlab.cn/thread-305692-1-1.html)
说一下自己的看法,望引玉。

在matlab中,概括的讲,两者的作用都是将文件变量加载到工作区中。

其中importdata调用方法:A = importdata(filename) 将数据加载到数组 A 中。

值得注意的是:A = importdata(’-pastespecial’) 从系统剪贴板而不是文件加载数据。这点很实用。

而load调用方法很多,用的也普遍一些。其一:load(filename),其中filename 可以是 MAT 文件,也可以是ASCII 文件。

MAT 文件,load(filename) 会将 MAT 文件中的变量加载到 MATLAB工作区。ASCII 文件,load(filename) 会创建一个包含该文件数据的双精度数组。

顺便说一下:

uiimport也非常强大。作用:以交互方式导入数据

就列举一下啦。

uiimport 打开一个以交互方式加载文件或剪贴板中的数据的对话框。MATLAB显示文件中的数据的预览。uiimport(filename) 打开 filename 中指定的文件。uiimport(’-file’) 首先显示文件选择对话框。uiimport(’-pastespecial’) 首先显示剪贴板内容。S = uiimport(___) 以字段的形式将生成的变量存储在结构体 S 中。

下面来具体介绍一下示例的决策树
程序代码:

load ionosphere % 加载自带的电离层数据集tc
tc= fitctree(X,Y)  %% 创建分类树,fitctree()适用于多类分类的二叉决策树
view(tc)   %在命令窗口查看决策树的划分过程

在命令窗口结果如下:

Decision tree for classification
 1  if x5<0.23154 then node 2 elseif x5>=0.23154 then node 3 else g
 2  if x5<0.04144 then node 4 elseif x5>=0.04144 then node 5 else b
 3  if x27<0.999945 then node 6 elseif x27>=0.999945 then node 7 else g
 4  class = b
 5  if x24<-0.05605 then node 8 elseif x24>=-0.05605 then node 9 else b
 6  if x8<-0.89669 then node 10 elseif x8>=-0.89669 then node 11 else g
 7  if x1<0.5 then node 12 elseif x1>=0.5 then node 13 else b
 8  class = g
 9  class = b
10  class = b
11  if x3<0.73125 then node 14 elseif x3>=0.73125 then node 15 else g
12  class = b
13  if x3<0.73004 then node 16 elseif x3>=0.73004 then node 17 else b
14  if x14<0.17103 then node 18 elseif x14>=0.17103 then node 19 else g
15  if x10<-0.755855 then node 20 elseif x10>=-0.755855 then node 21 else g
16  class = b
17  if x22<0.47714 then node 22 elseif x22>=0.47714 then node 23 else g
18  if x7<0.92561 then node 24 elseif x7>=0.92561 then node 25 else g
19  if x6<0.23199 then node 26 elseif x6>=0.23199 then node 27 else b
20  class = b
21  if x4<-0.146965 then node 28 elseif x4>=-0.146965 then node 29 else g
22  if x6<-0.727275 then node 30 elseif x6>=-0.727275 then node 31 else g
23  class = b
24  if x28<-0.23939 then node 32 elseif x28>=-0.23939 then node 33 else g
25  class = b
26  class = b
27  class = g
28  if x4<-0.15535 then node 34 elseif x4>=-0.15535 then node 35 else g
29  class = g
30  class = b
31  if x4<-0.68006 then node 36 elseif x4>=-0.68006 then node 37 else g
32  class = b
33  class = g
34  class = g
35  class = b
36  class = b
37  class = g

现在如果想看这个决策树的图,使用下面的命令。

view(tc,'Mode','graph')

可以看到二元决策树如下:

在这里插入图片描述
不知道view里的‘mode’是什么意思?但是不加又会报错。

猜你喜欢

转载自blog.csdn.net/xiaoke5491/article/details/100977430