불균형이 높은 데이터 세트 교육에 대한 빠른 안내


29

훈련 세트에서 약 1000 개의 양성 및 10000 개의 음성 샘플로 분류 문제가 있습니다. 따라서이 데이터 세트는 상당히 불균형합니다. 일반 임의 포리스트는 모든 테스트 샘플을 대다수 클래스로 표시하려고합니다.

서브 샘플링 및 가중 임의 숲에 대한 좋은 답변은 여기에 주어집니다 : 높은 바이어스 데이터 세트와 나무 앙상블 훈련의 의미는 무엇인가?

RF 외에 어떤 분류 방법으로 문제를 가장 잘 처리 할 수 ​​있습니까?


답변:


19
  • Max Kuhn은 Applied Predictive Modeling의 Ch16에서이를 잘 다룹니다 .
  • 연결된 스레드에서 언급했듯이 불균형 데이터는 본질적으로 비용에 민감한 교육 문제입니다. 따라서 비용에 민감한 접근 방식은 불균형 데이터에 적용 할 수 있습니다.
  • 이러한 접근 방식에는 여러 가지가 있습니다. R : C50에서 모두 구현 된 것은 아니며 가중 SVM은 옵션입니다. 저스트 부스트 Rusboost 나는 Matlab 코드로만 사용할 수 있다고 생각합니다.
  • Weka를 사용하지 않지만 비용에 민감한 많은 분류 기가 있다고 생각합니다.
  • 불균형 데이터 셋 처리 : 검토 : Sotiris Kotsiantis, Dimitris Kanellopoulos, Panayiotis Pintelas '
  • 수업 불균형 문제 : Xinjian Guo, Yilong Yin, Cailing Dong, Gongping Yang, Guangtong Zhou

16

대다수 클래스를 언더 샘플링하는 것은 일반적으로 그러한 상황에가는 길입니다.

포지티브 클래스의 인스턴스가 너무 적다고 생각되면 오버 샘플링을 수행 할 수 있습니다 (예 : 크기가 n 인 데이터 세트에서 교체 된 샘플 5n 인스턴스).

주의 사항 :

  • 예를 들어 Naive Bayes와 같은 일부 방법은 클래스 분포의 변경에 민감 할 수 있습니다. 이는 이전 확률에 영향을줍니다.
  • 오버 샘플링으로 인해 과적 합이 발생할 수 있음

아니면 일부 클러스터링 알고리즘을 시도하고 클러스터 센터를 사용합니까?
Leela Prabhu

링크에서 오버 샘플링 및 불균형 데이터 세트를 처리하는 다른 방법을 확인할 수 있습니다 .
janpreet singh

11

그라디언트 부스팅도 좋은 선택입니다. 예를 들어 sci-kit learn에서 그라디언트 부스팅 분류기를 사용할 수 있습니다. 그라디언트 부스팅은 잘못 분류 된 예제를 기반으로 연속적인 훈련 세트를 구성하여 클래스 불균형을 처리하는 원칙적인 방법입니다.


1
: 나의 이해는 같은 불균형 데이터를 다루는 RF 등의 제한을 앓고을 강화하는 구배 sci2s.ugr.es/keel/pdf/algorithm/articulo/...
찰스

1
부스팅은 불균형을 직접 해결하는 포리스트를 구축하는 추가 단계입니다. 당신이 링크 한 논문은 부스팅에 도움이된다고 언급하면서 불균형이없는 경우에도 도움이됩니다. 그리고 그 논문은 부스팅이 크게 도움이된다는 결론을 내립니다. RF와 부스팅의 동등성이 어디에 있는지 확실하지 않습니까?
cwharland

1

여기에 게시 된 답변 외에도 부정적인 예와 비교할 때 긍정적 인 예의 수가 너무 적 으면 긍정적 인 예가 이상인 예외 감지 문제에 가깝습니다.

다변량 가우스 분포를 사용하여 모든 점을 모델링 한 다음 평균에서 2 또는 3 표준 거리에있는 점을 선택하는 등 다양한 변칙을 탐지하는 다양한 방법이 있습니다.

생각할 또 다른 음식-더 많은 예제를 사용하여 부정적인 예제를 무작위로 샘플링하여 두 클래스의 수가 동일하도록 상당히 많은 사람들을 보았습니다. 그것은 우리가 문제의 균형을 잡기를 원하는지 아닌지에 따라 전적으로 문제에 달려 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.