회귀 vs 분류
3장에서 배웠던 선형회귀는 '수치'를 예측하는 방법이었다. (이때 반응 변수를 양적이라고 부른다.)
ex)
- 집값 예측: 3억..4억..
- 판매량 예측: 100개..200개
하지만 실제로는 숫자가 아닌 종류를 예측해야 하는 경우가 많다.
ex)
- 이메일이 스팸인지 아닌지
- 환자의 질병 유무
이 처럼 결과가 '범주' 또는 '클래스'로 나누어지는 경우를 우리는 분류문제라고 하며
위와 같은 질적 반응변수들을 예측하는 것이 classification이라고 부르는 분류 방법이다.
이때 사용되는 분류기법으로는 logistic regression, linear discriminant analysis, K-nearest neighbors 가 대표적인 예이다.
4.1 An Overview of Classifcation
분류의 예시
가상의 채무 불이행 데이터셋으로 분류 예제를 들어보자.
그림 4.1의 왼쪽 사진은 10,000명의 연간 소득과 월별 신용카드 잔액이 표시되어 있다. 특정 달에 연체한 사람들은 주황색으로, 연체하지 않은 사람들은 파란색으로 표시했다.
사진을 보면 연체한 사람들은 연체하지 않은 사람들보다 신용카드 잔액이 더 높은 경향이 있는걸 확인할 수 있다.
그림 4.1의 중앙과 오른쪽 사진에서 첫 번째는 이진 변수인 연체 여부에 따른 잔액의 분포를, 두 번째는 소득에 대한 유사한 플롯을 보여준다.
4.2 Why Not Linear Regression?
앞서 질적반응변수의 경우 선형회귀가 적절하지 않다고 했다. 왜 그럴까 예를 들어보자
응급실에 온 환자의 증상을 기반으로 의학적 상태를 예측하려 한다고 가정한다.
- 뇌졸중(stroke)
- 약물 과다 복용(drug overdose)
- 간질 발작(epileptic seizure)
선형회귀를 사용하려면, 범주형 결과를 숫자로 바꿔야한다.
- 뇌졸중 = 1
- 약물 과다 복용 = 2
- 간질 발작 = 3
이렇게 코딩을하게되면 마치 '약물 과다 복용'이 '뇌졸중'과 '간질 발작'의 중간인 것처럼 보이게 된다. 실제로는 이 순서가 의미가 없지만 수치형으로 계산하게 되면 세 증상이 수와 관련된것처럼 묘사됨
제로는 이 질병들 사이의 '거리'를 이렇게 수치화할 수 없음
실제로는 이런 증상들은 서로 독립적인 상태이며, 숫자로 순서를 매기는것이 의학적으로 아무런 의미가 없다. 각 증상은 고유한 특성을 가지며, 단순 숫자로 표현할 수 없다.
이것이 범주형 결과를 예측할 때 선형 회귀가 적절하지 않은 핵심 이유이다.
이진 분류의 경우 즉, 0과 1로 나타내는 경우 (예: 약물 과다복용 vs 뇌졸중)
y값이 0.5보다 크면 약물 과다복용이다. 그렇지 않으면 아니다 (뇌졸중)으로 예측할 수 있다. 0/1을 뒤집어 1/0으로 설정해도 예측 결과동일하다.
그러나 선형회귀의 주요 문제점으로는,
1) 예측값이 [0,1] 구간을 벗어날 수 있어서 확률로만 해석하기 어렵다.
2) 예측값은 단순한 순서나 대략적인 확률 추정치로만 해석이 가능한다.
이게 무슨 이야기냐- > 어떤 환자의 약물과다복용 예측값이 0.8이라고 해서 이 사람이 80%확률로 약물 과다복용이다 라고 해석할순 없다. 그냥 예측값이 80%면 약물과다 복용일 가능성이 매우 높은것 뿐
그렇기 때문에, 질적 반응변수에는 적합한 분류 방법을 이용해야한다.
- 이진 분류의 경우 로지스틱 회귀가 더 적합
- 다중 클래스의 경우 다른 적절한 분류 방법을 사용해야 함
왼쪽 그래프(선형회귀)
- 일부 예측값이 0보다 작음 (채무 불이행 확률이 마이너스라는 의미없는 결과)
오른쪽 그래프(로지스틱 회귀)
- 모든 예측값이 0과 1사이에 있음 (확률로서 의미 있음)
- 확률은 절대 0보다 작거나 1보다 클 수 없음
'📒base > ISL' 카테고리의 다른 글
[ISL] 6.1 Subset Selection (0) | 2024.11.27 |
---|---|
[ISL] 4.6 Generalized Linear Models (1) | 2024.11.25 |
[ISL] 4.4.3-4.4.4 QDA, Naive Bayes (0) | 2024.11.22 |