HYU39 5. FP-growth Frequent Pattern Growth ์ด์ ๊น์ง๋ Apriori algorithm์ ์ฌ์ฉํด์ Freqeunt Pattern Mining์ ํ๋ ๋ฐฉ๋ฒ์ ๋ดค๋ค Apriori์ ํ๊ณ๋ฅผ ๊ฐ์ ํ Improving Apriori ๋ฐฉ๋ฒ๋ค๋ ์ดํด๋ณด์๋ค DIC, Partition, Sampling, DHP ๊ทธ๋ผ์๋ ์ฌ์ ํ ๋๋ฆฌ๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค Candidate๋ฅผ ์์ฑํ๊ณ , Testํ๋ ๊ณผ์ ์์ฒด๊ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ(Bottleneck) FP-growth Mining Frequent Patterns without Candidate Generation Candidate๋ฅผ Generateํ๋ ๊ฒ ์์ฒด๋ฅผ ํ์ง ์๋ ๋ฐฉ๋ฒ Local Frequent Item๋ค์ ์ฌ์ฉํด์, ์งง์ Pattern์ผ๋ก๋ถํฐ ๊ธด Pattern์ ์์ฑํด๋ด.. 2024. 4. 13. 4. Improving Apriori Apriori ์๊ณ ๋ฆฌ์ฆ์๋ ์ฌ๋ฌ ํ๊ณ๊ฐ ์กด์ฌํ๋ค๊ณ ํ๋ค Multiple scans of DB (k times) ๋๋ต k๋ฒ์ DB ์ค์บ์ด ๋ฐ์ํ๋ค๋ ๊ฒ ์ฌ๊ธฐ์ k๋ Max Pattern์ ๊ธธ์ด์ด๋ค DB ์ ๊ทผ์ ๋๋ฌด ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ด ํ์ํ๋ค Huge number of candidates ํ๋ณด๊ตฐ์ ์๊ฐ ๋๋ฌด ๋ง๋ค Max Pattern {i1, i2, ..., i100}์ ์ฐพ๊ธฐ ์ํด์๋ # of scans(k): 100 # of candidates: 2^100 - 1 ๋งํผ์ ํ๋ณด๊ตฐ Tedious workload of Candidate generation and Test Candidate๋ค์ Support๋ฅผ Countํ๋ ๊ฒ์ Cost๊ฐ ๊ฝค ํฌ๋ค Improving Apriori Apriori๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ.. 2024. 4. 13. 3. Apriori Scalable Mining Method ์ค ํ๋ Scale down์ ํ๋ฉด์ Frequent Pattern์ ์ฐพ๋ Method ์ค ํ๋ Apriori Candidate Generation and Test Approach Apriori์์ Scaledown์ ํ๋ ์๋ฆฌ๋ Infrequentํ Pattern์ด ์๋ค๋ฉด, ํด๋น ํจํด์ Superset์ ์ ๋ Frequentํ ์๊ฐ ์๋ค๋ ๊ฒ์ ์ด์ฉ Downward property ์ด์ฉ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ตณ์ด Generationํ๊ณ Testํ ํ์๊ฐ ์๋ค ์ฒดํฌํด์ผ ํ ํจํด์ ์๋ฅผ ์ค์ฌ์ค๋ค ๋ฐฉ๋ฒ์ ๊ฐ๋ตํ๊ฒ ๋ณด๋ฉด 1. DB๋ฅผ ์ค์บํด์ ํฌ๊ธฐ๊ฐ 1์ธ Frequent Pattern๋ค์ ์ฐพ๋๋ค 2. ์๋์ ๊ณผ์ ์ ๊ณ์ํด์ ๋ฐ๋ณตํ๋ค 2-1. ๊ธธ์ด๊ฐ K์ธ Frequent Patt.. 2024. 4. 13. 2. Frequent Patterns Mining Frequent Patterns, Association and Correlatons Frequent Pattern Mining ๋ฐ์ดํฐ ์์์ ์์ฃผ ๋ฑ์ฅํ๋ ํจํด์ ๋ถ์ํ๋ ๊ธฐ์ Frequent Pattern? : ๋ฐ์ดํฐ์ ๋ด์์ ์์ฃผ ๋ฑ์ฅํ๋ ํจํด ์๋ฅผ ๋ค๋ฉด, ์์ฃผ ํจ๊ป ๊ตฌ๋งค๋๋ ์ํ๋ค Motivation? ๋ฐ์ดํฐ ์์ ๋ด์ฌ๋ ํจํด๋ค ์ฐพ๊ธฐ ์ํจ ์ด๋ค ์ํ๋ค์ด ํจ๊ป ๊ตฌ๋งค๊ฐ ๋๋๊ฐ? (์ด๊ฒ ์์ผ๋ก ์ฃผ๋ก ๋ค๋ค์ง ์์) Beers and Diapers ๊ธฐ์ ๊ท์ ๋งฅ์ฃผ๋ ํจ๊ป ๊ตฌ๋งค๊ฐ ๋๋ ๊ฒฝํฅ์ด ์๋ค ์ด ์ ๋ณด๋ฅผ ์๋ฉด ๊ธฐ์ ๊ท์ ๋งฅ์ฃผ๋ฅผ ํจ๊ป ๋น์นํ๋ฉด ํ๋งค์จ์ด ์ฌ๋ผ๊ฐ ๊ฒ ํน์ ์ํ์ ๊ตฌ๋งคํ ๋ค์ ์์ฐจ์ ์ผ๋ก ์ด๋ค ๊ฒ์ ๊ตฌ๋งคํ๋ ๊ฒฝํฅ์ด ์๋๊ฐ? ๋์งํธ ์นด๋ฉ๋ผ๋ฅผ ๊ตฌ๋งคํ ํ์ ์ผ๋ง์๋ค๊ฐ SD์นด๋(๋ฉ๋ชจ๋ฆฌ)๋ฅผ ๊ตฌ๋งคํ๋.. 2024. 4. 13. 1. Introduction What is Data Mining? ๋ฐ์ดํฐ ๋ง์ด๋์ด๋ ๋ฌด์์ผ๊น ๋๋์ ๋ฐ์ดํฐ ์์์ ํฅ๋ฏธ๋กญ๊ณ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋ฝ์๋ด๋ ๊ณผ์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ํฅ๋ฏธ๋กญ๊ณ ์ค์? Non-trivial, Implicit, Previously unknown, Potentially usefull ,,, ํ ์ ๋ณด๋ค ์์ฆ ์ฐ๋ฆฌ๋ ๋๋์ ๋ฐ์ดํฐ ์๋์ ์ด๊ณ ์๊ณ , ๋ฐ์ดํฐ๋ ๊ณ์ํด์ ์์ฌ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ทธ ์์์ ์ค์ํ ์๋ฏธ๋ฅผ ์ฐพ์์ผ ํ๋ค Knowledge Discovery Process ๋๋์ ๋ฐ์ดํฐ ์์์ ์๋ฏธ์๋ ์ ๋ณด๋ฅผ ์ฐพ์๋ด๋ ๊ณผ์ Data Cleaning ๋ฐ์ดํฐ์ ์์ฌ์๋ ๋ ธ์ด์ฆ, ์๋ฌ ๋ฑ์ ์ ๊ฑฐํ๋ ๊ณผ์ Data Warehouse ๋๋์ ๋ฐ์ดํฐ๋ค์ด ์ ์ฅ๋ ์ ์ฅ์ Task-relevant Data ํ์ฌ ์งํํ๊ณ ์๋ Task.. 2024. 4. 13. 8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ ๊ตฌ์ถ์ ์ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ์๋ค ์๋ฒ ์ปดํจํฐ์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ ์, ๋จผ์ ๋ก์ปฌ์์ ๊ฐ๋ฐ ์์ ์ ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ผ์๋ ํ์ฌ ๋์ด์ ์์ ์ ํ๋ ์ํฉ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณต์ ๋ฅผ ํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ์ฌ, ์๋ฒ ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ๋จผ์ ์ค์น๋ฅผ ํ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๋ก์ปฌ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ์ฐ๊ฒฐ์ ํด์ ๋ฐฑ์๋ ์์ ์ ์งํํ๊ณ ์ ํ๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ์ปดํจํฐ์ ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์นํ๋ค ๋จผ์ ์ด๋ค DB๋ฅผ ์ธ ๊ฒ์ธ์ง๋ฅผ ๊ณ ๋ฏผํ๋ค. ํฌ๊ฒ ๋ดค์ ๋, SQL๊ณผ NoSQL๋ก ๋๋ ์ ์๋ค. SQL์ ๊ฒฝ์ฐ์๋ ์ฃผ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์๊ฐํ ์ ์๊ณ , NoSQL์ ๊ทธ์ ๋ฐ๋๋๋ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ์๊ฐํ ์ ์๋ค. NoSQL์ ์ฅ์ ์ ์กฐํ๊ฐ ๋น ๋ฅด๊ณ , ๋์ฉ๋.. 2024. 3. 31. 7. ์น ์๋ฒ ๊ตฌ์ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ๋ฅผ ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑํ ์ง์ ๋ํด์ ๊ตฌ์์ ํด๋ณด์๋ค ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ผ๋จ ์ ์ ๋ฏธ๋ค๋๊ณ , ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ ๊ฐ๋ฐ์ ์งํํ๋ค ์ผ๋ฐ์ ์ธ ์ํฉ์ด์๋ค๋ฉด ๋ก์ปฌ์์ ๊ฐ๋ฐ์ ํ๊ณ , AWS์ ๋ฐฐํฌํ๋ ์์ผ๋ก ์งํ์ ํ์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๊ตฌ์ค์ ์์ ๊ฐ๋ํ ์ ์๋ ์๋ฒ ์ปดํจํฐ๊ฐ ์๋ค๊ณ ํ์ ์, ์ด๊ฒ์ ํ์ฉํ๋ ๋ฐฉํฅ์ผ๋ก ์งํ์ ๊ฒฐ์ ํ์๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝํ๋ ๋ณ๋ก ์์ง๋ง, ์๋ฒ ์ปดํจํฐ๋ก ์๋ฒ๋ฅผ ์ด์ํ๋ ๊ฒ์ ์ฒ์์ด๋ผ ์ด๊ฒ์ ๊ฒ ์์๋ณด์์ผ ํ๋ค. ์๊ฒฉ ์ ์ ๊ณ์ ์ฐ๊ตฌ์ค์ ๋ฐฉ๋ฌธํด์ ์์ ์ ํ ์๋ ์์ด์, ์๊ฒฉ์ผ๋ก ์๋ฒ ์ปดํจํฐ์ ์ ์ํ ์ ์๋๋ก ์ธํ ์ ํ๋ค ๊ธฐ๋ณธ์ ์ธ ์ธํ ์ ์กฐ๊ต๋์ด ํด์ฃผ์๊ณ , ๋๋ ์ฐ๊ตฌ์ค์ ๋ฐฉ๋ฌธํด์ ๋ด ๊ณ์ ์ ๋ฑ๋กํ๊ธฐ๋ง ํ๋ค. ํฌ๋กฌ์์ ์ ๊ณตํ๋ ์๊ฒฉ ๋ฐ์คํฌํฑ์ ์ฌ.. 2024. 3. 20. 6. ๋ ธ๋ ์ญ์ ๋ฐ ๊ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ์ ์ด์ ๋ฏธํ ํผ๋๋ฐฑ ์ด์ ๋ฏธํ ์์ ๋ฐ์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ๊ธฐ๋ฅ ๊ฐ์ ๋ ธ๋ ์ญ์ ์ ์ด์ ๋ ธ๋๋ ํจ๊ป ์ญ์ ํ ๊ฒ์ธ์ง ์ฌ๋ถ ์ ํ ๊ฐ๋ฅ ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ๊ฐ ๊ฐ์ ์ถ๊ฐ์ ์์ ๋ณ๊ฒฝ Union-Find ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๊ฐ์ ํผ๋๋ฐฑ ๋ฐ์ 1. ์ด์ ๋ ธ๋ ์ญ์ ์ฌ๋ถ ๊ฒฐ์ ํน์ ๋ ธ๋ ์ญ์ ์ ํด๋น ๋ ธ๋์ ์ด์ํ ๋ ธ๋๋ฅผ ํจ๊ป ์ญ์ ํ ์ง ์ ํ ๊ฐ๋ฅํ๋๋ก ๊ฐ์ const handleSubmit = useCallback(() => { if (filter === "") { return; } setRerender(false); setGraphData((prev) => { let filteredNodes = prev.nodes; let filteredEdges = prev.edges; if (deleteNeighbor) { filtere.. 2024. 3. 17. 5. ์ ์ , ๊ฐ์ ์ถ๊ฐ ๋ฐ ์ญ์ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ Cytoscape.js์์ Measure์ ๋ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋์ง ์์๋ณด๊ณ , ์ ์ ๊ณผ ๊ฐ์ ์ ์ถ๊ฐํ๊ณ ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ผ๋ถ ๊ตฌํํ๋ค. Community Detection์ ์ด๋์ ๋ ๋์์ผ๋, ์ด์ ๋ ธ๋์ Degree, Path์ ๊ธธ์ด ๋ฑ Network์ ๋ํ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด์ Network๋ฅผ ์ธก์ ํ ์ ์๋ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋์ง ์ฐพ์๋ณด์๋ค. ๊ธฐ์กด์๋ ํ์ด์ฌ์์ ํด๋น ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํ์ด์ฌ์ ์ด๋ฏธ ๊ตฌํ์ด ๋์ด ์์ง๋ง, ํ๋ก ํธ๋จ์์ ๊ณ์ฐ์ ํด์ ๋ฐ๋ก ๋ณด์ฌ์ฃผ๊ฒ ๋๋ฉด ์๋ฌด๋๋ ๋ ๋น ๋ฅด๊ฒ ์ ๋ฌํ ์ ์๊ธฐ ๋๋ฌธ์ Cytoscape.js์์ ๊ทธ๋ฐ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋์ง ์ฐพ์๋ณด์๋ค. Network Analyzer Cytoscape์์๋ Network์ ๋ํ ํต๊ณ ์ ๋ณด.. 2024. 3. 4. ์ด์ 1 2 3 4 5 ๋ค์