Как кластеризовать текст с помощью пикластеринга - PullRequest
1 голос
/ 03 апреля 2019

Я бы хотел сгруппировать текст из 20 групп новостей с библиотекой pycluster: https://codedocs.xyz/annoviko/pyclustering/classpyclustering_1_1cluster_1_1cure_1_1cure.html#details, например, с CURE.Насколько я видел, он нуждается в следующем вводе: [[0.1, 0.5], [0.3, 0.1], ...].Могу ли я добиться этого каким-либо образом с помощью scikit TfidfVectorizer или чего-то еще?Требуются ли значения в круглой скобке векторизатора (например, (3386, 15161)) Мой код до сих пор:

Пока я пробовал с ним векторизатор, но он не работал.

categories = [
     'alt.atheism',
     'talk.religion.misc',
     'comp.graphics',
     'sci.space',
 ]

print("Loading 20 newsgroups dataset for categories:")
print(categories)

dataset = fetch_20newsgroups(subset='all', categories=categories,
                             shuffle=True, random_state=42)

vectorizer = TfidfVectorizer(max_df=0.5,min_df=2, stop_words='english')
X = vectorizer.fit_transform(dataset.data)
print(X)
X = X.toarray()
# Allocate three clusters.
cure_instance = cure(X, 100);
cure_instance.process();
clusters = cure_instance.get_clusters();
# Visualize allocated clusters.
visualizer = cluster_visualizer();
visualizer.append_clusters(clusters, X);
visualizer.show();

Я просто хотел бы сгруппировать текст, как в sklearn Birch.На данный момент его просто убивают.

...