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 |
---|