[데이터마이닝] 11강. R로 모형 성능 평가하는 법 쉽게 정리

데이터마이닝 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, 즉 민감도를 의미합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다