⭐ 데이터 준비단계 -> 모니터링 도구 구축 -> 사람의 평가 파이프라인 세팅 -> 주기적인 모델 학습 자동화
1. 모델 선택과 훈련
1) 교차 검증을 사용한 평가
- k-겹 교차 검증
from sklearn.model_selection import cross_val_score
scores = sross_val_score(tree_reg, housing_prepared, housing_labels,
scoring = "neg_mean_squarred_error", cv=10)
tree_rmse_scores = np.sqrt(-scores)
실험한 모델을 모두 저장해놓으면 필요할 때 쉽게 복원할 수 있다.
-> 파이썬의 pickle 패키지나 큰 넘파이 배열을 저장하는데 아주 효율적인 joblib을 사용하여 사이킷런 모델 간단히 저장 가능하다.
import joblib
joblib.dump(my_model, "my_model.pkl")
# ~~~~
my_model_loaded = joblib.load("my_model.pkl")
2. 모델 세부 튜닝
1) 그리드 탐색
- 최적의 하이퍼파라미터 조합을 탐색
- 어떤 하이퍼파라미터 값을 지정해야 할지 모를 때는 연속된 10의 거듭제곱을 시도해보는 것이 좋음
- 비슷하게 이상치나 값이 빈 특성을 다루거나 특성 선택 등을 자동으로 처리하는 데 사용
- 비교적 적은 수의 조합을 탐구할 때 좋음
2) 랜덤 탐색
- 하이퍼파라미터 탐색 공간이 커지면 RandomizedSearchCV를 사용하는 것이 좋음
- 가능한 모든 조합을 시도하는 대신 각 반복마다 하이퍼파라미터에 임의의 수를 대입하여 지정한 횟수만큼 평가 -> 랜덤 탐색 1000번으로 실행하면 각기 다른 1000개의 값을 탐색
3) 앙상블 방법
- 최상의 모델을 연결 -> 모델의 그룹이 최상의 단일 모델보다 더 나은 성능을 발휘할 때가 많음
3. 론칭, 모니터링, 시스템 유지 보수
1. 훈련된 사이킷런 모델을 저장하여 predict() 메서드를 호출해 예측 만들기
2. REST API를 통해 질의할 수 있는 전용 웹 서비스로 모델 감싸기
3. 구글 클라우드 AI 플랫폼과 같은 클라우드에 배포하기
'인공지능(AI) > 머신러닝' 카테고리의 다른 글
[핸즈온 머신러닝] 7장 앙상블 학습과 랜덤 포레스트 (0) | 2022.01.22 |
---|---|
[핸즈온 머신러닝] 6장 결정 트리 (0) | 2022.01.18 |
[핸즈온 머신러닝] 5장 서포트 벡터 머신 (1) | 2022.01.18 |
[핸즈온 머신러닝] 4장 모델 훈련 (0) | 2022.01.17 |
[핸즈온 머신러닝] 3장 분류 (0) | 2022.01.11 |
댓글