코드 실습은 제외하고 전반적인 개요를 요약하였다.
기계학습 프로젝트 계획을 수립하여 실행하고 배포하는 과정을 크게 8단계로 구분한다.
위 교재에선 캘리포니아 주택 가격 예측을 주제로 8단계 과정을 따라 프로젝트를 수행한다.
인구, 소득 등의 특성을 사용하여 중간 주택 가격 예측, 다중 회귀, 단변량 회귀 문제에 해당한다.
1. Look at the big picture.
어떤 것을 해결하고자 하는지 문제를 규명하고,
일련의 데이터 처리 구성 요소를 데이터 파이프라인이라 하는데, 이 단계에서 큰 틀을 잡는다.
또한 해결 또는 개선하고자 하는 문제의 수행 척도(Performance Measure)를 정의한다. (ex. MSE)
2. Get the data.
프로젝트를 수행할 환경을 구성하고(프로그래밍 언어 및 필요 라이브러리 설치 등등)
데이터를 다운 받아 구조를 확인한다. (.info(), .head(), .value_counts(), .describe(), .hist())
train set과 test set을 분할한다.
matplotlib의 .hist()를 통해 히스토그램을 시각화하면 전반적인 데이터 분포 확인하기 용이하다.
데이터 구조 등을 확인하며 보다 데이터셋과 프로젝트 방향성을 이해하는 단계이다.
3. Discover and visualize the data to gain insights.
다양한 시각화 기법을 통해 보다 자세히 데이터를 이해하고 유용한 정보를 얻어내는 단계이다.
산점도를 통해 특성 간의 데이터 분포 밀도나 추세를 확인
상관관계 분석을 통해 특성 간의 선형성을 파악
시각화를 통해 분석한 정보를 바탕으로 데이터 처리 및 분석 계획 수립을 할 수 있다.
4. Prepare the data for Machine Learning algorithms.
머신러닝 분석에 적합한 형태로 데이터를 전처리 하는 단계이다.이상치 처리, 결측치 제거, 결측치 대체(fillna, imputer)
문자형 / 범주형 데이터 처리 (ex. OrdinalEncoder, OneHotEncoder)
수치형 데이터 처리 (ex. MinMaxScaler, RobustScaler, Standardization)
데이터 전처리 과정을 파이프라인(sklearn.pipeline)을 통해 한 번에 진행할 수도 있다.
5. Select a model and train a Model
선정한 모델을 바탕으로 train set을 학습시키고, 평가하는 단계
어떤 모델과 평가 척도를 선정하냐에 따라 다양한 전략을 수립할 수 있고,
주로 교차 검증을 적용 하면 좋은 성능을 보인다.
6. Fine-tune your model.
모델을 최적화하는 단계. (ex. Grid Search 등을 활용하여 최적 파라미터 조합 찾기)
모델 앙상블 / 블렌딩을 통해 성능 개선할 수 있음.
7. Launch, monitor, and maintain your system.
0. 공공 데이터 수집 가능한 곳들
• 주요 공공 데이터 저장소:
— UC Irvine Machine Learning Repository (http://archive.ics.uci.edu/ml/)
— Kaggle datasets (https://www.kaggle.com/datasets)
— Amazon’s AWS datasets (https://registry.opendata.aws/)
• Meta portals (they list open data repositories):
— http://dataportals.org/
— http://opendatamonitor.eu/
— http://quandl.com/
• Other pages listing many popular open data repositories:
— Wikipedia’s list of Machine Learning datasets (https://homl.info/9)
— Quora.com question (https://homl.info/10)
— Datasets subreddit (https://www.reddit.com/r/datasets)
'데이터사이언스 > 머신러닝' 카테고리의 다른 글
상호 작용(Significant Interaction)과 상관 관계(Correlation) 차이 (1) | 2023.12.23 |
---|---|
[머신러닝] Training set과 Test set에 동일하게 Label Encoding 적용하는 방법 (0) | 2023.10.10 |
핸즈온 머신러닝 2 - 1장 기계학습 개요 (0) | 2022.09.19 |
앙상블 - 배깅 공부하다 끄적 (0) | 2022.08.09 |
전이학습(Transfer learning)과 Fine-tuning (0) | 2021.11.21 |