scikit-learn 5

뉴스 데이터 LDA 분석(ft. Gensim & Scikit-learn)

수업 내용 리마인드 및 아카이빙 목적의 업로드1. Twenty Newsgroups 데이터를 통한 LDA 분석 (Gensim)Twenty Newsgroups 데이터셋은 사이킷런에서 제공하는 20개의 서로 다른 주제를 가진 뉴스 그룹 데이터를 포함하고 있습니다. 이 데이터셋을 활용하여 LDA 분석을 수행해보겠습니다. 1) 필요 모듈 로드먼저, 데이터 전처리와 모델링에 필요한 라이브러리를 로드합니다.import pandas as pdfrom sklearn.datasets import fetch_20newsgroupsimport nltkfrom nltk.corpus import stopwordsfrom sklearn.feature_extraction.text import TfidfVectorizerfrom ge..

+ 개발 2024.09.14

뉴스 데이터 LSA 분석(ft. Numpy & Scikit-learn)

수업 내용 리마인드 및 아카이빙 목적의 업로드 LSA(Latent Semantic Analysis)는 문서의 단어 간 숨겨진 의미를 분석하는 강력한 방법 중 하나입니다. 이번 글에서는 LSA를 활용해 간단한 실습을 진행하고, 뉴스 데이터를 분석하는 과정을 단계별로 살펴보겠습니다. 1. LSA 간단 실습LSA는 문서-단어 행렬(DTM)을 특이값 분해(SVD)를 통해 분석하는 방법입니다. 이를 통해 문서 내에 존재하는 잠재적 의미를 추출할 수 있어요. 1) DTM 행렬 생성먼저, 예시 데이터로 문서-단어 행렬(DTM)을 만들어봅니다.import numpy as npA = np.array([[0,0,0,1,0,1,1,0,0], [0,0,0,1,1,0,1,0,0], ..

+ 개발 2024.09.13

단어 임베딩을 활용한 유사도 계산

수업 내용 리마인드 및 아카이빙 목적의 업로드  자연어 처리에서 텍스트의 유사도를 측정하는 것은 매우 중요한 작업이에요. 단어 임베딩을 통해 벡터로 변환된 단어들 사이의 거리를 측정하면, 단어들이 얼마나 비슷한지 계산할 수 있습니다. 이번 글에서는 유클리디안 거리, 자카드 유사도, 코사인 유사도를 계산하는 방법을 단계별로 알아봐요.  1. 유클리디안 거리 (Euclidean Distance)유클리디안 거리는 두 벡터 사이의 직선 거리를 의미합니다. 즉, 두 점 사이의 최단 거리를 구하는 방법이죠. 벡터 간의 차이를 계산한 후, 그 차이의 제곱을 더하고 루트를 취하면 유클리디안 거리가 나옵니다. * 유클리디안 거리 계산 코드 예시import numpy as np# 단어 임베딩 사전word_embedding..

+ 개발 2024.09.09

문서 표현 기법(ft. Scikit-learn & Gensim)

수업 내용 리마인드 및 아카이빙 목적의 업로드자연어 처리(NLP)에서 문서를 어떻게 표현하느냐는 아주 중요한 부분이에요. 오늘은 두 가지 대표적인 파이썬 라이브러리인 Scikit-learn(Sklearn)과 Gensim을 가지고 문서 표현 방법을 쉽게 설명해볼게요. 이 두 라이브러리는 각기 다른 장점이 있어서 상황에 맞게 잘 선택해서 사용하면 좋아요. Scikit-learn과 Gensim 비교Sklearn은 일반적인 머신러닝 작업에 적합해요. 텍스트 데이터를 다룰 때, 분류나 클러스터링 같은 고급 머신러닝 작업을 할 때 많이 사용해요.Gensim은 대규모 텍스트 데이터에서 주로 쓰이는 라이브러리인데요, 주제 모델링(LDA)이나 단어 임베딩(Word2Vec) 같은 작업에 특히 강점이 있어요.1. BoW (..

+ 개발 2024.09.08

단어 표현(Word Representation)

수업 내용 리마인드 및 아카이빙 목적의 업로드 기계는 우리가 사용하는 문자를 그대로 이해할 수 없어요. 그래서 자연어 처리에서는 문자를 숫자로 변환하는 방법이 필요해요. 이 글에서는 단어를 숫자로 변환하는 대표적인 방법인 원-핫 인코딩(One-Hot Encoding)을 직접 구현하고, Scikit-learn을 이용한 방법까지 단계별로 설명드릴게요. 1. 원-핫 인코딩 (One-Hot Encoding)원-핫 인코딩은 단어를 고유한 숫자로 변환한 후, 해당 단어의 위치에만 1을 부여하고 나머지에는 0을 채우는 방법이에요. 이 방식은 단어 간의 관계나 유사성을 표현하지 않지만, 간단하고 명확하게 텍스트 데이터를 숫자로 변환할 수 있죠. 1) 직접 원-핫 인코딩 구현하기파이썬의 기본 라이브러리만 사용해서 원-핫..

+ 개발 2024.09.06