본문 바로가기

[COURSERA] Machine Learning Stanford Uni

[week6] Handling Skewed Data

A. Error Metrics for Skewed Classes

 

1. 암 진단과 같이 암이 아닌 클래스가 극도로 적을 때는 어떻게 정확도를 확인해야 할까? 암일 확률이 0.05라면, 그냥 암이 없다고만 하더라도 99.5 %의 확률로 정답을 맞출수 있다. 이런 경우 Accuracy보다는 Recall과 Precision이라는 척도를 사용한다. Precision은 알고리즘의 정밀도를 말하며, 긍정으로 예측한 것들 중 실제로 긍정인 것의 개수의 지수이며, Recall은 실제 긍정인 것들 중, 실제 긍정인 것의 비율 지수이다. 이 지표를 봄으로써, 치우쳐진 데이터 클래스라도 정확도를 확인할 수 있데 된다.

 

 

B. Using Large Data Sets

 

1. 알고리즘을 조정함으로써, 판단을 내리는 임계점을 수정할 수가 있으며, 임계점이 이동함에따라, Precision과 Recall은 변화한다. Precision이 높다는 것은 전체 예측에서 정답의 비율을 보는 것이기 때문에, 높은 정확도를 가짐을 의미한다. Recall이 높다는 것은 전체 클래스 1에서 1로 예측된 비율이므로, 예측이 정확할수록 높은 정확도를 가진다.

 

2. 뭔차이가 있냐 그러면? 허용 범위의 차이가 있다 이말이다. 둘 다 높으면 좋지만 그럴 수는 없다고요~. 높은 임계점을 가진다면 그만큼 1로 분류하기가 힘들어지기 때문에 Precision은 커지는 반면, recall을 작아지고, 낮은 임계점을 가진다면, 이도저도 다 1로 분류가 될수 있기 때문에 낮은 Precison을 가지고, recall을 커지게 된다.

 

 

 

 

1. 그럼 어떤 임계점을 정해야 할까? 이때 사용하는 것이 F1 Score다. 저 값이 가장 높은 값을 사용하면, 극단적인 경우를 피하면서 적절한 임계점을 찾을 수 있다.

 

C. Data For Machine Learning