티스토리 뷰

  • 머신러닝을 어떻게 적용하는지 절차적으로 배워본다.
    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 단계에서 피드백 루프 有 :  필수적인 단계임.
 - 패턴을 변경하거나 모형을 변경, 혹은 데이터 처리까지 되돌아가면 만족할 수준이 될때까지 반복함.
 - 해당 단계를 잘해내는 정도가 실력이 됨.

model 검증
testing error
testing error 계산 → 모형 검증 가능

  • 테스팅 데이터에 대해서 얼마만큼 오차가 난지 확인하고, 이를 통해 모형이 잘 학습 되었는지 검증할 수 있다.
  • Testing 오차가 크게 나는 경우 무엇이 원인일지 고민해보아야 함.
    원인 1) train 데이터에 대해 너무 많은 적합(학습)을 함.    => Overfit
    원인 2) 데이터의 패턴을 반영하지 못하고 너무 심플하게 모형을 만듦.    => Underfit

 

 

 

데이터를 나누는 방법

  • Training, Validation, Testing 데이터로 나누는 것이 가장 좋음.  (7: 2: 1  혹은 5: 3: 2, 상황에 따라 적절하게 나누면 됨)
  • 데이터가 너무 적을 경우는 Cross Validation 사용.

 

 

 

 


 2-2. 머신러닝 실습

  1. 큰 그림을 봅니다.
    - 데이터셋에 대한 전반적인 이해
  2. 데이터를 구합니다.
  3. 데이터로부터 통찰을 얻기 위해 탐색하고 시각화합니다.
  4. 머신러닝 알고리즘을 위해 데이터를 준비합니다.
    - 머신러닝 알고리즘에 입력하기 위해 필요한 데이터 전처리 과정
  5. 모델을 선택하고 훈련시킵니다.
  6. 모델을 상세하게 조정합니다.
    - 검증을 통해 적절한 모델 complexity를 조정
  7. 솔루션을 제시합니다.
  8. 시스템을 론칭하고 모니터링하고 유지보수합니다.

 

실습으로배우는머신러닝 2. Machine Learning Pipeline - 실습.ipynb
1.16MB

  • 코드에 대한 설명 有
  • 한 번 쭉 코드를 실행해보며 EDA과정 및 머신러닝 과정 훑어보기 !

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함