Decision Tree Induct Operator


Operator 설명


 wikipedia,2018년8월20일,https://ko.wikipedia.org/wiki/결정_트리_학습법

Operator 파라미터 설명

작동 순서

  1. 입력 DataFrame의 유효성 검사를 진행한다. (Label Column)
  2. 문자 칼럼을 숫자 칼럼으로 바꾸는 작업을 한다. (index_trasformers)
  3. 모든 데이터를 Vectors로 변환 후 feature 칼럼으로 생성한다. (assembler)
  4. labelIndexer에 라벨 이름을 설정한다.
  5. Spark ml의 DecisionTreeClassifier 알고리즘을 설정한다. (Max Depth, gain, impurity 등) - dt
  6. IndexToString을 사용하여 나온 예측 결과를 다시 문자로 변환한다. (labelConverter)
  7. index_transformers, assembler, labelIndexer, dt, labelConverter를 stage로 설정한 후 Pipeline을 사용하여 모델링한다.
  8. Dt를 DecisionTreeClassificationModel로 변환하여 featureImportances를 확인한다.
  9. fetureImportances가 0이 아닐 경우에 출력 DataFrame에 포함 되어 생성한다.

Operator 모듈 테스트 결과

입력 데이터

play outlook temperature humidity wind
no sunny 85 85 false
no sunny 80 90 true
yes overcast 83 78 false
yes rain 70 96 false
yes rain 68 80 false
no rain 65 70 true
yes overcast 64 65 true
no sunny 72 95 false
yes sunny 69 70 false
yes rain 75 80 false
yes sunny 75 70 true
yes overcast 72 90 true
yes overcast 81 75 false
no rain 71 80 true

결과 데이터

outlook temperature wind
sunny 85 false
sunny 80 true
overcast 83 false
rain 70 false
rain 68 false
rain 65 true
overcast 64 true
sunny 72 false
sunny 69 false
rain 75 false
sunny 75 true
overcast 72 true
overcast 81 false
rain 71 true
featureImportances
outlook:0.495348837209302
temperature:0.3052325581395349
wind:0.199418604651163