본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 전처리하기: 벡터화

by 포탈메이커 2023. 7. 21.

파이썬으로 데이터 전처리하기: 벡터화

개요

데이터 전처리는 데이터 분석 작업에서 가장 중요한 단계 중 하나입니다. 데이터 전처리 과정 중 하나인 벡터화는 자연어 처리나 이미지 처리와 같은 다양한 분야에서 많이 사용됩니다. 이번 포스팅에서는 파이썬을 사용하여 데이터를 벡터화하는 방법에 대해 알아보겠습니다.

1. 텍스트 데이터 벡터화

1-1. Bag-of-Words

Bag-of-Words는 텍스트 데이터를 숫자 벡터로 변환하는 가장 간단한 방법 중 하나입니다. 이 방법은 문서를 단어들의 집합으로 간주하고, 각 단어의 등장 빈도를 세서 벡터로 만드는 방법입니다. 파이썬에서는 CountVectorizer 클래스를 사용하여 Bag-of-Words 벡터화를 할 수 있습니다.

```python from sklearn.feature_extraction.text import CountVectorizer

corpus = ['I like python', 'Python is a great language'] vectorizer = CountVectorizer() X = vectorizer.fit_transform(corpus)

print(vectorizer.getfeaturenames()) # 단어 목록 출력 print(X.toarray()) # 벡터화된 데이터 출력 ```

1-2. TF-IDF

TF-IDF(Term Frequency-Inverse Document Frequency)는 Bag-of-Words의 한계를 보완한 방법입니다. 이 방법은 각 단어의 등장 빈도와 역문서 등장 빈도를 고려하여 벡터를 만듭니다. 파이썬에서는 TfidfVectorizer 클래스를 사용하여 TF-IDF 벡터화를 할 수 있습니다.

```python from sklearn.feature_extraction.text import TfidfVectorizer

corpus = ['I like python', 'Python is a great language'] vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(corpus)

print(vectorizer.getfeaturenames()) # 단어 목록 출력 print(X.toarray()) # 벡터화된 데이터 출력 ```

2. 이미지 데이터 벡터화

이미지 데이터를 벡터화하기 위해서는 이미지를 픽셀값의 집합으로 변환해야 합니다. 파이썬의 numpy 라이브러리를 사용하여 이미지를 배열로 변환한 후, 이를 벡터화하는 방법을 알아보겠습니다.

```python import numpy as np from PIL import Image

imagepath = 'path/to/image.png' image = Image.open(imagepath) array = np.array(image) # 이미지 배열로 변환

vector = array.flatten() # 이미지를 벡터화

print(vector) ```

위 예시는 PNG 형식의 이미지를 벡터화하는 방법을 보여줍니다. 다른 형식의 이미지일 경우, 각 형식에 맞는 라이브러리를 사용하여 이미지를 벡터화할 수 있습니다.

마무리

파이썬을 사용하여 데이터를 벡터화하는 방법에 대해 알아보았습니다. 데이터 전처리는 데이터 분석 작업의 성공을 좌우하는 중요한 단계이므로, 신중하게 처리해야 합니다. 텍스트 데이터의 경우 Bag-of-Words나 TF-IDF와 같은 방법으로 벡터화할 수 있고, 이미지 데이터의 경우 이미지를 배열로 변환한 후 벡터화할 수 있습니다. 데이터의 특성에 맞게 적절한 방법을 선택하여 데이터 전처리를 수행해야 합니다.