如何加速文本聚类算法(KMeans-Python)

2024-09-28 22:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

比如说,我有200份文件,每份200页。我会说,很多话。我想把它们分成不同的组。我创建了一个相当简单的文本聚类算法。它目前的工作原理如下:

  1. 遍历每个文档,创建一个巨大的字符串并将其附加到数组中。因此,最后将有200根巨大的弦

  2. 对每个字符串进行变形,这意味着删除停止词,将每个词进行柠檬化,删除噪音和其他内容

  3. 我目前正在使用此示例来获得结果

     def fit_transform(self, morphed_documents):
         self.matrix = self.vectorizer.fit_transform(morphed_documents)
         return self.matrix
    
     def fit(self, number_of_clusters, matrix):
         model = KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=10, n_clusters=number_of_clusters, n_init=30, random_state=3454, tol=0.0001, verbose=0)
         model.fit(matrix)
         return model
    

这是可行的,需要一些人的分析(我相信K-means并不完美),但主要问题是我目前的方法非常缓慢。基本上,阅读每一本书需要1个多小时

我的问题是,有没有更快更简单的算法可以使用?我可以加快我当前的算法吗?或者我从一开始就在做完全没有意义的事情?基本上,任何帮助都将受到高度赞赏


Tags: of字符串self算法numbermodelreturninit