728x90
library(mlbench)
data("PimaIndiansDiabetes2")
df_pima = na.omit(PimaIndiansDiabetes2)
set.seed(Sys.Date())
train.idx = sample(1:nrow(df_pima), size = nrow(df_pima) * 0.8) #테스트데이터로 사용할 행 추출
train = df_pima[train.idx,]
test = df_pima[-train.idx,]
library(rpart)
md.rpart = rpart(diabetes ~.,
data = train)
pred.rpart = predict(md.rpart,
newdata = test)
library(randomForest) #랜덤포레스트를 사용하기 위한 라이브러리 가져오기
md.rf = randomForest(diabetes ~ .,
data = train,
ntree = 300)
pred = predict(md.rf, newdata = test)
library(e1071) #SVM을 사용하기 위한 라이브러리 가져오기
md.svm = svm(diabetes ~.,
data = train)
pred.svm = predict(md.rf, newdata = test)
library(caret) #혼동행렬을 사용하기 위한 라이브러리 가져오기
caret::confusionMatrix(as.factor(pred),
test$diabetes,
positive = "pos")
caret::confusionMatrix(as.factor(pred.svm),
test$diabetes,
positive = "pos")
auc(test$diabetes,
pred)
auc(test$diabetes,
pred.svm)
auc(test$diabetes,
pred.rpart)
random forest 모델이 제일 auc 값이 높음
728x90
'BAE(Certification) > [작업형2] 정형데이터 분석' 카테고리의 다른 글
[작업형2] 자동차 시장 세분화 : 22년 4회 기출 (0) | 2023.06.21 |
---|---|
[작업형2] 입학여부 확률 구하기 (0) | 2023.06.20 |
[작업형2] 서비스 이탈예측 데이터 분석 : 4모델 만들기(빅분기 작업형2 실전대비) (0) | 2023.06.20 |
[작업형2] Travel Insurance : 21년 3회 기출 (0) | 2023.05.25 |
[작업형2] 전자상거래 배송 데이터 : 21년 2회 기출 (0) | 2023.05.18 |