728x90
반응형

데이터분석 8

[pytorch] DTM과 TF-IDF | 텍스트 전처리 | 자연어 처리

DTM (Document-Term Matrix)이란?DTM은 여러 문서에서 단어의 빈도를 기록한 행렬(matrix)입니다. BoW와 유사하지만, 여러 문서 간의 단어 빈도수를 한꺼번에 분석할 수 있도록 확장된 형태입니다.- 행(Row): 문서 (Document)- 열(Column): 단어 (Term)- 값(Value): 특정 문서에 특정 단어가 등장한 빈도수DTM은 m x n 형태의 행렬로, `m`은 문서의 개수, `n`은 고유 단어의 개수를 의미합니다.  DTM의 예시다음과 같은 예제 문서들을 통해 DTM을 만들어 보겠습니다.문서 1: "나는 오늘 밥을 먹었다"문서 2: "밥을 먹고 운동을 했다"문서 3: "오늘 운동을 마치고 밥을 먹었다"1. 토큰화(Tokenization) 및 어휘 사전 생성  모든..

pytorch 2024.11.22

[pytorch] Bag of Words (BOW) | CountVectorizer

Bag of Words란?Bag of Words의 개념과 활용Bag of Words (BoW)는 문서를 단어의 빈도수로 표현하는 방법으로, 단어의 순서를 무시하고 각 단어가 문서에 얼마나 자주 등장했는지를 수치화하는 기법입니다. BoW는 단순하지만, 자연어 처리에서 기본적인 텍스트 표현 방법으로 널리 사용되며, 특히 문서 분류, 유사도 측정, 추천 시스템 등에서 유용합니다.Bag of Words의 특징BoW는 텍스트를 단어의 출현 빈도 기반으로 표현하기 때문에 두 가지 주요 특징을 가지고 있습니다. 1. 단어 순서 무시: BoW에서는 문장의 구조나 단어 순서를 전혀 고려하지 않습니다. 단어의 순서가 바뀌어도 단어 빈도만 같다면 BoW 벡터는 동일합니다.2. 단어 빈도 중심: BoW 벡터는 단어가 등장한 ..

pytorch 2024.11.19

[pytorch] 어간 추출(stemming)과 표제어 추출 (Lemmatization)

자연어 처리(NLP)에서 어간 추출(Stemming)과 표제어 추출(Lemmatization)은 텍스트 데이터를 정제하고 분석하기 위한 전처리 과정입니다.이 두 기법은 단어의 형태를 변환하여 텍스트의 차원 수를 줄이고, 모델의 학습 성능을 향상하는 데 도움을 줍니다. 하지만 어간 추출과 표제어 추출은 각기 다른 방법론과 목적을 가지고 있습니다.어간 추출은 단어의 접사를 제거하여 기본 형태인 어간을 추출하는 기법으로, 규칙 기반 알고리즘을 사용하여 처리 속도가 빠르지만 의미의 정확성을 보장하지는 않습니다.반면, 표제어 추출은 단어의 문법적 맥락과 품사를 고려하여 사전에 나오는 기본 형태를 찾는 과정을 포함합니다. 이 과정은 보다 정교하며, 단어의 의미적 일관성을 유지합니다.이번 포스팅에서는 어간 추출과 표..

pytorch 2024.11.12

[pytorch] 순환 신경망(Recurrent neural network, RNN) 이란? / RNN을 Pytorch로 구현 실습 코드

DNN과 RNN 비교딥러닝에서 데이터의 시간적 연속성을 처리하는 방법은 모델 선택에 중요한 영향을 미치는데요. 우선 DNN과 RNN을 비교하여 시간적 연속성의 중요성을 살펴보시죠.시간적 연속성을 고려하지 않은 경우- 왼쪽의 수식에서는 입력 데이터 \( x_t \)가 주어졌을 때, 은닉층 \( h_t \)가 가중치 \( W_{xh} \)와 활성화 함수 \( f(\cdot) \)을 통해 계산됩니다. 이 은닉층의 출력 \( h_t \)는 다시 가중치 \( W_{hx} \)와 활성화 함수 \( g(\cdot) \)를 거쳐 최종 출력값 \( y_t \)를 생성합니다.- 이 경우, 각 시점 \( t \)의 데이터는 독립적으로 처리됩니다. 이전 시점의 정보는 고려되지 않으므로, 모델은 시간적 연속성이나 데이터 간의 ..

pytorch 2024.09.24

[pythonML] Autogluon 사용법 | Autogluon 매개변수, 속성, 메소드 | Autogluon 코드 적용

AutoGluon 이란?AutoGluon은 머신러닝 워크플로우를 자동화하는 강력한 도구로, 사용자가 최소한의 코드만으로도 다양한 모델을 자동으로 학습하고 튜닝할 수 있습니다. AutoGluon은 데이터 전처리, 피처 엔지니어링, 하이퍼파라미터 최적화, 앙상블 학습 등의 복잡한 작업을 자동으로 수행하며, 다양한 데이터 유형을 지원합니다. 특히, 모델 성능을 최적화하기 위해 다양한 모델을 시도하고, 최적의 모델을 선택하거나 여러 모델을 결합하여 최상의 예측 성능을 제공합니다. GPU를 활용한 고속 학습도 지원하여, 대규모 데이터셋에서도 효율적으로 작동합니다.TabularPredictor 클래스의 매개변수 label(str) 예측할 타겟 변수를 포함하는 열의 이름. problem_type (str, 기본값 =..

pythonML 2024.09.01

[pythonML] H2O AutoML 사용법 | H2O 코드 적용 | H2O 파라미터

H2O란?H2O의 AutoML은 머신러닝 워크플로우를 자동화하는 데 사용될 수 있으며, 사용자가 지정한 시간 내에서 여러 모델을 자동으로 학습하고 튜닝합니다. 또한, H2O의 모델 설명 기능은 AutoML 객체 전체(즉, 여러 모델들로 구성된 모델 그룹)와 개별 모델(리더 모델 포함)에 적용할 수 있습니다. AutoML 실행 후 생성된 다양한 모델들에 대해 어떻게 작동하고 있는지, 각 모델의 예측이 어떻게 이루어졌는지 등을 설명할 수 있는 도구들을 제공합니다. AutoML 객체 자체가 앙상블 모델은 아니지만, AutoML이 생성한 앙상블 모델은 H2O의 모델 설명 기능을 통해 해석할 수 있습니다.H2O AutoML 인터페이스H2O AutoML 인터페이스는 가능한 한 적은 파라미터로 설계되어 있어, 사용자..

pythonML 2024.08.30

[밑바닥 DL] 2.동시발생 행렬의 한계와 해결책(feat. PPMI)

동시발생행렬은 말뭉치(corpus) 내에서 일정한 맥락 안에서 각 단어 쌍이 함께 등장하는 횟수를 세는 표입니다. 언어학, 자연어 처리, 데이터 분석에서 관계와 패턴을 분석하는데 유용한 도구지만 몇 가지 한계가 있습니다. 1.동시발생행렬의 한계1. 희소성(Sparsity): 많은 단어 쌍들이 함께 등장하지 않거나 자주 등장하지 않을 수 있습니다. 이로 인해 많은 값이 0인 희소 행렬이 되고, 이는 저장과 처리에 있어서 계산 효율성이 떨어질 수 있습니다.2. 고차원성(High Dimensionality): 말뭉치의 어휘가 많을수록 동시발생행렬의 크기가 커져 다루기 어렵게 됩니다. 3. 맥락 부족(Lack of Context): 단어들이 등장하는 순서나 맥락을 포착하지 못합니다. 예를 들어 "개가 사람을 물..

밑바닥 DL 2024.03.14

[오류Error] 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte

문제 상황Python의 Pandas 라이브러리를 사용하여 CSV 파일을 불러오는 과정에서 다음과 같은 인코딩 오류가 발생했습니다.train = pd.read_csv("산림청 산림항공본부_진화헬기 투입 산불건수_20201231.csv", encoding="UTF-8")오류 원인이 오류는 파일이 UTF-8이 아닌 다른 인코딩 방식으로 저장되었을 때 발생합니다. 한국에서 많이 사용되는 인코딩 방식 중 하나인 CP949로 파일이 저장된 경우, UTF-8로 읽으려고 할 때 이런 문제가 발생할 수 있습니다. 해결 방법파일의 인코딩을 'UTF-8'에서 'cp949' 로 지정하여 파일을 올바르게 읽을 수 있습니다. 코드는 다음과 같이 수정할 수 있습니다.train = pd.read_csv("산림청 산림항공본부_진화헬기..

오류Error 2022.05.21
728x90
반응형