더북(TheBook)
feature_array = feature_vector.toarray()
labels = np.unique(prediction) ————
df_cluster_score = []
df_cluster = []
for label in labels:
    id_temp = np.where(prediction==label) ————
    x_means = np.mean(feature_array[id_temp], axis = 0) ————
    sorted_means = np.argsort(x_means)[::-1][:n_clusters] ————
    features = vectorizer.get_feature_names_out()
    best_features = [(features[i], x_means[i]) for i in sorted_means] 
    # 클러스터별 전체 스코어를 구한다.
    df_score = pd.DataFrame(best_features, columns = ['features', 'score'])
    df_cluster_score.append(df_score)
    # 클러스터 대표 키워드
    df_cluster.append(best_features[0])

점수가 클수록 예측 정확도가 높다. MiniBatchKMeans로 예측한 값을 기준으로 정렬해 각 클러스터에서 점수가 높은 단어를 추출한다.

pd.DataFrame(df_cluster, columns = ['features', 'score']).sort_values(by=["features", "score"], ascending=False)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.