반응형

Programming 84

텍스트 분석 & NLP 핵심 요약 (완전 통합 정리)

개요텍스트 분석은 겉으로 보기엔 “문장 분석”처럼 보이지만, 실제로는 비정형 텍스트 데이터를 수치 벡터로 변환한 뒤 머신러닝을 적용하는 문제입니다.즉, 핵심은 “언어를 숫자로 바꾸는 과정”에 있습니다.이 글에서는 텍스트 분석의 전체 흐름부터 NLP의 목적까지,시험 대비 + 실무 관점에서 한 번에 정리합니다.1️⃣ 텍스트 분석의 전체 머신러닝 프로세스텍스트 분석의 기본 구조는 다음과 같습니다.텍스트 전처리→ 피처 벡터화→ 모델 학습→ 예측→ 평가📌 핵심 개념텍스트 분석 = 텍스트를 벡터로 변환한 뒤 기존 머신러닝을 적용하는 과정기존 분류/회귀 모델은 숫자만 이해합니다.따라서 벡터화가 핵심 관문입니다.2️⃣ 텍스트 전처리 (Text Preprocessing)텍스트 전처리는 “언어를 분석 가능한 형태로 정리..

Programming 2026.02.14

비지도학습(군집화) 마무리 정리: “정답이 없을 때, 무엇을 기준으로 묶을 것인가”

실무에서 군집화가 필요한 이유비지도학습은 “정답(label)”이 없어서 성능을 바로 채점하기 어렵습니다. 그럼에도 군집화를 쓰는 이유는 명확합니다.고객 세그먼트 찾기: VIP/이탈 위험/신규 유입/가격 민감군 등이상 탐지: 결제 사기, 센서 고장, 비정상 트래픽데이터 압축/요약: 수십만 포인트를 몇 개의 군집으로 요약해 보고서/의사결정에 활용후속 모델의 전처리: 군집 결과를 “파생 피처”로 만들어 지도학습 성능을 끌어올리기도 합니다.핵심은 한 문장으로 정리됩니다.군집화는 데이터를 비슷한 특성끼리 묶어 숨은 구조를 드러내는 것입니다.1) “유사성”은 누가 정의하는가? → 하이퍼파라미터가 정의합니다비지도학습에서 가장 중요한 포인트는, 유사성의 기준을 사람이 정해줘야 한다는 점입니다.그 기준이 바로 하이퍼파라..

Programming 2026.01.12

고객 세그먼테이션 구현 실습RFM 기법 + K-Means 군집화

1. 고객 세그먼테이션 개요고객 세그먼테이션(Customer Segmentation)은 고객을 여러 기준에 따라 그룹으로 나누는 기법을 의미합니다.CRM(Customer Relationship Management)과 마케팅 전략의 핵심 기반이며, 다음과 같은 의사결정에 활용됩니다.VIP 고객 선별이탈 가능 고객 탐지재구매 유도 캠페인 설계맞춤형 프로모션 전략 수립이번 실습에서는 RFM 기법을 활용하여 고객 세그먼테이션을 수행합니다.2. RFM 기법 정의RFM은 고객의 구매 행동을 세 가지 지표로 요약합니다.Recency (최근성)→ 고객이 얼마나 최근에 구매했는가Frequency (빈도)→ 고객이 얼마나 자주 구매했는가Monetary Value (금액)→ 고객이 얼마나 많은 금액을 사용했는가이 세 가지 ..

Programming 2026.01.12

DBSCANDensity-Based Spatial Clustering of Applications with Noise

1. DBSCAN 개요DBSCAN은 데이터의 밀도(density) 를 기반으로 군집을 형성하는 비지도 학습 알고리즘입니다.K-Means나 GMM과 달리 군집 개수를 사전에 지정하지 않으며, 데이터 분포 자체를 보고 자동으로 군집을 탐색합니다.특히 다음과 같은 데이터에서 강력한 성능을 보입니다.복잡한 비선형 기하학 구조원형이 아닌 고리형, 곡선형 분포이상치(Noise)가 포함된 데이터2. DBSCAN의 핵심 특징 정리2-1. 장점군집 개수 자동 결정이상치(Noise)를 자연스럽게 탐지복잡한 형태의 군집도 탐색 가능2-2. 단점데이터 밀도가 크게 다르거나 균일하면 성능 저하피처 수가 많아질수록 거리 계산이 어려워짐eps, min_samples 설정에 민감3. DBSCAN의 핵심 개념 정의 (매우 중요)(1)..

Programming 2026.01.12

Gaussian Mixture Model(GMM) 군집화– K-Means의 한계를 극복하는 확률 기반 군집 알고리즘

1. 개요K-Means는 거리 기반 군집화 알고리즘으로,군집이 원형(spherical) 이고 중심점을 기준으로 고르게 퍼져 있을 때 매우 효과적입니다.하지만 실제 데이터는 다음과 같은 경우가 많습니다.군집이 길게 늘어진 타원형 분포군집마다 분산 크기가 서로 다름중심 거리보다 분포 형태가 중요한 경우이러한 상황에서는 K-Means가 군집을 잘못 나누는 문제가 발생합니다.이를 해결하기 위해 등장한 알고리즘이 Gaussian Mixture Model(GMM) 입니다.2. K-Means의 구조적 한계K-Means의 핵심 가정각 군집은 하나의 중심점(Centroid) 을 가짐모든 군집은 유사한 크기와 분산거리(Euclidean Distance)가 군집 결정의 기준👉 결과적으로 원형 군집에는 강하지만,타원형·비대..

Programming 2026.01.12

Mean Shift 군집화 완전 이해– KDE 기반 자동 군집 개수 결정 알고리즘

1. 개요Mean Shift는 군집 개수를 사전에 지정하지 않는 군집화 알고리즘입니다.K-Means처럼 “K를 몇 개로 할 것인가?”를 고민할 필요 없이,데이터 분포 자체를 기준으로 군집 중심을 자동으로 탐색합니다.Mean Shift의 핵심은 KDE(Kernel Density Estimation, 커널 밀도 추정) 입니다.즉, 데이터가 가장 밀집된 방향으로 반복적으로 이동하면서자연스럽게 군집 중심에 수렴하도록 설계된 알고리즘입니다.1. 개요Mean Shift는 군집 개수를 사전에 지정하지 않는 군집화 알고리즘입니다.K-Means처럼 “K를 몇 개로 할 것인가?”를 고민할 필요 없이,데이터 분포 자체를 기준으로 군집 중심을 자동으로 탐색합니다.Mean Shift의 핵심은 KDE(Kernel Density ..

Programming 2026.01.12

K-Means 군집 성능 평가를 위한 실루엣(Silhouette) 분석 완전 이해

1. 개요군집화(Clustering)는 정답(label)이 없는 비지도 학습이기 때문에모델 성능을 단순 정확도로 평가할 수 없습니다.따라서 군집이 얼마나 잘 분리되었는지를 정량적으로 판단할 수 있는 지표가 필요하며,그중 가장 널리 사용되는 방법이 실루엣(Silhouette) 분석입니다.이번 글에서는실루엣 계수의 개념과 수식붓꽃(Iris) 데이터셋을 이용한 실루엣 분석 실습클러스터 개수(K) 최적화를 위한 실루엣 시각화다양한 K값에 따른 실루엣 점수 비교를 입문자도 이해할 수 있도록 단계별로 정리합니다.2. 실루엣 분석 개념 정리2-1. 실루엣 분석이란?실루엣 분석은 다음 조건을 동시에 만족하는지를 평가합니다.같은 군집 내 데이터끼리는 서로 가깝고다른 군집과는 멀리 떨어져 있는지즉, 군집 간 분리도(sep..

Programming 2026.01.12

K-Means 군집화 실험을 위한 인공 데이터 생성과 중심점 시각화

1. 개요군집화 알고리즘은 정답(label)이 없는 데이터에서 패턴을 찾기 때문에,알고리즘의 동작 원리를 명확히 이해하기 위해서는 통제된 데이터로 실험하는 것이 매우 중요합니다.이번 글에서는make_blobs()를 이용해 의도적으로 군집 구조가 있는 데이터를 생성하고K-Means 알고리즘이 어떻게 중심점을 찾고 군집을 형성하는지그리고 군집 중심(Centroid)이 시각적으로 어떻게 이동·결정되는지를 단계적으로 확인합니다.2. Clustering 알고리즘 테스트용 데이터 생성 파라미터 이해Clustering 실험을 위해 사이킷런은 make_blobs()라는 함수를 제공합니다.주요 파라미터 설명n_samples생성할 전체 데이터 개수입니다. 기본값은 100이며, 실험 규모를 조절할 때 사용합니다.n_feat..

Programming 2026.01.12

군집화(Clustering) 개념과 K-Means 알고리즘 실습 정리

1. 개요군집화(Clustering)는 라벨이 없는 데이터를 대상으로,데이터 포인트 간의 유사성(similarity) 을 기준으로 여러 개의 그룹(군집)으로 나누는 비지도 학습 기법입니다.지도학습처럼 정답(label)이 존재하지 않기 때문에,“무엇이 비슷한가?”, “어떤 기준으로 묶을 것인가?”가 핵심이 됩니다.본 글에서는군집화의 기본 개념대표적인 군집 알고리즘K-Means 알고리즘의 동작 원리붓꽃(Iris) 데이터셋을 활용한 K-Means 실습과 시각화를 단계적으로 정리합니다.2. 군집화(Clustering)란 무엇인가?군집화란 데이터 포인트들을 여러 개의 군집(Cluster)으로 그룹화하는 작업을 의미합니다.🔹 군집화의 핵심 목적같은 군집 내부의 데이터들은 서로 유사서로 다른 군집 간 데이터들은 상..

Programming 2026.01.12

차원 축소(Dimension Reduction) 완전 정리 요약PCA · LDA · SVD · Truncated SVD · NMF

1. 왜 차원 축소가 필요한가? (차원의 저주)고차원 데이터(수십~수천 개 피처)는 다음과 같은 문제를 유발합니다.🔹 고차원 데이터의 핵심 문제데이터 희소성 증가→ 차원이 커질수록 데이터 포인트 간 거리가 급격히 멀어짐거리 기반 알고리즘 성능 저하→ KNN, K-means, SVM 등에서 의미 있는 거리 계산이 어려워짐다중 공선성 문제→ 선형 회귀 계열 모델에서 계수 불안정, 예측 성능 저하학습 시간 증가 & 과적합 위험👉 이를 해결하기 위해 중요한 정보는 유지하면서 차원을 줄이는 기법이 바로 차원 축소입니다.2. 차원 축소의 두 가지 접근 방식① 피처 선택 (Feature Selection)불필요하거나 종속성이 강한 피처 제거기존 피처 중 일부만 선택예: 상관관계 높은 변수 제거② 피처 추출 (Fe..

Programming 2026.01.11

SVD(Singular Value Decomposition, 특이값 분해) 이해하기

1. SVD 개요SVD(Singular Value Decomposition, 특이값 분해)는 행렬을 구성 요소로 분해하는 선형대수 핵심 기법입니다.차원 축소, 이미지 압축, 추천 시스템, 문서 의미 분석 등 머신러닝과 데이터 분석 전반에서 매우 중요한 역할을 합니다.앞에서 배운 PCA, LDA 역시 내부적으로는 SVD 또는 고유값 분해를 기반으로 동작합니다.2. PCA와 SVD의 관계 정리고유값 분해(Eigen Decomposition)→ 정방행렬(행 = 열)만 가능PCA→ 공분산 행렬(정방행렬)에 고유값 분해 적용SVD→ ✔️ 정방행렬 + 직사각형 행렬(m × n) 모두 가능→ PCA보다 더 일반적인 행렬 분해 기법즉,PCA ⊂ SVD라고 이해하면 됩니다.3. SVD 수식적 의미 (입문자 관점)임의의 ..

Programming 2026.01.11
반응형