Snoopy [K-mooc] 2. Machine Learning Pipeline
강의 내용 정리하기/실습으로 배우는 머신러닝

[K-mooc] 2. Machine Learning Pipeline

Sooyoon Jeong 2022. 11. 21.

성신여대 김영훈 교수님의 K-MOOC 실습으로 배우는 머신러닝 강의 내용을 바탕으로 포스팅하였습니다.


1차시: 머신러닝 프로세스 개요

1. 머신러닝 프로세스 개요

가. 머신러닝 과정

출처: 김영훈 교수님 강의 자료

 

나. Data 관련 용어

Dataset: 정의된 구조로 모아져 있는 데이터의 집합

Data point(observation): dataset에 속해 있는 하나의 관측치

Feature(Variable, Attribute): 데이터를 구성하는 하나의 특성

  - 숫자형, 범주형, 시간, 텍스트, 이진형 등의 값이 들어가 있을 수 있다.

Label(Target, Response): 입력 변수들에 의해 예측, 분류되는 출력 변수, 우리가 맞춰야 할 변수이다.

 

신용점수 예측 모델에서 feature는 직업, 연봉 등이 될 수 있고 label은 신용점수가 될 것이다.

 

다. data 준비

1️⃣ EDA

데이터 모델링 전 데이터 변수 별 기본적인 특성을 탐색하고 데이터 분포의 특징을 이해하는 과정이 필요하다.

 

2️⃣ 결측치(missing value) 처리

일부 데이터가 수집되지 않거나 어떠한 사유로 인해 결측치로 남아있는 경우가 있다.

머신러닝에서 결측치가 있으면 오류가 발생하기 때문에 이를 적절하게 조치해주어야 한다.

 

3️⃣ Data type과 conversion

데이터 셋 안에 여러 종류의 데이터 타입(숫자, 텍스트, 범주형, 시간 등)이 있을 수 있고 분석 가능한 형태로 변환해준 다음 사용해야한다.

 

가령, 머신러닝에서는 범주형 데이터는 사용할 수 없어서 인코딩 등으로 숫자형으로 바꿔주어야 한다.

 

4️⃣ normalization

데이터 변수들의 단위가 크게 다른 경우에 모델 학습에 영향을 주는 경우가 있다.

이런 경우에는 정규화를 시켜주는 것이 바람직하다.

 

예시: 표준화

 

5️⃣ 이상치(outliers) 처리

관측치 중에 다른 관측치와 크게 차이가 나는 관측치가 있을 수 있고 이는 모델 학습에 영향을 줄 수 있기 때문에 적절하게 조치해주는 것이 좋다.

 

6️⃣ feature selection

많은 변수 중에 모델링에 사용할 변수만 선택하는 과정이다.

 

예측에 도움이 되는 변수가 있고 그다지 도움이 되지 않는 변수가 있을 것이다.

이를 잘 판별해서 변수를 선별해주어야 한다.

 

7️⃣ Data sampling

모델 검증이나 이상 관측치를 찾는 모델링을 할 때 또는 앙상블 모델링을 할 때 가지고 잇는 데이터의 일부분을 추출하는 과정을 거치기도 한다.

 

라. 모델링

모델이란 입력 변수와 출련 변수간의 관계를 정의해줄 수 있는 추상적인 함수 구조이다.

 

출처: 김영훈 교수님 강의 자료

마. 모델링 검증

단순히 loss를 의미하는 training error 보다는

generalization error를 의미하는 validation error가 더 중요하다.

 

따라서 valid 데이터 셋을 만들어서 검증을 진행하는 것은 매우 중요할 것이다.

(참고로 검증 방법은 hold out, cross validation 2가지가 존재한다.)

 

검증을 통해 underfit과 overfit 등을 파악해야 한다.

출처: 김영훈 교수님 강의 자료

 

underfit

모형의 복잡도가 너무 낮아서 학습 데이터의 패턴을 완전히 학습하지 못한 것

 

overfit

모형의 복잡도가 너무 커서 학습 데이터의 패턴을 과도하게 학습한 것

training set으로는 높은 점수를 보이지만, test set에서는 낮은 점수를 보인다.

댓글