2016-12-13 8 views
0

Здравствуйте, я использую Kmeans для создания классификатора тем, я хочу, чтобы несколько комментариев Facebook от разных пользователей имели несколько документов.Как дать смысл кластерам Kmean?

Мой список документов выглядит следующим образом:

list=["comment1","comment2",...,"commentN"] 

Тогда я использовал tfidf векторизовать каждый комментарий и назначить его к определенному кластеру, выход моей программы заключается в следующем:

tfidf = tfidf_vectorizer.fit_transform(list) 
tf = tf_vectorizer.fit_transform(list)  
print("size of tf",tf.shape) 
print("size of tfidf",tfidf.shape) 
#Creating clusters from data 
kmeans = KMeans(n_clusters=8, random_state=0).fit(tf) 
print("printing labels",kmeans.labels_)  
#Printing the number of clusters 
print("Number of clusters",set(kmeans.labels_)) 
print("dimensions of matrix labels",(kmeans.labels_).shape) 
#Predicting new labels 
y_pred = kmeans.predict(tf) 
print("dimensions of predict matrix",y_pred.shape) 

Мой вывод выглядит следующим образом:

size of tf (202450, 2000) 
size of tfidf (202450, 2000) 
printing labels [1 1 1 ..., 1 1 1] 
Number of clusters {0, 1, 2, 3, 4, 5, 6, 7} 
dimensions of matrix labels (202450,) 
dimensions of predict matrix (202450,) 
C:\Program Files\Anaconda3\lib\site-packages\sklearn\utils\validation.py:420: DataConversionWarning: Data with input dtype int64 was converted to float64. 
    warnings.warn(msg, DataConversionWarning) 

Теперь т проблема в том, что я хотел бы найти способ дать смысл этим кластерам, я имею в виду, что класс 0 посвящен спорту, класс 1 говорит о политике, поэтому я хотел бы оценить любую рекомендацию, чтобы понять эти кластеры, или, по крайней мере, найти способ получить все суммы, принадлежащие определенному кластеру, чтобы затем интерпретировать этот результат благодаря поддержке.

ответ

1

Есть несколько подходов

Самый простой approache, чтобы получить центр тяжести каждого кластера, это хорошее резюме большинства слов, используемых в кластере.

Второй подход - получить подматрицу tf-idf элемента, назначенного каждому кластеру, , после чего вы можете использовать ACP на подматрице для извлечения факторов и понять больше. Состав каждого кластера.

К сожалению я не использую sckit учиться, так что я не могу помочь вам с помощью кода

Hop, который поможет

+0

спасибо я действительно ценю поддержку, – neo33