C5.0决策树 – c50代码,名为exit,值为1

我收到以下错误

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"

您的算法现在将运行没有错误.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...