파이썬 13

뉴스 데이터 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

리스트 컴프리헨션(List Comprehension)

수업 내용 리마인드 및 아카이빙 목적의 업로드 파이썬에서 리스트 컴프리헨션(List Comprehension)은 반복문을 사용해 리스트를 생성하는 방법을 더 직관적이고 간결하게 표현할 수 있는 강력한 도구입니다. 반복문을 이용한 리스트 생성 방식보다 코드의 가독성을 높이고 실행 속도도 더 빠른 장점이 있어요. 이 글에서는 리스트 컴프리헨션의 기본 구조와 다양한 예시를 통해 어떻게 사용되는지 알아볼게요. 1. 리스트 컴프리헨션 기본 구조리스트 컴프리헨션의 기본 구조는 다음과 같아요.기본 구조:result = [표현식 for 변수 in 리스트]조건문이 포함된 구조:result = [표현식 for 변수 in 리스트 if 조건문]중첩 for문 구조:result = [표현식 for 변수1 in 리스트1 for 변..

+ 개발 2024.09.11

파이썬의 강력한 도구들(ft. Lambda, defaultdict, map)

수업 내용 리마인드 및 아카이빙 목적의 업로드 파이썬에는 코드의 간결함과 유연성을 높여주는 다양한 기능들이 있어요. 오늘은 그중에서도 람다 함수(lambda), defaultdict, 그리고 map 함수를 통해 코드를 더 효율적으로 작성하는 방법을 소개할게요. 이 세 가지는 간단하면서도 매우 강력한 기능들이죠!  1. Lambda 함수: 익명 함수의 마법람다 함수(lambda)는 이름 없는, 일회성으로 사용할 수 있는 익명 함수입니다. 주로 짧고 간단한 작업에 많이 사용되며, 한 줄로 함수를 정의할 수 있다는 장점이 있어요. 1) 파라미터가 없는 함수# 일반 함수def say_hello(): return "Hello, World!"print(say_hello()) # 결과: Hello, World..

+ 개발 2024.09.10

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

수업 내용 리마인드 및 아카이빙 목적의 업로드  자연어 처리에서 텍스트의 유사도를 측정하는 것은 매우 중요한 작업이에요. 단어 임베딩을 통해 벡터로 변환된 단어들 사이의 거리를 측정하면, 단어들이 얼마나 비슷한지 계산할 수 있습니다. 이번 글에서는 유클리디안 거리, 자카드 유사도, 코사인 유사도를 계산하는 방법을 단계별로 알아봐요.  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

N-gram: 텍스트에서 문맥 파악하기

수업 내용 리마인드 및 아카이빙 목적의 업로드 텍스트 데이터를 다룰 때 단어들의 순서와 문맥을 고려하는 것은 매우 중요해요. 특히 N-gram은 문맥을 일부 반영할 수 있는 방법으로, 인접한 단어들을 묶어 표현해주는 기법이에요. 이 글에서는 N-gram의 개념부터 실제로 어떻게 활용되는지까지 차근차근 살펴볼게요. N-gram이란?N-gram은 텍스트에서 연속된 n개의 단어 묶음을 의미해요. 예를 들어, "I love deep learning"이라는 문장에서 2-gram은 "I love", "love deep", "deep learning"과 같이 두 단어씩 묶은 형태가 되죠. 이렇게 하면 단순히 단어의 빈도만 고려하는 것이 아니라, 단어들의 순서를 유지하면서 문맥 정보를 파악할 수 있어요. 하지만 N-g..

+ 개발 2024.09.07

단어 표현(Word Representation)

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

+ 개발 2024.09.06

Streamlit으로 데이터 분석 및 시각화

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. Streamlit이란?  Streamlit은 데이터 분석과 시각화를 위한 파이썬 라이브러리에요. 복잡한 코딩 없이도 직관적으로 데이터를 분석하고, 시각화된 결과물을 웹 애플리케이션 형태로 만들 수 있어요.간편한 사용: 코드가 짧고 이해하기 쉬워서, 프로그래밍 경험이 많지 않아도 쉽게 사용할 수 있어요.다양한 데이터 소스 지원: CSV, JSON, SQL 등 여러 가지 데이터 형식을 쉽게 다룰 수 있어요.실시간 데이터 처리: 실시간으로 데이터를 분석하고, 그 결과를 바로바로 볼 수 있어요.쉽게 웹 애플리케이션으로 공유: 분석한 데이터를 간편하게 웹 애플리케이션으로 만들어 공유할 수 있어요. 2. Streamlit의 강점  Streamlit은 빠르게 프로토..

+ 개발 2024.09.02

뉴스 크롤링(#네이버 뉴스)_코드 설명

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 네이버 뉴스에서 '특정 키워드(청년취업사관학교)'와 '날짜 범위(20240101~20240731)'에 해당하는 게시물들을 자동으로 수집하고, 각 게시물의 "제목", "발행기관", "작성일", "본문 내용", "URL"을 추출하여 CSV 파일로 저장하는 코드를 작성하세요.https://search.naver.com/search.naver?where=news&query=%EC%B2%AD%EB%85%84%EC%B7%A8%EC%97%85%EC%82%AC%EA%B4%80%ED%95%99%EA%B5%90&sm=tab_opt&sort=1&photo=0&field=0&pd=3&ds=2024.01.01&de=2024.07.31&docid=&related=0&mynews=..

+ 개발 2024.08.31

Numpy로 데이터 처리하기

수업 내용 리마인드 및 아카이빙 목적의 업로드 1. Numpy란 무엇인가요? Numpy는 "Numerical Python"의 줄임말로, 파이썬에서 수치 연산을 위해 만들어진 라이브러리예요. 주로 행렬 연산, 다차원 배열 처리, 그리고 선형대수와 통계와 관련된 다양한 내장 함수를 제공합니다. Numpy를 사용하면 파이썬의 기본 리스트에 비해 더 빠르고 메모리를 적게 사용하는 배열 연산을 할 수 있어요. 2. Numpy의 주요 기능 배열(array) 연산: Numpy는 배열을 기본 데이터 구조로 사용해, 벡터와 행렬 연산을 손쉽게 할 수 있습니다. 특히, 파이썬의 기본 리스트보다 훨씬 빠르고 효율적으로 연산이 가능해요.# 두 개의 2x2 행렬을 더하는 간단한 연산import numpy as npmatrix_..

+ 개발 2024.08.28