#데이터 불러오기
#1. 데이터를 불러옵니다.
wine<-read.csv('wine2.csv',header=T,stringsAsFactors = T)
wine
#2. 데이터를 살펴봅니다.
str(wine)
#결측치 확인
colSums(is.na(wine))
#3. 훈련 데이터와 테스트 데이터 분리
library(caret)
set.seed(1)
wine$Type
train_num <- createDataPartition( wine$Type , p=0.9, list=F)
length(train_num) # 25
train_data <- wine[ train_num, ]
test_data <- wine[ -train_num, ]
nrow(train_data) #161
nrow(test_data) #16
#모델 생성
library(C50)
wine_model <-C5.0(train_data[ , -1],train_data[ , 1])
#모델 확인
summary(wine_model)
#모델 예측
train_result <- predict( wine_model, train_data[ ,-1])
test_result <- predict( wine_model, test_data[ ,-1])
#루프문
y <- 0
jumpby <-1
for ( i in 1:100 ) {
model<-C5.0(train_data[ ,-1],train_data[ ,1], trials=i)
train_result <- predict(model, train_data[ ,-1])
a<- sum(train_result == train_data[ ,1])/161 *100
y <- y + jumpby
print(paste(i,'일때',a))
}
y <- 0
jumpby <-1
for ( i in 1:1000 ) {
model<-C5.0(train_data[ ,-1],train_data[ ,1], trials=i)
test_result <- predict(model, test_data[ ,-1])
a<- sum(test_result == test_data[ ,1])/16 *100 #100%
y <- y + jumpby
print(paste(i,'일때',a))
}
트리 3일때 정확도 100