본문 바로가기
마케팅공부/데이터 분석

[Tacademy 데이터분석캠프] 머신러닝 프로세스 이해

by 여니여니여 2021. 5. 11.

* 데이터 분석 파이프라인 

입력 -> EDA -> 전처리 -> 모델 -> 결과 

그리고 정확도 향상을 위해 무한 반복

 

1) 입력

정형데이터는 csv파일로 제공 (엑셀과 같은 테이블 데이터)

=> Pandas 같은 데이터 분석 라이브러리를 활용하여 분석진행

 

- 데이터셋이 큰 경우

  • Dask
  • Datatable
  • Rapids(cudf)

 

-다양한 형식의 파일들

  • Spicy : 과학 계산용 라이브러리
  • Librosa : 음성처리 라이브러리
  • Pillow, skimage, imageio : 이미지용 라이브러리 

 

2) EDA

데이터를 살펴보고 살펴보는 과정에서 시각화 작업을 통해 데이터의 전체적인 모양새와 인사이트 도출하는 과정

 

 

-> 무엇을 확인해야하나

  • 어떤 문제를 해결하려 하는가
  • 어떤 종류의 데이터가 있고 어떻게 처리할까
  • 데이터 누락값은 무엇이고, 이를 어떻게 처리할까 // (누락값 : 입력자가 잘못, 일부러 안넣었을 수도)
  • 특이 값은 어디에 있으며 이를 어떻게 처리할까 -> 일반화하지 못할 수도 있기 때문에
  • 데이터를 최대한 활용하기 위해 어떻게 새로운 피처를 만들까

📢 어떤 데이터인지 확인하고, 모델에 넣을 수 있는지 확인

- 수치형 : Number

  • 이산형 : 정수로 나누어지는 값
  • 연속형 : 연속적인 값

- 범주형 : Not Number

  • 명목형 : 순서가 상관없는 값
  • 순서형 : 순서가 있는 값

모델 안에는 숫자 형태로 넣어줘야 함.

기본적으로 통계 수치를 봐야함.

pandas의 describe() 모듈을 통해 통계값 확인하기

 

 

📢 시각화를 해야하는 이유 

 

아무리 숫자와 텍스트로 말해도 시각화한 자료가 훨씬 눈에 잘 들어옴

  • 컴포지션 (데이터가 어떤 구성)
  • 분포 (좌,우 편향 ) 히스토그램 등등
  • 릴레이션 선형성이나 어떠한 단계를 가지고 있나
  • 비교 (트레인과 테스트 데이터 간의 비교)

-> 정보 시각화 

 

-시각화 모듈

  • seaborn : 통계 시각화 
  • matplotlib : 커스텀 
  • plotly : 인터렉티브, 더 다양한 기능 제공

 

 

3) 전처리

1) Feature Engineering

Feature를 어떻게 새롭게 만들고 바꿀 것인가

 

2) Feature Selection

Feature를 어떻게 선택할 것인가

=> 도메인 지식과 모델의 특성에 맞게

 

4) 모델 

1) ML 모델

2) XGBoost, LGBM, Catboost,....

=> 느리다면 cuml

3) 스태킹, 앙상블 

 

5) 결과 

1) 스코어의 이해 : f1-score

2) 과적합과의 싸움

3) 하이퍼 파라미터 바꾸기

 

댓글