<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DataMining | 포트폴리오</title><link>https://ansangah.github.io/tags/datamining/</link><atom:link href="https://ansangah.github.io/tags/datamining/index.xml" rel="self" type="application/rss+xml"/><description>DataMining</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>ko</language><lastBuildDate>Tue, 16 Apr 2024 00:00:00 +0000</lastBuildDate><image><url>https://ansangah.github.io/media/sharing.png</url><title>DataMining</title><link>https://ansangah.github.io/tags/datamining/</link></image><item><title>데이터마이닝</title><link>https://ansangah.github.io/blog/subjects/dm/</link><pubDate>Tue, 16 Apr 2024 00:00:00 +0000</pubDate><guid>https://ansangah.github.io/blog/subjects/dm/</guid><description>&lt;h2 id="1-데이터마이닝-개요"&gt;1. 데이터마이닝 개요&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;대규모 데이터에서 &lt;strong&gt;유의미한 패턴과 지식을 추출&lt;/strong&gt;하는 과정.&lt;/li&gt;
&lt;li&gt;주된 단계: 데이터 정제 → 특징 추출 → 모델링/패턴 탐색 → 평가 및 시각화.&lt;/li&gt;
&lt;li&gt;특징: 대량(Volume), 다양성(Variety), 빠른 속도(Velocity), 정확성(Veracity)을 고려한 알고리즘 설계가 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="2-빈발-아이템셋-탐색frequent-itemset-mining"&gt;2. 빈발 아이템셋 탐색(Frequent Itemset Mining)&lt;/h2&gt;
&lt;h3 id="21-개념"&gt;2.1 개념&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;거래 데이터(쇼핑 내역 등)에서 함께 등장하는 아이템 묶음을 찾는 문제.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;지지도(Support)&lt;/strong&gt;: 전체 거래 중 해당 아이템셋이 등장한 비율.&lt;br&gt;
$$\mathrm{support}(X) = \frac{\text{X를 포함한 거래 수}}{\text{전체 거래 수}}$$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;신뢰도(Confidence)&lt;/strong&gt;: 규칙 $X \rightarrow Y$의 신뢰도는 X가 포함된 거래 중 Y도 함께 등장할 확률.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;향상도(Lift)&lt;/strong&gt;: $ \frac{P(X,Y)}{P(X)P(Y)} $로 독립성 대비 얼마나 더 자주 같이 등장하는지 측정.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-apriori-알고리즘"&gt;2.2 Apriori 알고리즘&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;하향식(Top-down)&lt;/strong&gt; 탐색: 크기가 작은 빈발 아이템셋에서 시작하여 확장.&lt;/li&gt;
&lt;li&gt;원리: &lt;strong&gt;단조성(Apriori Principle)&lt;/strong&gt; — 어떤 아이템셋이 빈발하지 않다면 그 초집합도 빈발하지 않음.&lt;/li&gt;
&lt;li&gt;단계:
&lt;ol&gt;
&lt;li&gt;크기 1 아이템셋 후보 생성 및 지지도 계산.&lt;/li&gt;
&lt;li&gt;최소 지지도보다 큰 아이템셋만 남김.&lt;/li&gt;
&lt;li&gt;남은 아이템셋을 조합해 $k+1$ 크기 후보를 생성.&lt;/li&gt;
&lt;li&gt;반복하여 전체 빈발 아이템셋 도출.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;단점: 후보 생성/지지도 계산 시 많은 스캔이 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-fp-growth-frequent-pattern-growth"&gt;2.3 FP-Growth (Frequent Pattern Growth)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;후보 생성 없이 &lt;strong&gt;FP-트리&lt;/strong&gt; 구조를 이용해 패턴을 압축 저장.&lt;/li&gt;
&lt;li&gt;과정:
&lt;ol&gt;
&lt;li&gt;전체 거래를 스캔해 지지도 순으로 아이템 정렬.&lt;/li&gt;
&lt;li&gt;동일 순서로 트리에 삽입하여 경로 공유.&lt;/li&gt;
&lt;li&gt;각 아이템에 대한 조건부 트리를 구성해 재귀적으로 패턴 생성.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Apriori보다 I/O 비용이 적고 빅데이터에 효율적.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24-연관-규칙-생성"&gt;2.4 연관 규칙 생성&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;빈발 아이템셋에서 모든 가능한 분할을 생성하여 규칙 후보 생성.&lt;/li&gt;
&lt;li&gt;지지도·신뢰도·향상도 등 임계값을 적용해 의미 있는 규칙 선택.&lt;/li&gt;
&lt;li&gt;응용: 추천 시스템, 장바구니 분석, 침입 탐지.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="3-유사-항목-탐색-locality-sensitive-hashinglsh"&gt;3. 유사 항목 탐색: Locality Sensitive Hashing(LSH)&lt;/h2&gt;
&lt;h3 id="31-문제-정의"&gt;3.1 문제 정의&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;대규모 데이터셋에서 &lt;strong&gt;유사한 아이템을 빠르게 찾기&lt;/strong&gt; 위한 방법.&lt;/li&gt;
&lt;li&gt;예: 문서 중복 탐지, 이미지 검색, 레코드 중복 제거.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-기본-아이디어"&gt;3.2 기본 아이디어&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;해시 함수가 &lt;strong&gt;유사한 객체를 동일 버킷에 높은 확률로 매핑&lt;/strong&gt;하도록 설계.&lt;/li&gt;
&lt;li&gt;유사도 지표에 따라 해시 패밀리를 선택:
&lt;ul&gt;
&lt;li&gt;Jaccard 유사도 → MinHash.&lt;/li&gt;
&lt;li&gt;코사인 유사도 → Random Hyperplane.&lt;/li&gt;
&lt;li&gt;Lp 거리 → p-안정 분포 해시.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="33-minhash--밴드-기법"&gt;3.3 MinHash + 밴드 기법&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;문서를 &lt;strong&gt;셋&lt;/strong&gt;으로 표현하고 MinHash 시그니처(여러 해시 함수의 최소값)를 생성.&lt;/li&gt;
&lt;li&gt;시그니처를 r×b 밴드로 나눠 각 밴드마다 동일한 구간을 문자열로 취급해 해시 버킷에 저장.&lt;/li&gt;
&lt;li&gt;두 문서가 하나라도 같은 밴드-버킷에 들어가면 &lt;strong&gt;후보(pair)&lt;/strong&gt; 로 간주하고 실제 유사도를 계산.&lt;/li&gt;
&lt;li&gt;파라미터 (r,b) 조절로 유사도 임계값을 설정.
&lt;ul&gt;
&lt;li&gt;더 많은 밴드(b)는 거짓 음성 감소, 더 많은 행(r)은 거짓 양성 감소.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="34-lsh-파이프라인"&gt;3.4 LSH 파이프라인&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;데이터 전처리 및 특징화(셋/벡터).&lt;/li&gt;
&lt;li&gt;LSH 시그니처 생성.&lt;/li&gt;
&lt;li&gt;후보군 추출.&lt;/li&gt;
&lt;li&gt;정확한 거리 계산 후 상위 K개 또는 임계값 이상 반환.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="4-군집화clustering"&gt;4. 군집화(Clustering)&lt;/h2&gt;
&lt;h3 id="41-개요"&gt;4.1 개요&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;레이블이 없는 데이터에서 &lt;strong&gt;자연스러운 그룹&lt;/strong&gt;을 발견.&lt;/li&gt;
&lt;li&gt;목적: 군집 내 유사성 극대화, 군집 간 유사성 최소화.&lt;/li&gt;
&lt;li&gt;거리 척도: 유클리디언, 코사인, 해밍, DTW 등.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-k-means"&gt;4.2 K-means&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;구형(球形) 군집에 적합한 대표 알고리즘.&lt;/li&gt;
&lt;li&gt;절차:
&lt;ol&gt;
&lt;li&gt;초기 중심 K개 선택 (K-means++, 랜덤).&lt;/li&gt;
&lt;li&gt;각 데이터 포인트를 가장 가까운 중심에 할당.&lt;/li&gt;
&lt;li&gt;중심 갱신(할당된 포인트 평균).&lt;/li&gt;
&lt;li&gt;수렴할 때까지 반복.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;주의: K 값 선택(엘보우, 실루엣), 이상치 영향, 초기값 민감성.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="43-계층적-군집화"&gt;4.3 계층적 군집화&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;데이터 사이 거리를 기반으로 &lt;strong&gt;덴드로그램&lt;/strong&gt; 생성.&lt;/li&gt;
&lt;li&gt;상향식(Agglomerative): 각 포인트를 독립 군집으로 시작해 병합.
&lt;ul&gt;
&lt;li&gt;연결 기준: 단일(Single), 완전(Complete), 평균(Average), Ward.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하향식(Divisive): 전체를 하나의 군집으로 보고 분할.&lt;/li&gt;
&lt;li&gt;원하는 군집 수만큼 수평선으로 잘라 결과 도출.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="44-밀도-기반-군집화-dbscan-hdbscan"&gt;4.4 밀도 기반 군집화 (DBSCAN, HDBSCAN)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;밀도가 높은 영역을 군집으로 정의하고 희소 영역은 노이즈로 처리.&lt;/li&gt;
&lt;li&gt;파라미터: $\varepsilon$ (반경), MinPts(최소 포인트 수).&lt;/li&gt;
&lt;li&gt;장점: 임의 모양 군집 탐색, 이상치 자동 탐지.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="5-그래프-기반-커뮤니티-탐지"&gt;5. 그래프 기반 커뮤니티 탐지&lt;/h2&gt;
&lt;h3 id="51-community-detection"&gt;5.1 Community Detection&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;그래프의 노드를 &lt;strong&gt;내부적으로 연결이 밀집된 하위 구조&lt;/strong&gt;로 분할.&lt;/li&gt;
&lt;li&gt;응용: 소셜 네트워크, 추천, 생물학 네트워크 분석.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="52-모듈러리티modularity"&gt;5.2 모듈러리티(Modularity)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;군집 내 연결 강도와 군집 간 연결 강도의 차이를 지표로 사용.&lt;/li&gt;
&lt;li&gt;Louvain, Leiden 알고리즘이 대표적: 모듈러리티 최대화를 반복 수행.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="53-스펙트럴-클러스터링spectral-clustering"&gt;5.3 스펙트럴 클러스터링(Spectral Clustering)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;그래프 라플라시안(Laplacian) 행렬의 고유벡터를 이용해 군집화.&lt;/li&gt;
&lt;li&gt;과정:
&lt;ol&gt;
&lt;li&gt;인접 행렬 $W$로 그래프 표현, 정도 행렬 $D$ 계산.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;정규화 라플라시안&lt;/strong&gt; $L = D^{-1/2}(D - W)D^{-1/2}$을 구성.&lt;/li&gt;
&lt;li&gt;$L$의 하위 k개의 고유벡터를 취해 새로운 특징 공간으로 임베딩.&lt;/li&gt;
&lt;li&gt;해당 공간에서 K-means 등 전통적 군집 알고리즘 수행.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;장점: 비선형 구조, 비구형 군집에도 적용 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="54-비교"&gt;5.4 비교&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;모듈러리티 기반: 빠르지만 해상도 한계 존재.&lt;/li&gt;
&lt;li&gt;스펙트럴: 고유값 분해 비용이 있지만 품질 높은 분할 제공.&lt;/li&gt;
&lt;li&gt;실제 프로젝트에서는 그래프 크기, 희소성, 실시간 요구를 고려해 선택.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="6-차원-축소dimension-reduction"&gt;6. 차원 축소(Dimension Reduction)&lt;/h2&gt;
&lt;h3 id="61-필요성"&gt;6.1 필요성&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;고차원 데이터는 계산 비용 증가, 시각화 어려움, 차원의 저주 발생.&lt;/li&gt;
&lt;li&gt;차원 축소는 &lt;strong&gt;정보 손실을 최소화하면서 표현 차원 수를 줄이는 과정&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="62-주성분-분석pca"&gt;6.2 주성분 분석(PCA)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;공분산 행렬의 고유값 분해로 분산이 가장 큰 방향(주성분)을 찾는다.&lt;/li&gt;
&lt;li&gt;절차: 표준화 → 공분산 행렬 계산 → 고유값/고유벡터 → 상위 k개 선택 → 투영.&lt;/li&gt;
&lt;li&gt;주요 성질: 직교 변환, 선형 기법, 최대 정보 보존.&lt;/li&gt;
&lt;li&gt;한계: 비선형 패턴, 이상치에 민감.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="63-선형-판별-분석lda"&gt;6.3 선형 판별 분석(LDA)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;클래스 간 분산 대비 클래스 내 분산 비율을 최대화.&lt;/li&gt;
&lt;li&gt;지도학습 기반 차원 축소, 분류 성능 향상이 목표.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="64-비선형-차원-축소"&gt;6.4 비선형 차원 축소&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;t-SNE: 국소 구조 유지, 시각화에 탁월하지만 전역 구조 왜곡 가능.&lt;/li&gt;
&lt;li&gt;UMAP: t-SNE보다 빠르고 전역 구조를 더 잘 유지.&lt;/li&gt;
&lt;li&gt;Autoencoder: 심층 신경망으로 비선형 임베딩 학습.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="65-차원-축소와-lsh군집화-연계"&gt;6.5 차원 축소와 LSH/군집화 연계&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;고차원 벡터를 축소하여 LSH 효율 개선 및 노이즈 완화.&lt;/li&gt;
&lt;li&gt;군집화 전에 PCA로 잡음 제거 → 실루엣 지수 향상 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="7-데이터마이닝-프로젝트-팁"&gt;7. 데이터마이닝 프로젝트 팁&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;데이터 품질 확보: 결측치 처리, 이상치 탐지, 스케일링 필수.&lt;/li&gt;
&lt;li&gt;평가 지표:
&lt;ul&gt;
&lt;li&gt;빈발 패턴: 신뢰도, 향상도 외 Conviction, Kulczynski 등.&lt;/li&gt;
&lt;li&gt;군집/커뮤니티: 실루엣, Davies-Bouldin, 모듈러리티.&lt;/li&gt;
&lt;li&gt;차원 축소: 재구성 오차, 분류 성능 변화.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;시각화: 히트맵, 상관 행렬, 네트워크 그래프, 2D 임베딩(예: PCA, t-SNE).&lt;/li&gt;
&lt;li&gt;실무에서 LSH는 후보 생성, 정확한 판단은 후속 정밀 비교로 조합한다.&lt;/li&gt;
&lt;li&gt;반복적 실험과 파라미터 튜닝을 통해 재현 가능한 파이프라인을 문서화한다.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>