본문 바로가기

머신러닝

자연어처리 - 도서Text를 활용해보기 -2

import pandas as pd
import numpy as np
import pickle
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
from sklearn.metrics import adjusted_rand_score

먼저 필요한 패키지들을 load했다.

 

with open('pickle데이터 위치', 'rb') as f:
   data = pickle.load(f) # 단 한줄씩 읽어옴

지난번에 저장한 pickle 데이터를 load하였다.

 

" ".join(list(data["Text"][0]))

이런형식으로 Text들을 변환해줘야 data를 input할 수 있다.

 

 

result = []
for i in list(data["Text"]):
  result.append(" ".join(i))

모든 Text들을 저위에 '아빠 주신 세계 ... ' 으로 바꾸었다.

 

 

vec = TfidfVectorizer()
X = vec.fit_transform(result)
df = pd.DataFrame(X.toarray(), columns=vec.get_feature_names())
kmeans = KMeans(n_clusters=3).fit(df)

클러스터를 3으로 두고 3가지로 분류하게 학습시켜보았다.

 

kmeans.labels_

을 출력하면 kmeans로 나누어진 0,1,2라벨 리스트가 생긴다.

 

 

data['label']=kmeans.labels_

데이터프레임에 라벨이라는 컬럼을 하나만들고 그것을 kmeans.labels_로 한다.

 

이제 어떤기준으로 나누었는지 시각화를 해서 알아보면 될 것이다.

 

'머신러닝' 카테고리의 다른 글

자연어처리 - 도서Text를 활용해보기  (0) 2019.09.17