[파이썬] 데이터 분석과 인문학적 분석

데이터 분석과 인문학적 분석은 서로 다른 분야로 보이지만 실제로는 많은 공통점을 가지고 있다. 데이터 분석은 주로 수학과 프로그래밍 기술을 사용하여 정량적 데이터를 분석하는 작업을 의미하며, 인문학적 분석은 주로 인간의 사고와 문화를 이해하고 해석하는 작업을 의미한다.

그러나 최근 데이터 분석의 발전으로 인해 데이터 분석과 인문학적 분석이 결합된 분야가 등장하고 있다. 예를 들어, 소셜 미디어 게시글 분석을 통해 문화적인 동향을 파악하거나 동영상 시청 기록을 분석하여 사용자의 취향을 이해하는 등의 작업이 이에 해당한다.

데이터 수집과 전처리

데이터 분석과 인문학적 분석을 위해서는 먼저 데이터를 수집해야 한다. 이는 인터넷에서 정보를 크롤링하거나 데이터베이스에서 데이터를 추출하는 등의 방식으로 이루어진다. 수집된 데이터는 원활한 분석을 위해 전처리되어야 한다. 예를 들어, 텍스트 데이터의 경우 불필요한 기호나 띄어쓰기를 제거하고, 결측치를 처리하는 등의 작업이 필요하다.

import pandas as pd

# 데이터 불러오기
data = pd.read_csv('data.csv')

# 데이터 전처리
data = data.dropna()  # 결측치 제거
data['text'] = data['text'].apply(lambda x: x.lower())  # 소문자로 변환
data['text'] = data['text'].str.replace('[^a-zA-Z0-9ㄱ-ㅣ가-힣 ]', '')  # 특수문자 제거
data['text'] = data['text'].str.strip()  # 공백 제거

데이터 분석

데이터가 준비되었다면 이제 데이터를 분석하여 인사이트를 도출할 수 있다. 데이터 분석은 주어진 데이터에 통계학적인 방법이나 머신러닝 알고리즘을 적용하여 의미 있는 결과를 도출하는 작업이다. 예를 들어, 데이터의 키워드 분석을 통해 중요한 주제를 식별하거나, 감성 분석을 통해 사람들의 감정을 파악하는 등의 분석이 가능하다.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation

# 텍스트 데이터 벡터화
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(data['text'])

# 주제 모델링
lda = LatentDirichletAllocation(n_components=5, random_state=42)
lda.fit(X)

# 토픽별 키워드 출력
for idx, topic in enumerate(lda.components_):
    print(f"Topic #{idx + 1}: {' '.join([vectorizer.get_feature_names()[i] for i in topic.argsort()[:-6:-1]])}")

인문학적 분석

데이터 분석 결과를 통해 얻은 인사이트를 인문학적 분석에 적용할 수 있다. 데이터에 포함된 텍스트를 조망하여 문학 작품이나 인간의 사고, 문화 등을 이해하고 해석할 수 있다. 예를 들어, 텍스트 데이터를 단어별로 분석하여 특정 키워드와 연관된 문학 작품이나 인간의 사고 과정을 탐구할 수 있다.

import nltk
from nltk.collocations import *

# 텍스트 데이터 전처리
texts = data['text'].tolist()
tokens = [nltk.word_tokenize(text) for text in texts]

# 연어(collocations) 분석
finder = BigramCollocationFinder.from_documents(tokens)
finder.apply_freq_filter(5)  # 출현 빈도 기준으로 필터링

# 연어 상위 5개 출력
print([collocation[0] for collocation in finder.nbest(BigramAssocMeasures.likelihood_ratio, 5)])

결론

데이터 분석과 인문학적 분석은 서로 다른 분야지만, 결합함으로써 더 깊은 이해를 얻을 수 있다. 데이터 분석을 통해 인문학적인 텍스트 데이터를 분석하고, 인문학적 분석을 통해 데이터의 의미를 발견하는 작업은 매우 흥미로우며 다양한 분야에서 유용하게 활용될 수 있다.