본문 바로가기

프로그래밍/Environment Setting

Machine Learning 프로젝트 최종 시스템 구조도

최종 Service Structure

 

* 프로젝트 주제 : 다양한 데이터들을 묶어 학습하여, 분류 모델을 만들며 그 과정을 추출하여 모델의 합당성을 평가한다.

 

* (다중 클래스)분류용 선형 모델 (Ex.LinearSVCNaivebayes)의 한계

1. 타겟(등급)설정 개수의 한계

2. 다양한 데이터를 묶어 분류 모델을 만드는 특성상 데이터의 시각화 및 분석이 불가능

 --> KNN, DecisionTree(RFC, GBC) 모델 사용

 

   - KNN: 기본 모델로서 좋고 설명하기 용이

 

   - Random Forest

1)결정 트리 하나보다 거의 항상 좋은 성능을 냄

2)매우 안정적이며 데이터 스케일 조정(전처리)필요 없음

3)주요 매개 변수 :  n_estimators(사용되는 트리의 개수.클수록 안정적이며 random_state값의 변화에 따른 변동이 적음), max_features(트리의 무작위성. 적을 수록 안정적), max_depth(사전 가지치기 효과.작을 수록 안정적)

 

   - GradientBoosting

1)Random Forest보다 좋은 성능

2)Random Forest 보다 학습은 느리나 예측은 빠르며 메모리를 적게 먹음

3)주요 매개 변수 n_estimators(너무 크면 과대 적합), learning_rate(낮출수록 안정적), max_dept

 

 

* Matplotlib : KNN 모델링 과정 추출에 활용 (대표 매개변수 기준)

* Graphviz : Decision Tree 모델링 과정 추출