2016-06-08 74 views
0

我正在使用泰坦尼克号数据集。我试图在CABIN栏中填写空格。我从CABIN列值中提取了第一个字母,然后将它们放在CABIN_NEW列中。之后,我使用rpart进行预测,但每次运行下面的代码时,R都需要很长时间(还没完成一次,每次都必须终止)。在R Studio中执行rpart

数据集有1309行,我正在使用的列在代码中。我使用的系统是在4 GB内存,i5处理器和Window 7

combifit <- rpart(Cabin_New ~ Pclass + Sex + Age + SibSp + Parch + Fare + Embarked + Title 
        + FamilySize + Surname + FamilyID, 
        data = combi[!is.na(combi$Cabin_New),], method = 'class') 

回答

0

我看到你已经使用了很多因素变量的运行。请检查每个因素中存在多少个因子水平。如果这个数字很高,可以说对于姓氏,如果它是100,那么R将不得不创建100个变量,以此类推。所以我的猜测是,由于这些因素变量,rpart必须研究很多变量,才能决定拆分。因此需要很长时间。

还读了rpart.control上的一点,因为rpart的分割次数取决于传递给rpart的参数。例如cp就是这样一个参数。其默认值是0.01。尝试将其值从0.5更改为0.1。与其他参数类似地玩,你可能能够更快地运行rpart