Skip to content

DominKim/ML_at_work

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 

Repository files navigation

ML_at_work

머신러닝 프로젝트의 과정

1. 문제를 정의한다.

  • 목적을 명확히 정의하는게 중요, 해결하려는 문제에 대한 가설을 세우고 무엇을 해야 할지도 명확하게 해야 한다.
  • 구체적이고 실천할 수 있는 수준까지 쪼개어 가도록 한다.
  • KPI(Key Performance Indicator) 정하기

2. 머신러닝을 사용하지 않는 방법은 없는지 검토한다.

  • 머신러닝 적용 조건
    • 대량의 데이터에 대해 고속으로 안정된 판단을 내려야 할 때
    • 예측 결과에 일정 수준의 오류가 용인될 때
  • MVP(minumum viable product) 만들기 : 고객가치를 창출할 수 있는 최소한의 제품

3. 시스템을 설계한다.

  • 예측 결과를 어떻게 이용할 것인가?
  • 예측 오류의 영향을 어떻게 흡수할 것인가?

4. 사용할 알고리즘을 선택한다.

  • 과거에 비슷한 문제를 어떻게 풀었는지 조사한 후 대강의 후보군을 선정
  • 데이터의 특성을 모른다면 군집화같은 비지도 학습이나 scatter-plot로 시각화해보고 어떤 방법으로 문제를 풀지 생각해본다.

5. 특징과 정답 데이터, 로그를 설계한다.

  • 특징 : 머신러닝의 예측 모델에 입력될 정보
    • 고전 머신러닝은 어떤 특징을 선택하는지가 핵심
      • 도메인 전문가에게 미리 확인
  • 정답 데이터 : 여러 범주 중 하나를 예측하는 지도학습에서 필요한 정답 범주 레이블과 그 정답의 입력 데이터의 쌍

6. 데이터를 전처리한다.

  • 불필요한 정보를 제거하고 데이터를 머신러닝에 사용할 수 있는 형태로 바꾸는 과정
    • 범주형 변수를 더비 변수로 변환하는 작업도 포함되며, 전처리 중 첫번쨰로 처리하는 중요한 단계

7. 학습을 수행하고 파라미터를 튜닝한다.

  1. 로지스틱 회귀 같은 비교적 간단한 알고리즘과 기존 라이브러리 및 프레임워크를 사용하여 간단한 예측 모델 생성
  • 첫 번째 예측 모델에서 바로 아주 높은 성능이 나온다면 어딘가 실수가 있었는지 의심
    • 과적합(overfitting), 데이터 유출(Data leakage)
  1. 성능을 개선할 때는 오답을 낸 예측 결과를 실제로 살펴보며 원인이 무엇인지, 이들 사이의 공통점은 없는지 오류원일을 분석
  2. 원하는 결과를 얻지 못했다면 4단계로 돌아가 알고리즘 검토부터 다시 진행

8. 시스템에 통합한다.

  • 비즈니스 성과를 모니터링
  • 머신러닝 시스템을 오래 운영하다 보면 입력의 경향이 바껴 예측 선능이 서서히 혹은 급격히 저화되는 일이 흔하다.
    • KPI가 악화되면 과정 5 부터 7까지를 반복하며 이를 개선해야 한다.

학습 결과 평가하기

다중클래스 분류의 평균 구하기

  • 마이크로 평균(micro-average) : 모든 클래스의 결과를 합쳐 전체를 평가, 클래스를 나누지 않은 전체 성능의 양상을 알기에 적합
  • 매크로 평균(macro-average) : 클래스별 정밀도를 계산한 다음 클래스 단위로 이 정밀도의 평균을 구해 계산, 크래스마다 데이터 수에 차이가 나는 경우 분포의 차이를 고려한 성능 평가에 적합

분류 모델 비교하기

  • 잘못 판전해서는 안되는 문제, 예를 들어 '정밀도가 0.9 미만인 모델은 채용하지 않는다' 같은 최소 조건을 정하고, 이 조건을 만족하면서 F-점수가 높아지도록 파라미터를 튜닝한 다음 모델을 선택

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published