์•ž๋™๋„คJIHOON 2022. 11. 26. 14:06

# Frequent Pattern Mining


Association Rule vs Sequential patterns
Association rule์€ ์—ฐ๊ด€ ๊ทœ์น™์„ ์ฐพ๋Š” ๊ฒƒ์ด์ง€๋งŒ, ๊ทธ ์ˆœ์„œ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์น˜ํ‚จ๊ณผ ํ”ผ์ž๋ฅผ ์‚ฐ ์‚ฌ๋žŒ์ด ์ฝœ๋ผ๋ฅผ ์‚ด ํ™•๋ฅ  ๋†’๋‹ค๋Š” ๊ฒƒ์€ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฌด์—‡์ด ๋จผ์ €์ธ์ง€๋Š” ์•Œ ์ˆ˜ ์—†๋‹ค. ์ฝœ๋ผ์™€ ํ”ผ์ž๋ฅผ ์‚ฐ ์‚ฌ๋žŒ์ด ์น˜ํ‚จ์„ ๋งŽ์ด ์‚ฐ๊ฑด์ง€ ์•„๋‹ˆ๋ฉด ๊ทธ ์™ธ์ธ์ง€๋Š” ์•Œ ์ˆ˜ ์—†๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•œ ๊ฒŒ Sequential Pattern ๋ถ„์„์ด๋‹ค.

์ด ๊ธ€์—์„œ๋Š” Association Rule์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฃจ๊ฒ ๋‹ค.

์šฐ์„  ์—ฐ๊ด€์„ฑ ๋ถ„์„์„ ์œ„ํ•ด์„œ๋Š” ์ฃผ์š”์ง€ํ‘œ์ธ Support์™€ Confidence๋ผ๋Š” ๊ฐœ๋…์„ ๋จผ์ € ์•Œ์•„์•ผ ํ•œ๋‹ค. A,B,C๋ผ๋Š” ์„ธ ๋ฌผ๊ฑด ์‚ฌ์ด์˜ ๊ตฌ๋งค ์—ฐ๊ด€์„ฑ์„ ํŒŒ์•…ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

Support๋Š” ์ „์ฒด ์†Œ๋น„์ž ์ค‘ A,B,C๋ฅผ ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ ์ˆ˜

Confidence๋Š” A์™€ B๋ฅผ ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ ์ค‘ A,B,C๋ฅผ ๋ชจ๋‘ ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ ์ˆ˜๋ฅผ ๋œปํ•œ๋‹ค. ์ฆ‰, {A,B → A,B,C}์— ๋Œ€ํ•œ ์‹ ๋ขฐ๋„๊ฐ€ ๋†’์œผ๋ฉด, A,B๋ฅผ ๊ตฌ๋งคํ•œ ๊ณ ๊ฐ์ด C๊นŒ์ง€ ๊ตฌ๋งคํ•  ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ด ๋•Œ, Confidence{A → A,B}๋Š” ๊ฒฐ๊ตญ Suppot(A,B)๋ฅผ Support(A)๋กœ ๋‚˜๋ˆˆ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

๋”ฐ๋ผ์„œ ์ „์ฒด์ ์ธ ๊ณผ์ •์€,

  1. ๋ชจ๋“  Itemset์— ๋Œ€ํ•ด Support๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  2. ๋ชจ๋“  Itemset๊ฐ„์˜ ๋ชจ๋“  ์กฐํ•ฉ๋“ค์˜ Confidence๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, ๋ชจ๋“  ์กฐํ•ฉ์˜ Confidence๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ๋ž€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.(I = {I(1),I(2),(3),,,,I(k)}๋ผ๊ณ  ํ•  ๋•Œ I์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ๊ฐœ์ˆ˜๋Š” ๊ณต์ง‘ํ•ฉ์„ ์ œ์™ธํ•˜๊ณ  $2^k-1$ ์ด๋‹ค)


# Apriori Pruning Principle


์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ์†Œ์ง€์ง€๋„ ์ด์ƒ์„ ๊ฐ–๋Š” ํ•ญ๋ชฉ๋งŒ ๊ฐ€์ง€๊ณ  ์‹ ๋ขฐ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋„๋ก ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๋”ฐ๋ผ์„œ, ์ตœ์†Œ์ง€์ง€๋„ ์ดํ•˜์ธ Itemset๋“ค์˜ SuperSet๊นŒ์ง€ ๋ชจ๋‘ Pruningํ•  ์ˆ˜ ์žˆ๋‹ค. 

Apriori Algorithm

1. 1-itemset์˜ ์ง€์ง€๋„๋ฅผ ๋จผ์ € ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ์ค‘ ์ตœ์†Œ์ง€์ง€๋„๋ฅผ ๋„˜๋Š” item๋งŒ ๊ฐ€์ง€๊ณ  itemset์„ ๊ตฌ์„ฑํ•œ๋‹ค.

2.๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ ์ด์šฉํ•˜์—ฌ 2-itemset์„ ์กฐํ•ฉํ•ด๋ณด๊ณ  ๊ทธ ์ค‘ ์ตœ์†Œ์ง€์ง€๋„๋ฅผ ๋„˜๋Š” item๋งŒ ๊ฐ€์ง€๊ณ  2-itemset์„ ๊ตฌ์„ฑํ•˜๊ณ , ๋„˜์ง€ ๋ชปํ•˜๋Š” itemset๋“ค์˜ Superset๋“ค๋„ ๋ชจ๋‘ pruningํ•œ๋‹ค. 

์ด ๋•Œ, k-itemset์„ ๊ฐ€์ง€๊ณ  (k+1)-itemset์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์šฐ์„ , k-itemset์„ ๋จผ์ € Sorting ํ•˜๊ณ , (k-1)๊นŒ์ง€ ๋˜‘๊ฐ™์€ item๋ผ๋ฆฌ k-1๊นŒ์ง€๋Š” ๋˜‘๊ฐ™์ด ๋‘๊ณ  k๋ฒˆ์งธ item์„ ์กฐํ•ฉํ•˜์—ฌ (k+1)-itemset์„ ๊ตฌ์„ฑํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์ƒˆ๋กญ๊ฒŒ ๊ตฌ์„ฑํ•œ (k+1)-item์˜ subset์ค‘์—์„œ ์ตœ์†Œ์ง€์ง€๋„๋ฅผ ๋„˜์ง€ ์•Š๋Š” subset์ด ์žˆ๋‹ค๋ฉด, ์‚ญ์ œํ•œ๋‹ค.