์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ์ธํ๋ฐ
- ์๋ฒ ๋ฉ
- ๋ถ์
- ๋ฆฌ์กํธ
- ๋ฐฑ์ค
- Titanic
- native
- Kaggle
- react
- ๋ฐ์ดํฐ
- ์๋๋ก์ด๋์คํ๋์ค
- ๋จธ์ ๋ฌ๋
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- ๋ค์ดํฐ๋ธ
- ๋ฐ์ดํฐ์๊ฐํ
- ๋ฐ์ดํฐ๋ถ์
- ์ ํ๋์ํ
- Git
- ๊นํ
- ์๊ณ ๋ฆฌ์ฆ
- ๊ฒฐ์ ํธ๋ฆฌ
- ๋ฅ๋ฌ๋
- ํ์ดํ๋
- AI
- cs231n
- ์ํ์ฝ๋ฉ
- c++
- linearalgebra
- ๋์
- nlp
- Today
- Total
yeon's ๐ฉ๐ป๐ป
Frequent Patterns, Association Rules, Closed Pattern, Max Pattern (Data Mining) ๋ณธ๋ฌธ
Frequent Patterns, Association Rules, Closed Pattern, Max Pattern (Data Mining)
yeon42 2021. 11. 19. 17:26https://analytics4everything.tistory.com/95
Frequent pattern mining
๋ณธ ํฌ์คํ ์ ์ฐ์ธ๋ํ๊ต ์ฐ์ ๊ณตํ๊ณผ ๊น์ฐ์ฃผ ๊ต์๋์ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ฒ์ํ ๊ธ์ ๋๋ค. ์ฐ์ ๋ฅผ ์์ฃผ ์ฌ๋ ๊ณ ๊ฐ์๊ฒ ์ด๋ค ์์ดํ ์ ์ถ์ฒํ ์ ์์๊น? ์ด๋ฌํ ์ง๋ฌธ์ ๋๋ตํ๋ ค๋ฉด, ์ฐ์ ๋ฅผ ์ฌ๋
analytics4everything.tistory.com
์ ๋ธ๋ก๊ทธ๋ฅผ ํ์ฌํ์ฌ ๊ณต๋ถํ ๊ธ์ ๋๋ค.
* ๋ชจ๋ ํ ์คํธ์ ์ด๋ฏธ์ง์ ์ถ์ฒ๋ ์ ๋ธ๋ก๊ทธ์ ๋๋ค.
์ฐ์ ๋ฅผ ์์ฃผ ์ฌ๋ ๊ณ ๊ฐ์๊ฒ ์ด๋ค ์์ดํ ์ ์ถ์ฒํ ์ ์์๊น?
-> ์ฐ์ ๋ฅผ ์ฌ๋ ์ฌ๋๋ค์ด ์ฃผ๋ก ๋ฌด์์ ๋ ์ฌ๋์ง ์์์ผ ํจ
-> ์ฐ์ ๋ฅผ ์๋ ์ฌ๋์ด ์ด๋ค ์์ดํ ์ ๋ ๊ตฌ๋งคํ๋์ง ํจํด์ ํ์ ํด์ผ ํจ
* Frequent Pattern(FP; ๋น๋ฐํจํด)์ด๋
๋ฐ์ดํฐ ์งํฉ์์ ์์ฃผ ๋ฐ์ํ๋ ํจํด์ผ๋ก ์ฐ์ ์ ์๋ฆฌ์ผ ๊ฐ์ด transaction ๋ฐ์ดํฐ ์งํฉ์์ ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ ํญ๋ชฉ์งํฉ
- ๋ฐ์ดํฐ์ ์ฐ๊ด๊ด๊ณ, ์๊ด๊ด๊ณ, ๋ค๋ฅธ ๊ด์ฌ๋์ ๊ด๊ณ๋ฅผ ๋ถ์ํ๋๋ฐ ์์ด, ์ค์ํ ์ญํ ์ ํ๋ค.
- ๋ฐ์ดํฐ ๋ถ๋ฅ, ๊ตฐ์งํ ๋ฑ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ง์ด๋ ์์ ์๋ ๋์์ด ๋๋ค.
Frequent Pattern Data Mining
- FP ๋ง์ด๋์ด๋, ๋ฐ์ดํฐ ์งํฉ์์ ์ฌ๊ท๊ด๊ณ๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ
ex. ์ฅ๋ฐ๊ตฌ๋ ๋ถ์
-> ์ง์ด ๋ฃ๋ ํญ๋ชฉ์ด ๋ง์ ๋, ํญ๋ชฉ ๊ฐ์ ์ฐ๊ด๊ด๊ณ๋ฅผ ํ์ ํ์ฌ, ๊ตฌ๋งค์ต๊ด์ ๋ถ์ํด๋ด๊ณ ์ ํ๋ ๊ฒ
๊ท์น ๊ด์ฌ๋(interestingness)์ ๋ํ ์ถ๋
- ์ง์ง๋(Support)
- ์ ๋ขฐ๋(Confidence)
- support๊ฐ 2%๋ผ๋ฉด, ๋ถ์ ๋์ ์ ์ฒด ํธ๋์ญ์ ์์ ํน์ ์์ดํ ์ ๊ตฌ๋งคํ ๋น์จ์ด 2%์
- Computer => anti-virus software์ confidence๊ฐ 60%๋ผ๋ฉด,
์ปดํจํฐ๋ฅผ ๊ตฌ๋งคํ ๊ณ ๊ฐ ์ค S/W๋ฅผ ๊ตฌ๋งคํ ๋น์จ์ด 60%์์ ์๋ฏธ
- ์ผ๋ฐ์ ์ผ๋ก, ์ฐ๊ด๊ท์น์ด ์ต์ ์ง์ง๋์ ์๊ณ๊ฐ๊ณผ ์ต์ ์ ๋ขฐ๋์ ์๊ณ๊ฐ์ ๋ง์กฑํ๋ฉด 'ํฅ๋ฏธ๊ฐ ์๋ค' ๋ผ๊ณ ํ๋จํ๋ค.
(์ด ์ต์ ์๊ณ๊ฐ์ด minimup support/confidence threshold, ์ฆ minsup์ minconf ์ธ๋ฏ!)
(์ฌ๊ธฐ์ ์ ๊ต์งํฉ์ด ์๋๋ผ ํฉ์งํฉ์ผ๋ก ๋ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค.)
- itemset(ํญ๋ชฉ ์งํฉ): ์ฌ๋ฌ ํญ๋ชฉ์ ์งํฉ. ํธ๋์ญ์ ์์ ๊ฐ์ง ์ ์๋ ์์๋ค์ ์งํฉ์ ์๋ฏธ
- TID(Transaction ID): ๊ฐ ํธ๋์ญ์ ์ TID๋ผ๊ณ ํ๋ ์๋ณ์๋ฅผ ๊ฐ๋๋ค.
- Association rule(์ฐ๊ด ๊ท์น): A=>B
- itemset A๋ ๊ณต์งํฉ์ด ์๋๋ฉฐ, B๋ ๊ณต์งํฉ์ด ์๋๋ค.
- itemset A์ B์ ๊ณต์งํฉ์ ์์ผ๋ฉฐ, ๊ฐ itemset์ด ์ ์ฒด itemset์ธ I์ ๋ถ๋ถ์งํฉ์ ํฌํจ๋๋ค๋ฅผ ์๋ฏธ
- ๊ฐํ ๊ท์น: minsup๊ณผ minconf๋ฅผ ๋ชจ๋ ๋ง์กฑํ๋ ๊ท์น
- K-itemset(K ํญ๋ชฉ์งํฉ); K๊ฐ์ ํญ๋ชฉ์ ๊ฐ๋ itemset
ex) {์ฐ์ , ๋นต}: 2-itemset, {์ฐ์ , ๋นต, ํ ๋งํ }: 3-itemset
- Frequency(๋น๋): support ๊ฐ์
- K-itemset์ ๋ฐ์ ๋น๋๋ K-itemset์ด ๋ฐ์ํ ํธ๋์ญ์
์ฆ,
1. ์ง์ง๋: A=>B,
Support(A=>B) = P(AUB)
2. ์ ๋ขฐ๋: A=>B,
Confidence(A=>B) = P(B|A)
Association Rule ๋ถ์์ 2๋จ๊ณ
1. ๋ชจ๋ FP ๋ฐ๊ฒฌํ๊ธฐ; ์ ์์ ์ํด ์ฌ์ ์ ์ค์ ํ minsup๋ณด๋ค ๋ง์ด ๋ฐ์ํ๋ ๋ชจ๋ ํญ๋ชฉ ์งํฉ ์ฐพ์๋ด๊ธฐ
2. FP์์ ๊ฐํ ์ฐ๊ด๊ท์น ์์ฑํ๊ธฐ; ์ ์์ ์ํด minsup๊ณผ minconf๋ฅผ ๋ง์กฑํ๋ ๊ท์น ์ฐพ์๋ด๊ธฐ
๋ชจ๋ FP์ ์งํฉ์ ๋ฐ๊ฒฌํ๋ ๊ฒ์ ๋งค์ฐ ๋น์ฉ์ด ํฐ ์์ ์ด๋ค. (= ๋ชจ๋ frequent itemset์ ์ฐพ๋ ๊ฒ์ ๋นํจ์จ์ )
๋ฐ๋ฉด ๋ ๋ฒ์งธ ๋จ๊ณ๋ ์๋์ ์ผ๋ก ์ ์ ๋น์ฉ์ด ๋ ๋ค.
-> ๋ฐ๋ผ์ association rule์ ์ ์ฒด ์ฑ๋ฅ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์ ๊ฒฐ์ ๋จ
์ด๋ฌํ ์ฒซ ๋จ๊ณ์ ๊ณ์ฐ์์ ์ ๋ก์ ์ ๋๊ท๋ชจ ํญ๋ชฉ์ง๋จ์ด ๋ฐ์ํ๋ค๋ ๊ฒ์ธ๋ฐ, ์์์ ๋งํ ์ฌ๊ท์ ์ธ ํจํด์ ๋ถ์ํ๋ค๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ ํญ๋ชฉ์ ๋ํด ํ์ํจํด๋ ํ์ ํ๋ค.
๋ฐ๋ผ์ ์๋์ ์ผ๋ก ์งง์ ์ฌ๋ฌ ๊ฐ์ FP ์งํฉ๋ ์กฐํฉ์ ๊ฐ๋๋ค.
ex. ๊ธธ์ด๊ฐ 100์ธ FP {a1, a2, ..., a100}์ 100C1์ด๋ฏ๋ก 100๊ฐ์ ํญ๋ชฉ์ด,
2๊ฐ์ ํญ๋ชฉ ์งํฉ์ 100C2์ด๋ฏ๋ก ์ ์ ๋ง์์ง๋ค.
-> 100C1 ~ 100C100๊น์ง ๋ชจ๋ ๋ํ๋ฉด ์ฝ 2^100 - 1
(์ ์ฒด itemset์ ์์์ ๊ฐ์๊ฐ ๋ง์์ง๋ฉด ๊ฒฐ๊ตญ exponentialํ๊ฒ ๋๋ค.)
๋ฐ๋ผ์, ์ด๋ฌํ ๋น์ฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์ํด๋ธ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก Closed Pattern๊ณผ Max Pattern.
* Closed Pattern
: An itemset X is closed if X is fequent & there exists no super-pattern Y⊃X, with the same support as X
- dataset D์์ X์ ๋์ผํ support ๊ฐ์๋ฅผ ๊ฐ๋ super pattern Y๊ฐ ์๋ค๋ฉด, itemset X๋ dataset D์์ closed ๋์๋ค๊ณ ํ๋ค.
ex)
X: {1, 2} = 60%
Y1: {1, 2, 3} = 50%
Y2: {1, 2, 4} = 50% ์ธ ์ํฉ์์ minsup์ด 50%์ธ ํจํด์ frequent-pattern์ด๋ผ๊ณ ์ ์ํ์.
X๋ฅผ ํฌํจํ๋ ๋ ํฐ pattern์ Y1, Y2๋ฐ์ ์๋๋ฐ,
Y1, Y2๊ฐ X์ ๊ฐ์ support์ธ super-pattern(Y1, Y2)๊ฐ ์์ผ๋ฏ๋ก X๋ฅผ closed-pattern์ด๋ผ๊ณ ํ๋ค.
์ฆ, X์ ๊ฐ์ support์ธ Y1, Y2๊ฐ ์๊ธฐ ๋๋ฌธ์ closed-pattern์ด๋ผ๊ณ ํจ
* Max Pattern
: An itemset X is a max-pattern if X is frequent & there exists no frequent super-pattern Y⊃X
- X๊ฐ frequentํ๊ณ , Y๋ fequentํ๋ฉฐ, Y๊ฐ X๋ฅผ ํฌํจํ๋ super-pattern Y๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด, itemset๋ ์งํฉ D์์ max-pattern์ด๋ผ๊ณ ํ๋ค.
(์ต์ธ๊ฐ ์งํฉ๋ค์ ๋ถ๋ถ์งํฉ์ max-pattern์ด๋ผ๊ณ ํ์.
์๊ธฐ๋ frequent, but ์๊ธฐ๋ฅผ ํฌํจํ๋ ์ด๋ค superset๋ frequent x)
ex)
X: {1, 2} = 60%
Y1: {1, 2, 3} = 50%
Y2: {1, 2, 4} = 50%
Y2: {1, 2, 3, 4} = 50% ์ธ ์ํฉ์์ minsup์ด 50%์ธ pattern์ frequent patter ์ด๋ผ๊ณ ์ ์ํ์.
X๊ฐ frequent pattern์ด๊ณ , frequent super pattern์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, Y3์ max-pattern์ด๋ค.
- ๋ชจ๋ max-pattern์ closed-pattern์ด๋ค.
<Exercise>
DB = {<a1, a2, ..., a100>; <a1, a2, ..., a50>}
- min_sup = 1
* Closed pattern
- <a1, ..., a100>: 1
- <a1, ..., a50>: 2
* Max pattern
- <a1, ..., a100>: 1
- FP๋ ์ต์ ์ง์ง๋(threshold)์ ๋ฐ๋ผ ๋งค์ฐ ๋ฏผ๊ฐํ๊ฒ ๋ณํํ๋ค.
- minsup์ด ๋งค์ฐ ๋ฎ์ผ๋ฉด, ๊ต์ฅํ ๋ง์ ํญ๋ชฉ์งํฉ์ด ์์ฑ๋๋ค.
'Computer ๐ป > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Classifier Evaluation Metrics (0) | 2021.11.20 |
---|---|
Apriori algorithm (0) | 2021.11.19 |
K-means Clustering (K-ํ๊ท ํด๋ฌ์คํฐ๋ง) (0) | 2021.11.09 |
KNN (K-Nearest Neighbor) (0) | 2021.11.09 |
๊ทธ๋ผ๋์ธํธ ๋ถ์คํธ (Gradient Boost) (0) | 2021.11.07 |