728x90
RMSE, MSE : 값이 낮을 수록 정확도가 높다고 할 수 있음
1. RMSE, MSE, 결정 계수, 수정 결정 계수
library(ISLR)
hitters = na.omit(Hitters)
fit_model = lm(Salary ~ Atbat + Hits + CWalks + Division + PutOuts, data = hitters)
second_model = lm(Salary ~ Hits + CWalks + Division + PutOuts, data = hitters)
#MSE, RMSE
library(ModelMetrics)
rmse(fit_model)
mse(fit_model)
rmse(second_model)
mse(second_model)
#결정 계수, 수정된 결정 계수
summary(fit_model)$r.squared #fit_model의 결정 계수
summary(fit_model)$adj.r.squared #fit_model의 수정된 결정 계수
summary(second_model)$r.squared #second_model의 결정 계수
summary(second_model)$adj.r.squared #second_model의 수정된 결정 계수
2. 혼동행렬(confusion matrix)
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(randomForest) #랜덤포레스트를 사용하기 위한 라이브러리 가져오기
md.rf = randomForest(diabetes ~ .,
data = train,
ntree = 300)
pred = predict(md.rf, newdata = test)
library(caret) #혼동행렬을 사용하기 위한 라이브러리 가져오기
caret::confusionMatrix(as.factor(pred), #caret 라이브러리의 confusionMatrix 사용을 위해 패키지명 사용
test$diabetes,
pos = "pos")
3. AUC(Area Under ROC; AUROC)
ROC 곡선의 x축은 FPR, y축은 TPR로 아랫부분의 면적인 AUC를 기준으로 모형을 평가하며, AUC 값이 1에 가까울 술록 좋은 모형으로 평가함.
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)
trian = df_pima[train.idx,]
test = df_pima[-train.idx,]
library(randomForest)
md.rf = randomForest(diabetes ~ .,
data = train,
ntree = 300)
pred = predict(md.rf, newdata = test)
library(ModelMetrics) #auc함수 사용을 위해 라이브러리 불러오기
auc(auctual = test$diabetes,
predicted = as.factor(pred))
#auc 값이 0.7129898로 Fair(보통)한 성능을 보인다
1. ROC curve는 1-특이도(FPR, 거짓 긍정률)와 민감도(TPR, 참 긍정률)을 x, y축에 나타낸 그래프임.
2. AUC 값이 1에 가까울 수록 좋은 모델로 판단.
3. ROCR 패키지의 prediction(), performance() 함수가 있음.
install.packages("ROCR")
library(ROCR)
#모델 평가
pred <- prediction(model,
x_test$value)
#AUC 평가
perf <- performance(pred,
measure = "auc")
728x90
'BAE(Certification)' 카테고리의 다른 글
참고할 빅분기 실기 5회 후기 (0) | 2023.06.19 |
---|---|
빅데이터분석기사 실기 팁 (0) | 2023.06.08 |
연관성 분석 (0) | 2023.05.18 |
비계층적 군집 분석 - kmeans cluster (0) | 2023.05.18 |
계층적 군집 분석 - 군집 간 거리 측정 (0) | 2023.05.18 |