1) sklearn의 RandomForest에서 분류 임계 값을 변경하려면 어떻게해야합니까 (기본적으로 0.5라고 생각합니까)?
2) 어떻게 sklearn에서 언더 샘플링을 할 수 있습니까?
3) RandomForest 분류기의 결과는 다음과 같습니다. [[1635 1297] [520 3624]]
precision recall f1-score support
class 0 0.76 0.56 0.64 2932
class 1 0.74 0.87 0.80 4144
평균 / 총 0.75 0.74 0.73 7076
먼저 데이터의 균형이 맞지 않습니다 (클래스 0에서 30 %, 클래스 1에서 70 %). 따라서 클래스 1에 대해 분류자가 편향 될 가능성이 더 크다고 생각합니다. 즉, 클래스 0에서 클래스 1로 일부를 이동한다는 의미입니다 (클래스 0의 경우 1297 개의 오 분류가 있지만 클래스 1의 경우 520 개의 미분류가 있음). 이 문제를 어떻게 해결할 수 있습니까? 다운 샘플링이 도움이 될 수 있습니까? 또는 분류 임계 값을 변경합니까?
업데이트 : 클래스 0은 인구의 40 %를 차지하고 클래스 1은 60 %입니다. 그러나 클래스 0에서 클래스 1 (1297) 로의 드리프트는 높지만이 값을 낮추기를 원합니다.