trial=4로 100% 달성
wine <- read.csv('wine2.csv',stringsAsFactors = T) str(wine) colSums(is.na(wine))
library(caret) set.seed(1)
train_num <- createDataPartition( wine$Type, p=0.8, list=F) train_data <- wine[ train_num, ] test_data <- wine[ -train_num, ] nrow(train_data)#143 nrow(test_data)#34
ncol(train_data) head(train_data)
library(C50) wine_model <- C5.0( train_data[ , -1], train_data[ , 1] ) summary(wine_model)
plot(wine_model)
train_result <- predict(wine_model,train_data[ ,-1]) test_result <- predict(wine_model,test_data[ ,-1])
sum(train_result == train_data[ , 1]) /143*100 # 99.3007 sum(test_result == test_data[ , 1]) /34*100 #94.11765
#8. 모델 개선 y <- 1 jumpby <-1
for ( i in 1:50) { model2 <- C5.0( train_data[ , -1], train_data[ , 1], trials=y) test_result <- predict(model2, test_data[ ,-1]) a<- sum(test_result == test_data[ , 1]) /34*100 y <- y + jumpby print(paste(i,'일때',a)) }
library(C50) wine_model2 <- C5.0(train_data[, -1], train_data[, 1], trials = 4) train_result2 <- predict(wine_model2,train_data[ ,-1]) test_result2 <- predict(wine_model2,test_data[ ,-1])
sum(train_result2 == train_data[ , 1]) /143*100 # 100 sum(test_result2 == test_data[ , 1]) /34*100 #100
|