我正在上一门数据科学课程;我们正在尝试使用rpart()为分配创建一个简单的决策树。我绝不是高级开发人员,因此请记住这一点。
我的代码运行良好,直到我们执行rpart()为止,在该地方挂起并使RStudio崩溃。每次。
到目前为止,大约只有120行代码。我的数据是从.csv导入的,只有102个变量和56个观察值。所以不是大文件。
我不得不使用R(导入后)来重命名大多数列,以整理它们(删除空格,缩短等)
环境:MacOS Mojave,Macbook Pro,RStudio桌面版。
library(rpart)
library(skimr)
library(rpart.plot)
library(tidyverse)
library(data.table)
VS10 <- read_csv("VS10.csv")
#convert VS10 to dataframe
VS10 <- as.data.frame(VS10)
#rename features for model
names(VS10)[41] <- c("Violent_Crime")
names(VS10)[49:52] <-c("Absent_1_5","Absent_6_8","Absent_9_12","SusorExpelled")
names(VS10)[65] <- c("HS_Dropout")
student_risk <- c(VS10$Absent_1_5,VS10$Absent_6_8,VS10$Absent_9_12,VS10$SusorExpelled,VS10$HS_Dropout)
VS10["Violent_Crime"]
#merge absentee & dropout, suspended/expelled separate variables into one feature
mean_student_risk <- mean(student_risk)
VS10_feature <- transform(VS10,mean_student_risk)
skim(VS10_feature$Violent_Crime)
summary(VS10_feature$Violent_Crime)
#recode into quartiles
VS10_feature$dcat[VS10_feature$Violent_Crime > 22.16] <- "4th"
VS10_feature$dcat[VS10_feature$Violent_Crime >= 15.31 & VS10$Violent_Crime <= 22.16] <- "3rd"
VS10_feature$dcat[VS10_feature$Violent_Crime >= 9.53 & VS10$Violent_Crime <= 15.31] <- "2nd"
VS10_feature$dcat[VS10_feature$Violent_Crime < 9.53] <- "1st"
#subset the data with the variables you want to use
VS10_feature2 <- VS10_feature[c(1:39,42:102)]
VS10_feature2$dcat
fitch <- rpart(VS10_feature2$dcat ~ .,
data=VS10_feature2,
method="class")
没有错误消息,但控制台只是挂起,最终我不得不终止R会话。在执行RPart()之前,代码是无错误的
答案 0 :(得分:0)
我遇到了同样的问题!我不得不强行退出RStudio,因为它会无限期地挂起。如果我仅使用两个或三个功能/变量运行rpart(),那么它将运行良好。
答案 1 :(得分:0)
事实证明,超过100列中的一列正在作为字符向量导入。我省略了此列,并且rpart()正常工作。