now is better than never

[쇼핑데이터를 활용한 머신러닝] 1. 정형 데이터 소개 및 EDA (1) 본문

Python/[코칭스터디 10기] Beyond AI Basic

[쇼핑데이터를 활용한 머신러닝] 1. 정형 데이터 소개 및 EDA (1)

김초송 2023. 5. 3. 17:40

https://www.boostcourse.org/ai224

 

쇼핑데이터를 활용한 머신러닝

부스트코스 무료 강의

www.boostcourse.org

1. 정형데이터란?

1) 정형 데이터

- 정형 데이터 

  • 엑셀 파일 형식이나 관계형 데이터베이스의 테이블에 담을 수 있는 데이터
  • 행(row) 과 열(column) 로 표현 가능한 데이터
  • 하나의 행 = 하나의 데이터 인스턴스
  • 열 = 데이터 피쳐
  • 많은 부분들이 정형데이터로 기록됨 -> 분야를 막론하고 많은 데이터가 정형 데이터
  • 범용적인 데이터 = 가장 기본적인 데이터 = 필수적인 데이터

 

- 비정형 데이터

  • 이미지, 비디오, 음성, 자연어 등 정제되지 않은 데이터
  • 하나의 데이터 인스턴스로 표현하기 위해 2차원, 3차원이 필요함
  • 이미지 : 자율주행자동차, 사물인식
    음성 : 음성 검색 서비스
    자연어 : 번역, 이메일 필터

 

- 정형데이터 분석 능력

  • 데이터에 대한 상상력 / 통찰력
  • 다양한 경험을 통해 데이터에 국한 되지 않고 범용적으로 쓰일 수 있는 능력
  • ex) 격추되지 않는 튼튼한 비행기를 만들기 위해서는 총알이 박히지 않은 곳에 철판을 둘러야 함
    <- 분석한 비행기들이 살아 돌아온 비행기들이기 때문

 

2) 데이터 및 문제 이해

- 데이터 이해

- 문제 이해

  • X : 고객 5914 명의 2009년 12월 ~ 2011년 11월 까지의 구매기록
  • Y : 5914 명의 2011년 12월 총 구매액 300 초과 여부 (Binary)
    = 예측해야 할 타겟 데이터, 이진 분류 문제
  • 타겟 마켓팅, 고객 추천
    -> 우량 고객들을 예측, 혜택의 개인화
  1. 어떤 식으로 데이터를 처리해서 머신러닝을 돌릴 것인지
  2. 어떤 피쳐를 만들어야 문제의 패턴을 모델이 잘 찾을 수 있을지 -> 많은 가설을 세우고 검
    aggregation?
    time series?
    aggregation + time series?
  3. 어떤 데이터로 모델을 train, valid, test?
    -> 실습 데이터는 validation 전략을 잘 세우는 것이 중요

 

3) 평가지표 이해

- 분류 (Classification)

  • 예측해야 할 대상의 개수가 정해져 있는 문제
  • ex) 이미지에서 개/고양이 분류, 신용카드 거래 사기/정상 분류

- 회귀 (Regression)

  • 예측해야 할 대상이 연속적인 숫자인 문제
  • ex) 일기 예보에서 내일 기온 예측, 집값 예측

- 평가지표 (Evaluation Metric)

  • 분류, 회귀 머신러닝 문제의 성능을 평가할 지표

 

- 분류 평가지표

  • Confusion Matrix 
    • 이진분류의 예측 오류 값, 종류 측정하는 행렬
    • TP : 정답 Pos, 예측 Pos
    • TN : 정답 Neg, 예측 Neg
    • FP : 정답 Neg, 예측 Pos
    • FN : 정답 Pos, 예측 Neg

  • Accuracy (정확도)
    • (TP + TN) / (TP + TN + FP + FN) 
    • 전체 데이터 중 바르게 분류한 비율
  • Precision (정밀도)
    • TP / (TP + FP)
    • 모델이 Positive 라고 예측한 것 중 실제 Positive인 비율
    • Negative 인 데이터가 더 중요할 경우
      = Negative 를 Positive 라고 판단하면 안 되는 경우
    • ex) 스팸메일 분류 - 스팸메일을 잘 못 걸러내더라도 일반 메일을 스팸메일로 분류하지 않는 것이 중요
  • Recall (재현율)
    • TP / (TP + FN)
    • 실제 Positive 인 것중 모델이 Positive 라고 분류한 비율
    • Positive > Negative = Positive 가 더 중요할 경우
      = Positive 를 Negative 라고 분류하면 안 될 경우
    • ex) 악성 종양 판단 - 양성을 음성으로 분류하지 않는 것이 중요

 

- ROC (Receiver Operating Characteristic, 수신자 조작 특성)

  • TPR (True Positive Ratio)
    • 1 인 경우 1 로 잘 예측한 경우
    • TP / (TP + FN)
  • FPR (False Positive Ratio)
    • 0 인 경우 0 으로 잘 예측한 경우
    • FP / (FP + TN)
  • TPR : y축
    FPR : x축
  • 모델의 임계값을 변경시켜 가면서 그린 곡선

 

- AUC (Area Under Curve)

  • ROC 곡선의 면적
  • 0 과 1 사이의 값
  • 1 에 가까울수록 모델이 잘 예측

 

4)  정형데이터 분류 베이스라인 모델 1

- 베이스라인 모델

  • 모델의 성능을 비교하는 참조 지점으로 사용되는 단순한 모델 또는 휴리스틱 알고리즘
  • 머신러닝 모델이 의미있기 위해 넘어야 하는 최소한의 성능을 제공하는 모델
  • 첫번째 베이스라인 모델은 머신러닝 모델을 사용하지 않고
    이전 월 고객 구매액을 계산한 후 이를 예측값으로 사용해서 베이스라인 모델로 구현
  • 이전 월 고객 구매액 > 300
    -> 확률 = 1
  • 이전 월 고객 구매액  < 300
    -> 확률 = 고객 총 구매액 / 300
  • Train : 2011 년 10 월
    Validation : 2011 년 11 월