생활
regression과 classification의차이는?
regression과 classification의차이는 무엇인가요?
제가 머신러닝을 아직 공부중이라 기본 개념 같은데 숙지를 하지 못한것같네요.
어느분이 댓글로 남겨주셧었는데 저 둘에 따라서 라벨의 값이 1,0 또는 1,-1 갈리는것 같던데
둘의 차이가 뭔지 왜 라벨값을 저렇게 해야 하는지 알수있을까요?
3개의 답변이 있어요!
* regression - 특정한 값을 예측합니다. 통계적으로는 연속적(Continuous) 데이터일 때 사용합니다. 간단한 예로 설명을 하자면 나이와 성별을 보고 키를 맞추는 문제를 생각해볼 수 있습니다. 예를 들어 15세 남자의 키를 예측할 때 165cm, 165.7cm, 166.7cm 등 아주 미세하게 165와 167 사이의 어떤 값이든 될 수 있습니다.
* classification - 고정된 경우의 수 중 하나로 분류합니다. 통계적으로 이산적(Discrete) 데이터일 때 사용합니다. 간단한 예로 설명을 하자면 공부하는 시간으로 학점을 예측하는 것을 생각해볼 수 있습니다. 하루 평균 공부하는 시간이 0 ~ 24일 텐데, 분류할 수 있는 학점은 A, B, C, D, F로 5가지 중 하나입니다.(편의상 A+, A0 등은 제외합니다.) A 와 B 사이의 값으로 예측할 수 없는 문제가 classification 입니다.
위와 같은 이유로 label 값을 표현할 때 방법이 약간 다를 수 있습니다. regression은 어떤 값이라도 있을 수 있습니다. 일반적으로 0 ~ 1 사이의 값으로 변환(스케일링)해서 사용하긴 합니다. 이와 조금 다르지만 classification은 labeling 할 수 있는 값이 정해져 있습니다. 위의 학점 문제의 경우 A, B, C, D, F 중 하나만 사용할 수 있습니다. 보통 숫자로 변환을 하는데 0, 1, 2, 3, 4 로 표현을 합니다. regression과 다르게 일반적으로 classification 의 labeling에 음수는 사용하지 않습니다.
Regression은 연속변수(continuous variable)를 예측하는 것입니다. 연속값이란 숫자 사이 사이에 무한 개의 가능한 값이 있는 것을 의미합니다. 예를 들어서 온도를 예측할 때 36.123895이런식으로 예측한다면 보통 연속값을 예측한다고 봅니다.
Classification은 보통 몇 개의 고정 변수(discrete variable) 중 하나를 예측하는 것입니다. 어떤 사진을 보고 고양이인지 개인지 구분하는 것은 예측하는 Y가 두 가지 중 하나이기 때문에 고정 변수가 두 개인것입니다. 개와 강아지를 0와 1로 고정해도 두 가지가 되기에 고정 값을 가지는 Y가 되겠죠?
Regression은 라벨 값(Y의 값)이 보통 아예 한정되어 있지 않은 그냥 실수(real number)인 경우가 많습니다. 만약 무언가 제한되는 부분이 있다고 해도 그것은 실수에서 범위(range) 정도일 것입니다. 예를 들어서 온도가 -30~100도 사이만 가능하다던지. Classification은 반대로 라벨이 가능한 Class의 종류에 한정되어 있습니다. 고양이와 개라면 2가지가 끝입니다. 숫자로 인코딩한다면 0과 1로 될수도 있고, 만약 고양이, 개, 기린, 사자라면 0, 1, 2, 3 혹은 [0,0,0,1], [0,0,1,0], [0,1,0,0], [1,0,0,0]과 같이 one-hot-encoding 방식으로 벡터로 표현할 수도 있습니다.
이해가 안가시는 부분은 꼭 다시 답변 달아주세요. 감사합니다!
쉽게 Regression은 Continuous 한 결과를 예측, Classification은 Discrete 결과를 예측이라고 보시면 됩니다.
예로, 0부터 1사이의 연속적인 값을 예측하면 Regression 이라고 하고, 0,1,2 값을 예측하면 Classification 입니다.
저 둘에 따라서 라벨의 값이 1,0 또는 1,-1 갈리는것 같던데
>> 어떻게 레이블을 정하든 상관없습니다. [1,0] 또는 [-1,1]사이의 연속적인 값이면 Regression, 1과 0 또는 -1과1로 예측하면 Classification입니다.