【发布时间】:2017-03-06 21:10:23
【问题描述】:
我目前正在研究 R 的问题。我想将分类树应用于数据集,但结果似乎是错误的,因为我已经使用 Weka 解决了相同的问题,但得到了不同的结果.
我得到了一个包含在 csv 文件中的数据集,如下所示:
age,menopause,tumor.size,inv.nodes,node.caps,deg.malig,breast,breast.quad,irradiat,class
40-49,premeno,15-19,0-2,yes,3,right,left_up,no,recurrence-events
50-59,ge40,15-19,0-2,no,1,right,central,no,no-recurrence-events
50-59,ge40,35-39,0-2,no,2,left,left_low,no,recurrence-events
40-49,premeno,35-39,0-2,yes,3,right,left_low,yes,no-recurrence-events
40-49,premeno,30-34,3-5,yes,2,left,right_up,no,recurrence-events
这是脚本:
#Open r file
cancer = read.csv("cancer.csv")
#Data Exploration
summary(cancer)
str(cancer)
#Divide into test and train sets
set.seed(1234)
ind <- sample(2, nrow(cancer), replace=TRUE, prob=c(0.7, 0.3))
trainData <- cancer[ind==1,]
testData <- cancer[ind==2,]
#Build the model
library(party)
cancermodel <- class ~ age + menopause + tumor.size + inv.nodes + node.caps + deg.malig + breast + breast.quad + irradiat
cancertree <- ctree(cancermodel,trainData)
table(predict(cancertree),trainData$class)
#Draw tree
plot(cancertree, type="simple")
#Testset
testPred <- predict(cancertree, newdata = testData)
table(testPred, testData$class)
【问题讨论】:
-
为什么它们应该是一样的?
-
因为它与我在两种情况下应用的算法相同(决策树)
-
和你随机抽样的训练和测试数据,应该一样吗?
-
不是真的,但通常应该有一些相似之处。样品是同质的......
-
cancer的大小是多少?为什么随机分配类状态的结果会产生类似的模型?
标签: r tree classification data-mining j48