티스토리 뷰
- 머신러닝을 어떻게 적용하는지 절차적으로 배워본다.
1. 문제 이해
2. 데이터 준비
3. 모형 구축 과정
4. 데이터 검증과정
5. 모형 유지보수
2-1. 머신러닝 프로세스 개요
Data Science Process

1. 비즈니스에 대한 이해 (Prior Knowledge)
- 해결하고자 하는 문제에 대한 정확한 이해
- 예측목표 / 정확도 / 성능 / 모형활용에 대한 계획
2. 데이터 준비 : 데이터에 대한 이해
- 데이터가 어떻게 생긴건지?
- 어떤 부분을 처리하고 변수로 삼을건지?
3. 모델링 : Training Data
- 모형의 구조를 갖추고, 해당 모형으로 학습
- 학습된 함수 도출
4. 모델적용 : Test Data
- 도출된 함수 검증
- 매우 중요한 단계 !!! 검증을 통해 최선의 모형을 찾는 것이 중요함.
5. 결과 도출
머신러닝 모형 학습 과정
| 데이터 준비 | 모형 학습 및 검증 | deploy |
| 60~70% | 20~30% | 나머지 |
Data 관련 용어
- Dataset : 정의된 구조로 모아져 있는 데이터 집합. 수집한 전체 데이터.
- Data Point(Observation) : 관측치. 관측의 대상. 관측한 하나하나의 값.
- Feature (Variable 변수, Attribute 속성) : 각각의 관측치에 대해 정리해놓은 특성(컬럼). 모아두면 데이터셋이 됨.
- Label (Target, Response) : 궁극적으로 예측하고자 하는 변수(y). output. 이것도 마찬가지로 데이터셋에 포함됨.
정형데이터와 비정형데이터
- 정형데이터
- 가장 기본적인 데이터 형태
- 테이블 형태, 표의 형태로 잘 정리되어 있는 데이터 - 비정형데이터
- 이미지, 텍스트, 음성 등의 데이터 - 회귀(Regression) : 입력변수 x에 대해서 y가 수치적으로 변화할 때 둘의 상관관계를 표현해줄 수 있는 함수를 찾는 것.
데이터 준비과정
- Data Exploration : 데이터모델링 전, 변수별 기본적인 특성을 탐색하는 것.
- EDA(Exploratory Data Analysis)라고도 함
- Garbage in Garbage out
- 데이터 분포, 평균, 중간값 사분위수 등 데이터 파악 - Missing Value(결측치) : 결측치를 확인하는 것.
- 결측치가 들어갔을 때 계산이 되지 않고 오류를 일으키는 경우가 많음
- 결측치를 아예 없애거나 고정한다. - Data Types and Conversion : 머닝러신 모형에 넣기 위해 데이터타입을 변환하는 것.
- 머신러닝 모형에 적용하기 위해서는 숫자, 벡터 등 계산할 수 있는 형태로 변환해주어야 함 - Normalization(정규화) : 변수들의 단위를 맞춰주는 것
- 변수의 단위가 크게 다를 경우 모형이 큰 변수에 의존하여 학습되어 잘못된 결과를 낼 수 있음
- 1) 평균을 빼고 표준편차로 나눠주기
- 2) Max - Min 을 특정 비율로 스케일링 하기 - Outliers(이상치) : 일반적인 특성을 표현하는데 방해되는 극단적인 관측치를 제거해주는 것.
- 이상치를 제거하고 모형을 학습시키면 조금 더 일반화가 잘 되는 모형학습이 될 수 있다.
- 모형학습을 먼저 해보고 결과가 좋지 않을 경우 적용해볼 수 있음. - Feature Selection(변수 선택) : 모형 구축과 최종 결과에 중요한 변수들을 선택하는 것.
- 모형학습 후 성능이 잘 안나올 경우 불필요한 변수를 제거하여 모형의 성능을 높이기도 함
- 모형이 낸 결과에 대해 어떠한 설명가능성이 있는 변수를 찾아내기도 함.
=> 꼭 Training 데이터라고 해서 모든 내용을 활용하고 학습에 반영할 필요가 없다.
Modeling

* Bulid model = Training model
* Evaluation 단계에서 피드백 루프 有 : 필수적인 단계임.
- 패턴을 변경하거나 모형을 변경, 혹은 데이터 처리까지 되돌아가면 만족할 수준이 될때까지 반복함.
- 해당 단계를 잘해내는 정도가 실력이 됨.



- 테스팅 데이터에 대해서 얼마만큼 오차가 난지 확인하고, 이를 통해 모형이 잘 학습 되었는지 검증할 수 있다.
- Testing 오차가 크게 나는 경우 무엇이 원인일지 고민해보아야 함.
원인 1) train 데이터에 대해 너무 많은 적합(학습)을 함. => Overfit
원인 2) 데이터의 패턴을 반영하지 못하고 너무 심플하게 모형을 만듦. => Underfit
데이터를 나누는 방법
- Training, Validation, Testing 데이터로 나누는 것이 가장 좋음. (7: 2: 1 혹은 5: 3: 2, 상황에 따라 적절하게 나누면 됨)
- 데이터가 너무 적을 경우는 Cross Validation 사용.
2-2. 머신러닝 실습
- 큰 그림을 봅니다.
- 데이터셋에 대한 전반적인 이해 - 데이터를 구합니다.
- 데이터로부터 통찰을 얻기 위해 탐색하고 시각화합니다.
- 머신러닝 알고리즘을 위해 데이터를 준비합니다.
- 머신러닝 알고리즘에 입력하기 위해 필요한 데이터 전처리 과정 - 모델을 선택하고 훈련시킵니다.
- 모델을 상세하게 조정합니다.
- 검증을 통해 적절한 모델 complexity를 조정 - 솔루션을 제시합니다.
- 시스템을 론칭하고 모니터링하고 유지보수합니다.
실습으로배우는머신러닝 2. Machine Learning Pipeline - 실습.ipynb
1.16MB
- 코드에 대한 설명 有
- 한 번 쭉 코드를 실행해보며 EDA과정 및 머신러닝 과정 훑어보기 !
'STUDY > 머신러닝 딥러닝' 카테고리의 다른 글
| K-MOOC 머신러닝 강좌 [3] Classification (0) | 2023.03.30 |
|---|---|
| K-MOOC 머신러닝 강좌 [1] Introduction to Machine Learning (0) | 2023.03.23 |