파이프 라인 - PipeLine
- 데이터 처리 컴포넌트(Component)들이 연속되어 있는것
데이터 수집
- 데이터 다운로드
- 크롤링
- 데이터 저장소 API 사용
데이터 구조 확인
- 판다스(Pandas) DataFrame의 메소드들을 활용 ex)head() , info() describe()등
- 그래프를 활용 ex) matplotlib , seaborn 등
데이터 훈련 / 테스트 셋 분리 - train test split
- 사이킷런 train_test_split
- 데이터 스누핑 : 기대성능이 나오지 않을 가능성이 있음
- 계층적 샘플링 : 데이터셋 샘플링에서 발생할 수 있는 편향을 계층이라는 그룹핑을 통해 하위 데이터셋을 계층 비율에 맞춰 샘플링
데이터 이해를 위한 탐색과 시각화
- matplotlib을 활용
- 상관계수 조사
- 판다스 plot 산점도 행렬을 이용한 히스토그램 확인
- 특성 조합으로 확인
데이터 정제
- 특성값이 없는 경우
- 해당 구역을 제거
- 전체 특성을 삭제
- 어떤 값으로 채움 (0, 평균, 중간값 등)
- 사이킷런 SimpleImputer
- 텍스트와 범주형 특성
- 특성 스케일링 : StandardScaler() , MinMaxScaler()
모델 선택과 훈련
- 훈련세트에서 훈련하고 평가 : LinearRegression()
- 훈련 세트에 대한 모델 RMSE : mean_squared_error()
- 사이킷런의 k-겹 교차 검증 : k-fold cross-validation
- 교차검증을 사용한 평가 : cross_val_score()
모델 세부 튜닝
-적은 수의 조합 탐색 그리드 탐색 : GridSearchCV()
-탐색 공간이 클때 RandomizedSearchCV)-
- 앙상블
- 최상의 모델과 오차 분석 : feature_importances_
'Development Study > Machine Learning' 카테고리의 다른 글
[ML] 파이썬 머신러닝 - 공부하기 .2 (0) | 2020.10.22 |
---|---|
[ML] 파이썬 머신러닝 - 계층적 샘플링 / Stratified sampling (0) | 2020.10.18 |