首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让J48适应数据

如何让J48适应数据
EN

Stack Overflow用户
提问于 2013-11-11 21:45:56
回答 1查看 4.1K关注 0票数 1

我有一个关于Weka的J48的小问题。我使用RWeka从R运行这个算法。也许是一个简单的解决方案,但我似乎在网上找不到它。一个很小的例子:

代码语言:javascript
复制
require(RWeka)
Attr1 <- as.factor(c('0302','0302','0320'))
Attr2 <- as.factor(c('2','1','1'))
Target <- as.factor(c('target1','target2','target3'))
input <- data.frame(Attr1,Attr2,Target)
J48( Target ~ Attr1 + Attr2 , data= input, control= Weka_control(W=list(J48,m=1,U=T)))

我希望J48算法所做的拟合适合于数据。这意味着,我把最小的项目,在叶1,我没有修剪树。我得到以下输出:

代码语言:javascript
复制
J48 pruned tree
------------------
: target1 (3.0/2.0)
Number of Leaves  :     1
Size of the tree :  1

为什么它不使Attr1 = 0320 -> target3或Attr2 =2 -> target1?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-11 22:29:06

我稍微简化了您的代码,并指出了问题所在。最小叶数的选项设置为"M",而不是“m”。

代码语言:javascript
复制
WOW(J48)  

其相关产出如下:

代码语言:javascript
复制
-M <minimum number of instances>
    Set minimum number of instances per leaf.  (default 2)

然后,代码的重要部分变成:

代码语言:javascript
复制
J48( Target ~ Attr1 + Attr2 , data= input, control= Weka_control(M=1,U=TRUE))

J48 unpruned tree
------------------

Attr1 = 0302
|   Attr2 = 1: target2 (1.0)
|   Attr2 = 2: target1 (1.0)
Attr1 = 0320: target3 (1.0)

Number of Leaves  :     3

Size of the tree :  5
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19916579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档