Scikit Learn Estimator과 Spark ML Estimator의 차이가 있어서 공부할 겸 정리해 보았다.
Scikit Learn은 객체 자체가 학습된 모델을 가지고, Spark ML에서는 별도의 Model 객체 자체가 학습된 모델을 가지는 차이가 있다. 그리고 모든 반환을 DataFrame으로 하는 것을 알 수 있었다.
Spark DataFrame 생성 후 ML 알고리즘 학습 및 예측 수행 그림 아래와 같다.

- iris_sdf DataFrame을 randomSplit()을 이용하여 train용과 test용 DataFrame으로 분할
- VectorAssembler를 이용하여 모든 feature 컬럼들을 하나의 feature vector로 변환
- Estimator 객체를 생성하고, fit() 메소드를 호출하여 ML Model 반환
- ML Model을 이용하여 테스트 DataFrame에 예측 수행.
https://github.com/kidae92/pyspark