데이터사이언스/Google Advanced Data Analytics

[머신러닝] 로지스틱 회귀 모형을 해석할 때 주의 사항 (평가 지표 선택 시 어떤 점을 고려해야 할까?) | Precision, Accuracy, Recall 비교 정리

누군가의 이야기 2023. 5. 27. 02:04
728x90

 

- 본 포스팅은 'Google Advanced Data Analytics Professional Certificate' 과정을 수강하며 요약/정리하기 위한 포스팅입니다.

 

로지스틱 회귀 분석 모형을 해석하려면 coefficients를 확인하고, 매트릭스를 계산해야 한다. 

 

로지스틱 회귀 모형을 학습 데이터에 fit 시킨 후, Python의 코드를 사용하여 모형의 계수 추정치를 알 수 있다.

 

그 다음 이 값을 사용하여 모형이 예측하는 방식을 이해할 수 있다.


로지스틱 회귀 분석 모형의 작동 방식을 이해하려면,

 

변수 간의 관계를 설명하는 방정식부터 시작하는 것이 중요하고, 이 방정식을 logit function이라 한다.

 

The logit function

로짓 함수가 독립 변수의 관점에서 쓰이면, 각 독립 변수 X와 종속 변수 Y가 1일 확률 로짓 사이에 선형 관계가 있다.

 

해당 확률의 로짓은 해당 확률의 로그입니다.

 

이항 로지스틱 회귀 분석의 로짓 함수에 대한 방정식은 다음과 같다. 

 

Y의 가능한 값이 1과 0인 이항 분류에서, 1은 일반적으로 긍정적인 결과이기 때문에, Y가 1과 같을 확률이 여기에 포함된다.

Interpret coefficients

이메일을 스팸 또는 비스팸으로 예측하기 위한 이항 로지스틱 회귀 분석 모형을 만들었다고 가정해 보면,

 

종속 변수 Y는 전자 메일이 스팸(1)인지 스팸이 아닌(0)인지 여부를 나타낸다.

 

독립 변수 X1은 메시지 길이이다.

 

clf가 훈련 데이터에 적합한 분류기라고 가정한다.

 

다음 코드를 사용하여 모델에서 추정한 계수 β1에 액세스할 수 있다:

 

clf.coef_

 

예를 들어, 추정된 β1이 0.186이면 메시지 길이의 1단위 증가는 p의 로그 오즈의 0.186 증가와 관련이 있음을 의미한다.

 

Y의 오즈 변화를 백분율로 해석하기 위해 다음과 같이 β1을 지수화할 수 있다.

따라서 메시지 길이가 1단위 증가할 때마다,

이메일이 스팸일 확률이 1.204% 또는 20.4% 증가할 것으로 예상할 수 있다.

 

Things to consider when choosing metrics

로지스틱 회귀 분석 모형의 계수를 확인한 다음 중요한 단계는 메트릭스를 통해 모형을 평가하는 것입니다.

 

가장 일반적으로 사용되는 평가 지표에는 정밀도, 리콜 및 정확도가 포함된다.

When to use precision

정밀도를 평가 지표로 사용하는 것은, false positive의 비용이 false negative의 비용보다 훨씬 더 높은 상황에서 특히 유용합니다.

 

예를 들어 전자 메일 스팸 탐지의 경우 false positive(스팸이 아닌 메일을 스팸으로 예측)이 잘못된 부정(스팸인 메일을 스팸이 아닌 것으로 예측)보다 더 많은 비용이 든다.

 

잘못 분류된 비스팸 메일에는 공급업체에서 클라이언트로 프로젝트 상태 업데이트 또는 강사에서 학생 클래스로 보내는 할당 마감 공지와 같은 중요한 정보가 포함될 수 있다.

When to use recall

Using recall as an evaluation metric is especially helpful in contexts where the cost of a false negative is quite high and much higher than the cost of a false positive. For example, in the context of fraud detection among credit card transactions, a false negative (predicting a fraudulent credit card charge as non-fraudulent) would be more costly than a false positive (predicting a non-fraudulent credit card charge as fraudulent). A fraudulent credit card charge that is misclassified could lead to the customer losing money, undetected.

 

리콜을 평가 지표로 사용하는 것은 false negative의 비용이 상당히 높고, false positive의 비용보다 훨씬 높은 상황에서 특히 유용하다.

 

예를 들어, 신용카드 거래 간의 사기 탐지하는 모델에서,

 

false negative(부정한 신용카드 청구를 부정하지 않은 것으로 간주)false positive(부정하지 않은 신용카드 청구를 사기로 간주) 보다 비용이 더 많이 들 것이다.

 

잘못 분류된 신용 카드 청구는 고객이 사기당한 걸 인지하지 채 큰 손실을 입을 수 있게 만든다.

When to use accuracy

It is helpful to use accuracy as an evaluation metric when you specifically want to know how much of the data at hand has been correctly categorized by the classifier. Another scenario to consider: accuracy is an appropriate metric to use when the data is balanced, in other words, when the data has a roughly equal number of positive examples and negative examples. Otherwise, accuracy can be biased. For example, imagine that 95% of a dataset contains positive examples, and the remaining 5% contains negative examples. Then you train a logistic regression classifier on this data and use this classifier predict on this data. If you get an accuracy of 95%, that does not necessarily indicate that this classifier is effective. Since there is a much larger proportion of positive examples than negative examples, the classifier may be biased towards the majority class (positive) and thus the accuracy metric in this context may not be meaningful. When the data you are working with is imbalanced, consider either transforming it to be balanced or using a different evaluation metric other than accuracy. 

 

분류자가 정확하게 분류한 데이터의 양을 구체적으로 알고 싶을 때는 정확도를 평가 지표로 사용하는 것이 좋다.

 

그리고 더 중요한 것은, 정확도는 데이터가 균형을 이룰 때, 즉 데이터가 긍정적인 예제와 부정적인 예제의 수가 거의 같을 때 사용하는 적절한 평가지표이다.

 

그렇지 않으면 정확도가 편향될 수 있다.

 

예를 들어, 데이터 집합의 95%에 긍정적인 예제가 포함되어 있고, 나머지 5%에 부정적인 예제가 포함되어 있다고 가정하고. 로지스틱 회귀 분석 분류기를 학습하고 이 데이터에 대해 이 분류기 예측을 사용한다.

 

95%의 정확도를 얻을 경우 반드시 이 분류기가 효과적임을 나타내는 것은 아니다.

 

부정적인 예보다 긍정적인 예의 비율이 훨씬 크기 때문에 분류기는 다수 클래스(긍정적)로 편향될 수 있으므로 이 맥락에서 정확도 메트릭은 의미가 없을 수 있다.

 

작업 중인 데이터가 불균형 상태인 경우, 균형 상태로 변환하거나 정확도 이외의 다른 평가 지표를 사용하는 것이 좋다.

 

 

728x90