( 핸즈온 머신러닝 책 study p.67~)
머신러닝이 어떻게 돌아가는지, 어떤 순서로 데이터를 가공하고 적용할지에 대해서 큰 그림을 그려보긔
1. 문제정의 - 어떤 기법을 쓰지? 어떤 데이터지?
2. 성능 측정 지표 선택 - 대표적: 평균 제곱근 오차(RMSE): 유클리디안 노름(방법), 예측값의 벡터와 타깃값의 벡터 사이의 거리를 재는 방법
3. 데이터 가져오기
4. 환경 구축
1) 데이터 구조 훑기: head(),info(), value_counts(), describe(),
2) 데이터 시각화를 통해 데이터 살펴보기
: 히스토그램을 통해 알 수 있는 결과: 각 컬럼들의 스케일, 상한 하한값, 특성 어떻게 표시되어있는지, 모양의 분포를 통해 정규화해야할지 말지 정하기
3) 테스트 세트 만들기
: 테스트 세트를 떼어놓는 이론적인 방법: 무작위로 어떤 샘플을 선택해서 데이터셋의 20% 정도를 (데이터셋이 매우 크다면 그보다 적게) 떼어놓으면 됨.
4. 데이터 이해를 위한 탐색과 시각화
: 산점도, 상관관계 조사(corr()), 등등
5. 머신러닝 알고리즘을 위한 데이터 준비
1) 데이터 정제: dropna(), drop(), fillna(), simpleImputer()(누락된 값을 손쉽게 다루게 해줌, 누락된 값을 특성의 중간 값으로 대체 한다고 지정)
2) 텍스트와 범주형 특성 다루기- > 텍스트를 숫자로 변환(OrdinalEncoder() 사용), OneHotEncoder()
3) 특성 스케일링: min-max스케일링(정규화), StandardScaler()(표준화)
6. 모델 선택과 훈련
:과소/과대적합 고려하기
1) 선형회귀 모델: LinearRegression
2) 의사결정 모델: DecisionTreeRegressor
3) RandomForestRegressor
4) 과대 적합일 경우 대안으로 사용하는 방법: 교차검증(k fold cross_val_score)
7. 모델 세부 튜닝
1) 그리드 탐색(GridSearchCV)
: 만족할 만한 하이퍼파라미터 조합을 찾아줌
2) 랜덤 탐색(RandomizedSearchCV)
: 그리드 서치와 비슷하지만 하이퍼파라미터 탐색공간이 커지면 사용하는 편이 좋음
3) 앙상블 방법
: 최상의 모델을 연결해보는 것, 모델의 그룹을 단일 그룹보다 더 나은 성능을 발휘할 때가 많음,
4) 최상의 모델과 오차분석
: 정확한 예측을 위한 특성의 상대적인 중요도를 알려줌
5) 테스트 세트로 시스템 평가하기
'Data Scientist > Machine Learning' 카테고리의 다른 글
[ML] 앙상블 기법 (0) | 2022.02.09 |
---|---|
[ML] tensorflow와 keras 의 차이 (0) | 2022.02.03 |
[ML] 머신러닝 기본 개념과 학습 방법 (0) | 2021.07.30 |
[ML] 교차 검증 ( validation set 생성하기) (0) | 2021.07.14 |
[pytorch] 1-Dim Convolution (0) | 2021.06.16 |