A A
[ML] μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)
μ΄λ²ˆμ—λŠ” μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)에 λ°ν•˜μ—¬ ν•œλ²ˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ€ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ ν•­λͺ© κ°„μ˜ ν₯미둜운 관계λ₯Ό μ°ΎλŠ” 비지도 ν•™μŠ΅ λ°©λ²•μž…λ‹ˆλ‹€.

이 방법은 νŠΉμ • ν•­λͺ©μ΄ λ‚˜νƒ€λ‚  λ•Œ λ‹€λ₯Έ ν•­λͺ©μ΄ ν•¨κ»˜ λ‚˜νƒ€λ‚  ν™•λ₯ μ„ κ³„μ‚°ν•˜μ—¬ μœ μš©ν•œ νŒ¨ν„΄μ„ λ„μΆœν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

주둜 Apriori μ•Œκ³ λ¦¬μ¦˜κ³Ό FP-Growth μ•Œκ³ λ¦¬μ¦˜μ΄ 널리 μ‚¬μš©λ©λ‹ˆλ‹€.


μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)의 νŠΉμ§•

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ— νŠΉμ§•λ“€μ— λ°ν•˜μ—¬ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

https://medium.com/@utkarsh.kant/comparing-association-rule-mining-with-other-similar-methods-d964eaafad91

  • 빈발 ν•­λͺ© 집합 기반: μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ€ 빈발 ν•­λͺ© 집합을 기반으둜 μœ μ˜λ―Έν•œ μ—°κ΄€ κ·œμΉ™μ„ λ„μΆœν•©λ‹ˆλ‹€. 빈발 ν•­λͺ© 집합은 일정 λΉˆλ„ 이상 λ‚˜νƒ€λ‚˜λŠ” ν•­λͺ©λ“€μ˜ 집합을 μ˜λ―Έν•©λ‹ˆλ‹€.
  • 계산 νš¨μœ¨μ„±: Apriori와 FP-Growth μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 λŒ€κ·œλͺ¨ λ°μ΄ν„°μ…‹μ—μ„œλ„ μ—°κ΄€ κ·œμΉ™μ„ 효율적으둜 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ‘μš© κ°€λŠ₯μ„±: μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ€ λ§ˆμΌ€νŒ…, μƒν’ˆ 배치, μΆ”μ²œ μ‹œμŠ€ν…œ λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μœ μš©ν•˜κ²Œ ν™œμš©λ©λ‹ˆλ‹€.

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)의 μ£Όμš”μš©μ–΄

  • ν•­λͺ© (Item): λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ˜ 단일 ν•­λͺ©, 예λ₯Ό λ“€μ–΄ μŠˆνΌλ§ˆμΌ“μ—μ„œ νŠΉμ • μƒν’ˆμ„ μ˜λ―Έν•©λ‹ˆλ‹€.
  • ν•­λͺ© 집합 (Itemset): μ—¬λŸ¬ ν•­λͺ©μœΌλ‘œ κ΅¬μ„±λœ μ§‘ν•©μœΌλ‘œ, 예λ₯Ό λ“€μ–΄ μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μ—¬λŸ¬ μƒν’ˆλ“€μ΄ ν•­λͺ© 집합을 κ΅¬μ„±ν•©λ‹ˆλ‹€.
  • 거래 (Transaction): ν•­λͺ© 집합을 ν¬ν•¨ν•˜λŠ” 단일 데이터 행을 μ˜λ―Έν•˜λ©°, ν•œ 번의 ꡬ맀 내역이 ν•˜λ‚˜μ˜ 거래둜 κ°„μ£Όλ©λ‹ˆλ‹€.
  • 빈발 ν•­λͺ© 집합 (Frequent Itemset): νŠΉμ • 지지도 기쀀을 μΆ©μ‘±ν•˜λŠ” ν•­λͺ© μ§‘ν•©μœΌλ‘œ, 예λ₯Ό λ“€μ–΄ 자주 ν•¨κ»˜ κ΅¬λ§€λ˜λŠ” μƒν’ˆλ“€μ˜ μ§‘ν•©μž…λ‹ˆλ‹€.
  • 지지도 (Support): νŠΉμ • ν•­λͺ© 집합이 λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ λ‚˜νƒ€λ‚˜λŠ” λΉˆλ„λ‘œ, ν•­λͺ© μ§‘ν•©μ˜ 인기λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • 신뒰도 (Confidence): ν•­λͺ© 집합 Aκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ ν•­λͺ© 집합 Bκ°€ λ°œμƒν•  ν™•λ₯ λ‘œ, μ—°κ΄€ κ·œμΉ™μ˜ 강도λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • ν–₯상도 (Lift): ν•­λͺ© 집합 A와 Bκ°€ 독립적일 λ•Œμ— λΉ„ν•΄ μ‹€μ œλ‘œ μ–Όλ§ˆλ‚˜ 더 자주 ν•¨κ»˜ λ‚˜νƒ€λ‚˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. ν–₯μƒλ„λŠ” κ·œμΉ™μ˜ μœ μ˜λ―Έμ„±μ„ ν‰κ°€ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

 


μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)의 κΈ°λ³Έ 원리

그러면 μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ˜ κΈ°λ³Έ μ›λ¦¬λŠ” μ–΄λ– ν•œ 것듀이 μžˆμ„κΉŒμš”?

빈발 ν•­λͺ© 집합 탐색

  • μ΅œμ†Œ 지지도 μ„€μ •: λΆ„μ„μ˜ 기쀀이 λ˜λŠ” μ΅œμ†Œ 지지도λ₯Ό μ„€μ •ν•˜μ—¬, μ–Όλ§ˆλ‚˜ 자주 λ“±μž₯ν•΄μ•Ό 의미 μžˆλŠ” νŒ¨ν„΄μœΌλ‘œ 간주할지λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.
  • 단일 ν•­λͺ© 집합 탐색: 각 단일 ν•­λͺ©μ˜ 지지도λ₯Ό κ³„μ‚°ν•˜κ³ , μ΅œμ†Œ 지지도λ₯Ό μΆ©μ‘±ν•˜λŠ” ν•­λͺ©μ„ μ„ νƒν•©λ‹ˆλ‹€.
  • μ‘°ν•© ν•­λͺ© 집합 탐색: 두 개 μ΄μƒμ˜ ν•­λͺ©μ„ μ‘°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ ν•­λͺ© 집합을 μƒμ„±ν•˜κ³ , 지지도λ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€. μ΅œμ†Œ 지지도λ₯Ό μΆ©μ‘±ν•˜λŠ” ν•­λͺ© μ§‘ν•©λ§Œμ„ 남기고 λ‚˜λ¨Έμ§€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.
  • 반볡: 더 이상 μ΅œμ†Œ 지지도λ₯Ό μΆ©μ‘±ν•˜λŠ” ν•­λͺ© 집합이 없을 λ•ŒκΉŒμ§€ 이 단계λ₯Ό λ°˜λ³΅ν•©λ‹ˆλ‹€.

μ—°κ΄€ κ·œμΉ™ 생성

  • 빈발 ν•­λͺ© 집합 기반 κ·œμΉ™ 생성: 빈발 ν•­λͺ© μ§‘ν•©μ—μ„œ κ°€λŠ₯ν•œ λͺ¨λ“  μ—°κ΄€ κ·œμΉ™μ„ μƒμ„±ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, {A, B}μ—μ„œ A→B와 B→Aλ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 신뒰도와 ν–₯상도 계산: μƒμ„±λœ κ·œμΉ™μ— λŒ€ν•΄ 신뒰도와 ν–₯상도λ₯Ό κ³„μ‚°ν•˜μ—¬ κ·œμΉ™μ˜ μœ μ˜λ―Έμ„±μ„ ν‰κ°€ν•©λ‹ˆλ‹€.
  • μ΅œμ†Œ 신뒰도 및 ν–₯상도 κΈ°μ€€ μ„€μ •: μ΅œμ†Œ 신뒰도와 ν–₯상도λ₯Ό μ„€μ •ν•˜μ—¬ 의미 μžˆλŠ” κ·œμΉ™λ§Œμ„ μ„ νƒν•©λ‹ˆλ‹€.

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅ (Association Rule Learning)의 μž₯, 단점

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ˜ μž₯점

  1. μœ μš©ν•œ νŒ¨ν„΄ 발견: λ°μ΄ν„°μ—μ„œ μœ μš©ν•œ νŒ¨ν„΄κ³Ό κ·œμΉ™μ„ λ°œκ²¬ν•˜μ—¬ λΉ„μ¦ˆλ‹ˆμŠ€ μ „λž΅ μˆ˜λ¦½μ— 도움을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ§ˆμΌ€νŒ… μ „λž΅μ΄λ‚˜ μƒν’ˆ 배치 등에 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. λ‹€μ–‘ν•œ μ‘μš© λΆ„μ•Ό: μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ€ λ§ˆμΌ€νŒ…, μΆ”μ²œ μ‹œμŠ€ν…œ, 이상 탐지 λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ 적용 κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€.
  3. λ‹¨μˆœμ„±κ³Ό 이해 μš©μ΄μ„±: μƒμ„±λœ κ·œμΉ™μ΄ λͺ…ν™•ν•˜κ³  μ‰½κ²Œ 해석될 수 μžˆμ–΄, 비전문가도 μ‰½κ²Œ μ΄ν•΄ν•˜κ³  ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ˜ 단점

  1. λŒ€κ·œλͺ¨ λ°μ΄ν„°μ…‹μ—μ„œμ˜ 계산 λ³΅μž‘μ„±: λŒ€κ·œλͺ¨ λ°μ΄ν„°μ…‹μ—μ„œ 빈발 ν•­λͺ© 집합을 νƒμƒ‰ν•˜λŠ” 데 λ§Žμ€ 계산이 ν•„μš”ν•˜λ©°, 이둜 인해 μ„±λŠ₯ μ €ν•˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. ν¬μ†Œμ„± 문제: 데이터가 ν¬μ†Œν•œ 경우 μœ μ˜λ―Έν•œ κ·œμΉ™μ„ μ°ΎκΈ° μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 데이터가 μΆ©λΆ„νžˆ 큰 κ²½μš°μ—λ§Œ 쒋은 κ²°κ³Όλ₯Ό κΈ°λŒ€ν•  수 μžˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.
  3. 과적합: λ„ˆλ¬΄ λ§Žμ€ κ·œμΉ™μ΄ 생성될 경우, λͺ¨λΈμ΄ 데이터에 κ³Όμ ν•©λ˜μ–΄ μΌλ°˜ν™” μ„±λŠ₯이 λ–¨μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ—°κ΄€ κ·œμΉ™ ν•™μŠ΅μ˜ κ°œμ„  방법

  1. μ•Œκ³ λ¦¬μ¦˜ μ΅œμ ν™”
    • Apriori μ•Œκ³ λ¦¬μ¦˜μ˜ 경우, 후보 ν•­λͺ© 집합 생성을 μ΅œμ†Œν™”ν•˜μ—¬ νš¨μœ¨μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€.
    • FP-Growth μ•Œκ³ λ¦¬μ¦˜μ˜ 경우, FP-Tree ꡬ쑰λ₯Ό μ΅œμ ν™”ν•˜μ—¬ 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 데이터 μ „μ²˜λ¦¬
    • 데이터 μ •κ·œν™”, 쀑볡 제거 λ“±μ˜ μ „μ²˜λ¦¬ 과정을 톡해 λ°μ΄ν„°μ˜ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 더 의미 μžˆλŠ” κ·œμΉ™μ„ λ„μΆœν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€.
  3. 평가 μ§€ν‘œ λ‹€μ–‘ν™”
    • 신뒰도와 ν–₯상도 외에도 ν₯미도(Interestingness), 신뒰도 제곱(Confidence Squared) λ“±μ˜ λ‹€μ–‘ν•œ 평가 μ§€ν‘œλ₯Ό μ‚¬μš©ν•˜μ—¬ κ·œμΉ™μ˜ μœ μ˜λ―Έμ„±μ„ 평가할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 더 μ •ν™•ν•˜κ³  μœ μ˜λ―Έν•œ κ·œμΉ™μ„ λ„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.