Машинное обучение с R: Почему в моем дереве решений только одна ветвь? - PullRequest
0 голосов
/ 31 января 2020

Я очень плохо знаком с ML и R, поэтому этот вопрос может показаться немного глупым. Тем не менее, я работаю над деревом решений, которое предсказывает низкий или высокий (только 3% от набора данных) балл по психопатии с использованием 99 чисел c переменных. Я ожидал, что модель станет очень сложной, но вместо этого она вернет мне только одну ветвь. Кто-нибудь может мне помочь с этим? Ниже вы найдете код и вот набор данных .

Приветствия, Йеши

# Open file and first impression
psycho <- read.csv("psycho.csv", stringsAsFactors = FALSE)
str(psycho)

# Cleaning dataset uid and psychological constructs
psycho <- psycho[-1]
psycho <- psycho [-2:-8]

# Categorising psychopathy
cat_psychopathy <- cut(psycho$psychopathy, breaks = c(0,3.158,5), labels = c("low","high"))
str(cat_psychopathy)
table(cat_psychopathy)
psycho$psychopathy <- cat_psychopathy

# Randomize training data and set training and test data
set.seed(123)
(2927/4)*3 
train_sample <- sample(2927, 2195)
str(train_sample)
psycho_train <- psycho[train_sample,]
psycho_test <- psycho[-train_sample,]

# check distribution of psychos on training and test set
prop.table(table(psycho_train$psychopathy))*100
prop.table(table(psycho_test$psychopathy))*100

# Preparing C5.0
install.packages("C50")
library(C50)
psychopathy_model <- C5.0(psycho_train[-1], psycho_train$psychopathy)
psychopathy_model
str(psycho_train)
str(psycho, list.len=ncol(psycho))
...