我收到以下错误
c50代码,名为exit,值为1
我正在从kaggle获得的泰坦尼克数据
# Importing datasets train <- read.csv("train.csv",sep=",") # this is the structure str(train)
输出: –
'data.frame': 891 obs. of 12 variables: $PassengerId: int 1 2 3 4 5 6 7 8 9 10 ... $Survived : int 0 1 1 1 0 0 0 0 1 1 ... $Pclass : int 3 1 3 1 3 3 1 3 3 2 ... $Name : Factor w/ 891 levels "Abbing,Mr. Anthony",..: 109 191 358 277 16 559 520 629 417 581 ... $Sex : Factor w/ 2 levels "female","male": 2 1 1 1 2 2 2 2 1 1 ... $Age : num 22 38 26 35 35 NA 54 2 27 14 ... $SibSp : int 1 1 0 1 0 0 0 3 0 1 ... $Parch : int 0 0 0 0 0 0 0 1 2 0 ... $Ticket : Factor w/ 681 levels "110152","110413",..: 524 597 670 50 473 276 86 396 345 133 ... $fare : num 7.25 71.28 7.92 53.1 8.05 ... $Cabin : Factor w/ 148 levels "","A10","A14",..: 1 83 1 57 1 1 131 1 1 1 ... $Embarked : Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
然后我尝试使用C5.0 dtree
# Trying with C5.0 decision tree library(C50) #C5.0 models require a factor outcome otherwise error train$Survived <- factor(train$Survived) new_model <- C5.0(train[-2],train$Survived)
所以运行上面的行给我这个错误
c50 code called exit with value 1
我不能弄清楚出了什么问题?我在不同的数据集上使用类似的代码,它工作正常.有关如何调试代码的任何想法?
-谢谢
解决方法
对于任何有兴趣的人士,数据可以在这里找到:
http://www.kaggle.com/c/titanic-gettingStarted/data.我想你需要注册才能下载.
关于你的问题,首先我想你的意思是写
new_model <- C5.0(train[,-2],train$Survived)
接下来,请注意舱室和起落架的结构.这两个因素具有空字符作为级别名称(与级别检查(train $Embarked)).这是C50落后的地步.如果你修改你的数据
levels(train$Cabin)[1] = "missing" levels(train$Embarked)[1] = "missing"
您的算法现在将运行没有错误.
原文地址:https://www.jb51.cc/c/110936.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。