0

나는 Kaggle에서 얻은 데이터 세트에 대한 의사 결정 트리를 만들려고합니다. 실제 데이터 세트를 다루는 데 대한 경험이 없기 때문에 데이터 정리, 통합 및 스케일링 (주로 스케일링)을 처리하는 방법을 알지 못합니다.의사 결정 트리를 만들 때 데이터를 처리하는 방법

예를 들어, 실제 숫자가있는 기능이 있다고 가정 해 보겠습니다. 그래서 특정 그룹 수 (소수의 의사 결정 트리 만들기)로 확장하여 범주 형 데이터와 같은 기능을 만들고 싶습니다.

이 경우 의사 결정 트리 용도로 얼마나 많은 데이터 그룹이 적합한 지 알 수 없습니다. 대상 데이터 세트의 고유 한 값의 수와 피쳐의 데이터 분포에 따라 다르 겠지만 배포 및 대상 데이터 세트를보고 좋은 추측을 찾는 방법을 모르겠습니다. 필자의 추측에 따르면 피쳐의 데이터를 대상 데이터 세트의 고유 값 수와 비슷한 수로 나눕니다. (이 말이 맞는 지 모르겠다.)

학교에서 배웠을 때, 나는 모든 기능에 대해 2-5 개의 범주화 된 데이터를 제공 받았기 때문에 걱정할 필요가 없었지만 실제로는 - 생활은 학교와 완전히 다릅니다.

도와주세요.

+1

실생활 분류가 정말 어려울 수 있습니다. 라벨이없는 상황에서 감독자가 아닌 학습도 고려할 수 있습니다. – shane

답변

2
  1. DT의 경우 수치 형, 숫자 형, 숫자 형 데이터가 필요합니다. 숫자 열에는 크기 조정이 필요하지 않습니다.
  2. 범주 형 데이터를 처리하려면 one-hot 인코딩을 사용하십시오. one-hot 인코딩 전에 각 기능 (> = 5 %)이 다소 많다는 것을 명심하십시오. 그렇지 않으면 작은 변수를 그룹화하십시오.
  3. 다른 모델을 고려해보십시오. DT는 훌륭하지만 오래된 학교이며 과밀하기 쉽습니다.
1
당신이 범주에 실수를 계층화에 대한 필요성 제거 의사 결정 트리 회귀 사용할 수 있습니다

:이 작업을 수행 할 때 http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html

것은, 제로 평균, 단위 분산에 입력 데이터의 크기를 조절하는 데 도움이됩니다; 큰 카테고리 입력이 모델을 우회하는 것을 막을 수 있습니다.

의사 결정 트리가 최선의 선택이 아닐 수 있습니다. SVM 또는 ANN을 시도하십시오. 또는 (대부분) 여러 모델의 앙상블 (또는 심지어 임의의 숲).

+0

예, 입력 데이터를 0 평균 및 단위 분산으로 스케일링하는 것이 좋습니다. 감사! –

관련 문제