데이터마이닝 11강 — R로 모형 성능 평가하는 법 쉽게 정리
안녕하세요! 오늘은 데이터마이닝 모형 비교 평가 내용을 정리해보겠습니다. 데이터 분석과 머신러닝을 할 때 모형의 예측 성능을 정확하게 평가하는 방법을 배우는 건 아주 중요합니다. 이번 강의에서는 R에서 사용하는 주요 함수와 실제 예제를 통해 데이터 분할과 예측력 측정 방법을 다룹니다.
초보자분들도 걱정 마세요! 이번 포스팅에서 R 함수 하나하나 친절하게 설명드릴게요.
모형 비교 평가를 위한 R 함수
데이터마이닝에서 모델을 훈련과 검증으로 나눠 평가하는 방법은 아주 기본이면서 중요한 기법입니다. 이를 위해 R에서는 다음과 같은 함수들을 사용합니다.
sample() 함수
특정 크기만큼의 데이터를 임의로 선택할 때 사용하는 함수입니다.
함수 구조
1
|
sample(x, size, replace = FALSE)
|
cs |
-
x
: 표본 값의 벡터 -
size
: 선택할 표본의 수 -
replace
: 복원추출 여부 (TRUE면 복원추출, FALSE면 비복원추출)
예제
→ 1부터 10 중에서 5개를 랜덤으로 선택
createDataPartition() 함수
이항형 목표변수를 가진 데이터를 훈련용과 검증용으로 나눌 때 사용하는 함수입니다.
caret 패키지에서 제공하며, 분류 분석 시 많이 사용합니다.
함수 구조
1
|
createDataPartition(y, p = 0.5, list = TRUE)
|
cs |
-
y
: 목표변수 값의 벡터 -
p
: 훈련용 데이터의 비율 (예: 0.7이면 70%) -
list
: 결과를 list형으로 반환할지 여부 (TRUE/FALSE)
예제
→ iris 데이터의 Species 변수 기준으로 70%를 훈련용 데이터로 분할
prediction() 함수
예측값과 실제값을 입력하여 예측 성능을 평가할 준비를 하는 함수입니다.
ROCR 패키지에서 제공됩니다.
함수 구조
1
|
prediction(predictions, labels)
|
cs |
-
predictions
: 예측값 벡터 -
labels
: 실제값 벡터
예제
→ 예측값과 실제값을 입력하여 pred 객체 생성
performance() 함수
prediction 함수로 생성한 객체를 바탕으로 성능 지표를 계산하는 함수입니다.
함수 구조
1
|
performance(prediction.obj, measure)
|
cs |
-
prediction.obj
: prediction 함수로 생성한 객체 -
measure
: 측정할 지표-
"tpr"
: 민감도 -
"fpr"
: 1-특이도 -
"acc"
: 정확도 -
"err"
: 오분류율
-
예제
→ 민감도(참양성비율)를 계산
- ‘Cutoff’ 👉 임계값 (threshold)
- ‘True positive rate’ 👉 해당 임계값에서의 TPR 값
- 4개의 데이터 포인트가 있다는 건 임계값을 조절하면서 계산한 TPR 값이 4개 존재한다는 뜻
그럼 perf 안에 실제 값은 어떻게 확인할까?
예측확률 0.2, 0.5, 0.7을 기준으로 임계값을 달리 하면서 TPR 값이 어떻게 달라지는지 볼 수 있습니다.
중요 내용 정리
-
sample() : 특정 수의 데이터를 랜덤으로 뽑을 때 사용
-
createDataPartition() : 이항형 목표변수를 가진 데이터를 훈련/검증 데이터로 분할
-
prediction() : 예측값과 실제값으로 예측 객체 생성
-
performance() : 민감도, 특이도, 정확도, 오분류율 등 계산
데이터마이닝에서 모형 평가와 데이터 분할은 반드시 함께 진행해야 올바른 성능 평가가 가능하다는 점! 꼭 기억하세요.
객관식 문제
1. R에서 이항형 목표변수를 훈련 데이터와 검증 데이터로 나눌 때 사용하는 함수는?
① sample()
② createDataPartition()
③ prediction()
④ performance()
정답: ②
해설: createDataPartition 함수는 caret 패키지의 함수로 데이터 분할에 사용됩니다.
2. prediction() 함수와 performance() 함수는 어느 패키지에서 제공하는가?
① caret
② ROCR
③ ggplot2
④ MASS
정답: ②
해설: ROCR 패키지에서 제공하는 함수로, 예측값과 실제값을 바탕으로 예측 성능을 계산합니다.
3. 민감도(True Positive Rate)를 계산하기 위해 performance 함수에 입력하는 measure 값은?
① “fpr”
② “tpr”
③ “acc”
④ “err”
정답: ②
해설: “tpr”은 True Positive Rate, 즉 민감도를 의미합니다.