2015-01-08 5 views
2

(ML에서 멍청한 녀석) 내 scikit-learn SVMLinear 분류 자의 성능을 테스트하고 싶습니다. 내 기차 세트는 실제 인구와 다른 클래스 분포를 가지고 있지만, 내 테스트 세트는 대표이며 실제 인구와 같이 분포합니다.클래스 변수가 실제 모집단과 다른 분포를 갖는 열차 집합의 유효성을 확인하십시오

클래스 가중치 매개 변수가 있음을 눈치 챘습니다. 분류기에 실제 인구 분포를 제공하고 성능 향상에 도움이되는지 확인하려고합니다.

그러나 기차 세트 배포본이 다르기 때문에 내 유효성 검사 세트가 올바르게 표시됩니까? 유효성 검사에 대한 개선이 기대 되나요? 아니면 개선 사항을보기 위해 테스트 세트를 사용해야합니까? 그렇다면 테스트 세트를 사용하여 보정하는 규칙에 어긋나지 않아 테스트 세트 또는과 피팅을 태우는 결과를 낳을 수 있습니까?

필자는 기차 세트의 부트 스트랩 재 샘플링에 대해 생각해 보았습니다 : 일반 인구 집단과 동일한 배포를하고 내 모델을 교육하고 유효성을 검사하는 것입니다. 이것은 좋은 해결책입니까?

감사합니다.

+0

멍청한 놈이 아니므로, ;-). 나는 당신의 아이디어가 옳다고 생각하며 이것이 어떻게 문제를 해결할 것인가입니다. 나는 단지 ML에 많은 것을 추가 할 것입니다. 많은 것들이 데이터 셋/알 고스 의존적이므로 여러분 만이 여러분의 질문에 대한 확실한 답을 찾을 수있을 것입니다. 물론 테스트 세트를 사용하면 알지도 못합니다. – elyase

답변

1

대부분 시도해 볼만한 좋은 아이디어가있는 것 같습니다. 답은 대부분 응용 프로그램과 기차/테스트 세트의 크기에 따라 다릅니다.

테스트 세트를 기반으로 보정하고 평가를 위해 전체 테스트 세트를 다시 사용하는 것은 규칙에 위배됩니다. 그러나 테스트 세트가 충분히 큰 경우에는 항상 테스트 세트를 검증 세트와 실제 테스트 세트의 두 세트로 나눌 수 있습니다. 그런 다음 최종 평가는 응용 프로그램에 따라 여전히 수용 될 수있는 더 작은 테스트 세트를 기반으로합니다.

실제 인구와 다른 클래스 분포를 가지고 있다고 생각되는 교육 세트의 경우 시도해 볼 가치가있는 몇 가지 사항이있을 수 있습니다. 일반적으로 가장 수용 가능한 접근법은 이러한 차이를 처리 할 수있는 분류자를 사용하는 것입니다 (일반적으로 과도한 피하기를 피하기 위해 더 적은 매개 변수로). 살펴볼 수있는 왜곡 된 데이터 집합에 대한 분류 및 회귀에 대한 전체적인 주제가 있습니다. 분류 기준 이외에 테스트 세트에서 실제 모집단을 도출하지 않았다면 아래 방법도 도움이 될 수 있습니다. 1- 그 중 하나는 훈련 세트가 충분히 큰.2 - 다른 접근법은 트레이닝 세트의 현재 샘플에 약간의 노이즈를 추가하여 더 많은 트레이닝 샘플을 생성 할 수 있습니다. 예를 들어 새의 이미지를 분류하는 경우 이미지를 더 어둡게 또는 밝게 무작위로 만들거나 무작위로 크기가 약간의 픽셀을 옆이나 위 또는 아래로 움직일 수 있습니다 (충분히 작은 범위에서 임의로 값을 선택). 이렇게하면 원하는 분산을 얻는 방법으로 교육 세트에 추가 할 수 있습니다.