Projects/πŸͺ Convenience Store Location Analysis

[ν”„λ‘œμ νŠΈ μŠ€ν„°λ””] Feature Engineering

ISLA! 2023. 9. 13. 10:46

 

Feature Engineering μ΄λž€?

  • λͺ¨λΈμ„ ν•™μŠ΅μ‹œν‚€κΈ° μœ„ν•΄ λ°μ΄ν„°μ—μ„œ μœ μš©ν•œ νŠΉμ§•(피쳐, λ³€μˆ˜)을 μΆ”μΆœν•˜κ±°λ‚˜ λ³€ν˜•ν•˜λŠ” κ³Όμ •
  • μ œλŒ€λ‘œ μˆ˜ν–‰ν•˜λ©΄ λͺ¨λΈμ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κ³ , 예츑 λ˜λŠ” λΆ„λ₯˜ μž‘μ—…μ„ 더 μ •ν™•ν•˜κ²Œ μˆ˜ν–‰ν•  수 있음!
  • 일반적으둜 Feature Engineering은 데이터 μ „μ²˜λ¦¬μ˜ μΌλΆ€λ‘œ 고렀됨
  • 문제의 성격과 데이터 μ’…λ₯˜μ— 따라 λ‹€μ–‘ν•œ 기술과 μ „λž΅μ„ μ‚¬μš©ν•˜λ©°, κ²½ν—˜κ³Ό 도메인 지식이 μ€‘μš”ν•œ 역할을 ν•œλ‹€

 

πŸ₯‘ Feature Engineering μ’…λ₯˜

βœ” μ˜λ―ΈμžˆλŠ” 정보 μΆ”μΆœ

  • λ°μ΄ν„°μ—μ„œ μ˜λ―ΈμžˆλŠ” 정보λ₯Ό μΆ”μΆœν•˜κ±°λ‚˜, 도메인 지식을 ν™œμš©ν•˜μ—¬ μƒˆλ‘œμš΄ 피쳐λ₯Ό 생성
  • 예λ₯Ό λ“€μ–΄, λ‚ μ§œμ—μ„œ μš”μΌμ΄λ‚˜ μ‹œκ°„λŒ€λ₯Ό μΆ”μΆœν•˜κ±°λ‚˜ / ν…μŠ€νŠΈ λ°μ΄ν„°μ—μ„œ μ€‘μš”ν•œ ν‚€μ›Œλ“œλ₯Ό μΆ”μΆœ

 

βœ” 차원 μΆ•μ†Œ

  • λ°μ΄ν„°μ˜ 차원을 μ€„μ΄κ±°λ‚˜ μ€‘μš”ν•œ ν”Όμ²˜λ§Œ μ„ νƒν•˜μ—¬ λͺ¨λΈ λ³΅μž‘μ„±μ„ μ€„μž„
  • 차원 μΆ•μ†Œ κΈ°μˆ μ—λŠ” 주성뢄뢄석(PCA) 등이 있음

 

βœ” μƒν˜Έμž‘μš© ν”Όμ²˜ 생성

  • 두 개 μ΄μƒμ˜ ν”Όμ²˜λ₯Ό μ‘°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ ν”Όμ²˜λ₯Ό 생성
  • 예λ₯Ό λ“€μ–΄, 킀와 λͺΈλ¬΄κ²Œλ₯Ό μ‘°ν•©ν•˜μ—¬ BMI μ§€μˆ˜λ₯Ό 생성할 수 있음

 

βœ” μ΄μƒμΉ˜(outlier) 처리

  • μ΄μƒμΉ˜λ₯Ό μ‹λ³„ν•˜κ³  λͺ¨λΈμ˜ μ•ˆμ •μ„± ν–₯상
  • ν‘œμ€€νŽΈμ°¨μ—μ„œ μ˜ˆμ™Έμ μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” 값듀을 μ‚­μ œ
  • νŠΉμ • percent 외에 μžˆλŠ” 값을 μ‚­μ œ(상, ν•˜μœ„ 5% λ“±)
🧐 μ΄μƒμΉ˜λŠ” λ°˜λ“œμ‹œ μ œκ±°ν•΄μ•Όν• κΉŒ?
- outlierκ°€ λ¨Έμ‹ λŸ¬λ‹/λ”₯λŸ¬λ‹ λͺ¨λΈμ΄ ν•™μŠ΅ν•˜λŠ” 과정에 μž…λ ₯되면 weightκ°€ κΈ‰κ²©ν•˜κ²Œ μ»€μ§€κ±°λ‚˜ μž‘μ•„μ§ˆ 수 μžˆλ‹€
- μ•„λž˜ μ΄λ―Έμ§€μ˜ 였λ₯Έμͺ½κ³Ό 같은 경우, μ΄μƒμΉ˜κ°€ μ˜λ―ΈμžˆλŠ” 데이터에 μ†ν•œλ‹€λ©΄ μ œκ±°ν•˜λŠ” 것이 λͺ¨λΈ ν…ŒμŠ€νŠΈ κ³Όμ •μ—μ„œ 큰 였차λ₯Ό λ°œμƒμ‹œν‚¬ 수 μžˆλ‹€.

 

🧐 Outlierλ₯Ό νƒμ§€ν•˜λŠ” 방법은?
* κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” 방법은 IQR Rule이라고 ν•œλ‹€
* 이 방법은 μ΄μ‚¬λΆ„λ²”μœ„λ₯Ό λ°”νƒ•μœΌλ‘œ Q3 + 1.5*IQR 이상, Q1–1.5*IQR μ΄ν•˜μ˜ 값을 outlier둜 μ •μ˜ν•œλ‹€

➑ 이번 ν”„λ‘œμ νŠΈμ—λ„ μ΄μƒμΉ˜ 확인은 IQRκ³Ό λ°•μŠ€ν”Œλ‘―μ„ ν™œμš©ν–ˆλ‹€

 

 

βœ” λˆ„λ½λœ 데이터 처리

  • λˆ„λ½λœ 데이터λ₯Ό μ±„μš°κ±°λ‚˜ μ²˜λ¦¬ν•˜μ—¬ λ°μ΄ν„°μ˜ 완전성을 μœ μ§€
    • μˆ«μžν˜• 데이터 : default κ°’μœΌλ‘œ μ–΄μšΈλ¦΄λ§Œν•œ 숫자λ₯Ό μ±„μš°κΈ°
    • λ²”μ£Όν˜• 데이터 : κ°€μž₯ 빈번히 λ‚˜νƒ€λ‚˜λŠ” κ°’(졜빈수)둜 μ±„μš°κΈ°
    • 랜덀 : λžœλ€ν•˜κ²Œ μ±„μš°κΈ°
  • μœ„μ™€ 같은 기본적인 방법이 μžˆμœΌλ‚˜, μ‹œκ°„μ΄ 였래 걸렀도 KNN 등을 톡해 λ‹€λ₯Έ 컬럼의 λ°μ΄ν„°μ™€μ˜ μœ μ‚¬λ„λ₯Ό κ°–κ³  빈 데이터λ₯Ό μ±„μ›Œ λ„£λŠ” 것이 합리적이라고 ν•œλ‹€
    (🧐 더 μ•Œμ•„λ΄μ•Όν•  λΆ€λΆ„)

 

βœ” λ²”μ£Όν˜• 데이터 인코딩

  • λ²”μ£Όν˜• 데이터λ₯Ό μˆ˜μΉ˜ν˜• λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜μ—¬ λͺ¨λΈμ΄ 이해할 수 μžˆλ„λ‘ 함
  • 원-ν•« 인코딩, λ ˆμ΄λΈ” 인코딩 λ“±μ˜ 기법을 μ‚¬μš©

원핫 인코딩 μ˜ˆμ‹œ

 

βœ” μŠ€μΌ€μΌλ§

  • ν”Όμ²˜μ˜ μŠ€μΌ€μΌμ„ μ‘°μ •ν•˜μ—¬ λͺ¨λΈ μ„±λŠ₯을 κ°œμ„ , 수렴 속도λ₯Ό λ†’μž„
  • μ„œλ‘œ λ‹€λ₯Έ λ²”μœ„μ˜ 데이터듀을 같은 λ²”μœ„λ‘œ λ¬Άμ–΄ ν•™μŠ΅μ„ μš©μ΄ν•˜κ²Œ ν•΄μ€Œ
  • Min-Max μ •κ·œν™”: μ΄μš©ν•  λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό 0~1둜 λ§Œλ“€μ–΄μ€€λ‹€.
    • ⚠ 데이터 뢄포도 λ³€ν•˜μ§€ μ•Šκ³  ν‘œμ€€ νŽΈμ°¨κ°€ 쀄어듀어 outlier의 영ν–₯이 컀질 수 있음
    • λ”°λΌμ„œ outlierλ₯Ό 미리 μ œκ±°ν•΄ μ£Όμ–΄μ•Ό 함!
  • z-score μ •κ·œν™”: Outlierλ₯Ό 효과적으둜 μ œκ±°ν•˜μ§€λ§Œ, μ •ν™•νžˆ λ™μΌν•œ μ²™λ„λ‘œ 데이터λ₯Ό λ§Œλ“€μ–΄μ£Όμ§€λŠ” μ•ŠμŒ

 

βœ” 데이터 뢄포 λ³€ν™˜

  • μ™œλ„μ™€ 첨도가 높은 λ°μ΄ν„°λ‘œλŠ” 상관성 νŒŒμ•…μ΄ μ–΄λ €μšΈ 수 있음
  • 예λ₯Ό λ“€μ–΄, μ•„λž˜μ™€ 같은 경우 : 데이터λ₯Ό μ •κ·œλΆ„ν¬μ— 맞게 λ³€ν˜• μ‹œμΌœμ€„ 수 μžˆλ‹€(둜그 λ³€ν™˜ 이용)

둜그 λ³€ν™˜ μ „

 

둜그 λ³€ν™˜ ν›„

 

βœ” μ‹œκ³„μ—΄ 데이터 처리

  • μ‹œκ°„μ— λ”°λ₯Έ νŠΉμ„±μ„ ν™œμš©ν•˜μ—¬ μ‹œκ³„μ—΄ λ°μ΄ν„°μ—μ„œ μΆ”μ„Έ, κ³„μ ˆμ„± 및 주기성을 μ‹λ³„ν•˜κ³  ν”Όμ²˜λ‘œ ν™œμš©

 

 

 

 

🌍 μ°Έκ³  λΈ”λ‘œκ·Έ

https://velog.io/@chaliechu117/Feature-Engineering

 

728x90