2013-03-18 3 views
2

먼저 WEKA 초보자라고 말해 보겠습니다.Weka - 편파/바이어스 결과를 제공하는 이진 분류

특정 메트릭을 사용하여 인스턴스에 대해 예/아니오 응답을 얻는 2 진 분류 문제로 WEKA를 사용하고 있습니다.

a b <-- classified as 
190 0 | a = yes 
98 0 | b = no 

이 절대 분리의 경우 :

여기 BayesNet 나는 288 개 인스턴스와 세트있어 혼란 매트릭스가 '예'(190)와, 그리고 98 '에는'값을 사용하지 않고, 문제를 예시하기 다른 분류 자들도 있지만, 그것들 전부는 아닙니다. 즉, 분류 자의 등급이 극도로 분류되지 않은 경우에도 주류에 대한 확실한 편향이 있습니다. 예를 들어, RandomForest의 결과는 다음과 같습니다.

a b <-- classified as 
164 34 | a = yes 
62 28 | b = no 

나는 아주 분명하게 뭔가를 놓치고 있습니다.

+0

그럼 뭐가 궁금한가요? 우위의 클래스는 다른 클래스의 거의 두 배입니다. 그렇습니다. 모든 분류기에는 편향이 있습니다. –

+0

그 결과가 지배적 인 클래스 법선에 대한 총 바이어스를 나타내는가? 예를 들어, BayesNet을 사용하면 Kappa 통계 값이 0 인이 일면 결과를 항상 얻을 수 있습니다. 내가 사용하는 데이터 세트 또는 메트릭에 관계없이. 이게 어떻게 작동할까요? RandomForest를 사용한 결과는 만족 스럽지만 인정합니다.하지만 BayesNet은 저를 괴롭 힙니다. –

+0

전체 데이터가 없으면 무슨 일이 벌어지는 지 말하기 어렵습니다. 이 기능은 좋은 분리를 달성하지 못할 수도 있습니다 (최소한 BayesNet과 관련하여).나는 짧은 대답은이 특정 작업을 위해 BayesNet을 사용하지 않는다고 생각한다. –

답변

1

원래 나는 BayesNet이 문제라고 생각했습니다. 하지만 지금은 그것이 당신의 데이터라고 생각합니다.

의견에서 이미 지적했듯이 문제는 불균형 클래스 문제라고 생각했습니다. 대부분의 분류 기준은 정확도를 최적화합니다. 귀하의 경우 BayesNet의 경우 (190 + 0)/288 = 0.66이고 RandomForest의 경우 (164 + 28)/288 = 0.67입니다.

큰 차이는 아니지만 RandomForest에서 찾은 해결책은 약간 우수합니다. 그것은 같은 클래스에 모든 것을 집어 넣지 않기 때문에 "더 좋아"보입니다.하지만 통계적으로 의미가 있는지 의심 스럽습니다.

Lars Kotthoff와 마찬가지로 언급하기가 어렵습니다. 나는 또한 기능이 더 나은 분리를 위해 충분하지 않다는 것을 짐작할 것입니다.

다른 분류 기준을 시도하는 것 외에도 성능 측정을 재고해야합니다. 정확도은 각 클래스에 대해 거의 동일한 수의 인스턴스가있는 경우에만 유용합니다. 다른 경우에는 MCC 또는 AUC이 좋지만 (호환되지 않는 구현으로 인해 AUC는 WEKA의 LibSVM에서 작동하지 않습니다). 당신의 예제

고객 센터는 BayesNet 0을하고 랜덤 포레스트에 대한

((164*28) - (62*34))/sqrt((164+62)*(34+28)*(164+34)*(62+28)) 
= (4592 - 2108)/sqrt(226 * 62 * 198 * 90) 
= 2484/sqrt(249693840) 
= 0,15719823927071640929 

것이다. 따라서 RandomForest는 약간 더 나은 결과를 보여 주지만 그다지 좋지는 않습니다.

데이터를 보지 않고 말하기는 어렵지만 잘 분리되어 있지 않을 수 있습니다.

+0

제가 일하는 분야는 70 %의 정확도를 고려하는 것이 일반적입니다. 어쨌든, 나는 또한이 측정이 사람이 원했던 것만 큼 정확하지 않다고 생각하기 시작했다. 또한 MCC 계산의 분모는 249693840이 아닌 sqrt (249693840) 여야한다고 생각합니다. 그렇다면 MCC는 약 0.157이됩니다. 훌륭하지는 않지만 분명히 0.00001보다 다소 실망 스럽습니다.) –

+0

@ShredOn 물론 그렇습니다. 나는 그것을 바꿨습니다. – Sentry

+0

명확히하기 위해 - 정확성 (또는 그 부족)을 잠시 잊어 버리면 분류 자에게 그러한 결과를 제공하게 만드는 바보 같은 실수가 없습니다. 맞습니까? 낮은 정확도는 내가 조사 할 수있는 것이지만 비정상적인 분류기 동작을 일으키는 기본 오류를 만들지 않기를 바랍니다. –

관련 문제