2017-12-19 4 views
0

나는 처음으로 scikit을 배우기위한 예제를 만들었고 예측에 대한 정확성을 평가하려고합니다. 훈련과 테스트 목록을 잘 만들었지 만 무작위 값을 주더라도 ~ 0.95의 정확도를 얻고 있습니다.임의 값에 대한 분류기 정확도를 테스트하려면 어떻게해야합니까?

0/1 레이블을 확인 중이므로 95 %의 레이블이 0이므로 0을 추측하고 0.95 정확도를 얻습니다 (제 생각에는?). 분명히 이것은 내가 원하는 것이 아닙니다.

분류기가 작동하는지 어떻게 결정할 수 있습니까? 의미있는 정확도 값을 얻으려면 어떻게해야합니까?

+0

프로그래밍상의 질문이 아닙니다. Cross Validated로 이동하려면 플래그를 지정해야합니다 (아직 응답하지 않은 경우). –

답변

1

클래스 불균형 문제가 명확합니다. 귀하의 분류기는 시간의 95 %가 될 것이라고 항상 알기 때문에 항상 0을 예측합니다. 장착 된 분류기에서 predict(X_test)으로 전화하여이를 검사 할 수 있습니다. 모든 값이 0이면이 경우를 알 수 있습니다.

모델이 수행하는 방법에 대해 더 잘 이해하려면 1 레이블이 붙은 데이터를 업 샘플링하거나 0 레이블이 지정된 데이터를 샘플링 다운 할 수 있습니다. 이 package을 사용하면 scikit-learn을 빌드하고 여러 가지 리샘플링 방법을 구현할 수 있습니다. 또는 scikit learns resampling 방법을 사용할 수 있습니다. 어떤 새로운 데이터 포인트를 부트 스트랩합니까?

+0

감사합니다. 모든 테스트 데이터가 50/50 스플릿 또는 0/1 일 때 이상적입니까? 이것이 표준 데이터 준비 작업입니까? – john

+0

이상적으로 당신은 테스트 비율의 비율을 트레이닝 비율과 일치 시키길 원합니다. 이것은 [층화 주름] (http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html)을 통해 달성 할 수 있습니다. – Harpal

관련 문제