我正在尝试使用sklearn将一些推文作为字典进行聚类 我有25个初始质心ID(推特ID) 我是用自己的函数编写的,但是我不知道如何用sklearn来实现
# {845512:'tweet id 845512', 543115:'tweet id 543115', ...}
# initial_centroids = [845512, 546318, 84632, ...] - 25 centroids
NOTE: tweets_vec <= I need to make it by jaccard_distance
tweets_vec = Is the jaccard distance matrix (it may be wrong, i dont know)
kmeans = KMeans(n_clusters=25, init=initial_seeds).fit(tweets_vec)
我制作了一个二维矩阵,其中有jaccard距离。我不知道如何在kmeans方法中修复init。它不是ndarray的错误
我应该传递给什么?
答案 0 :(得分:0)
如果在kmeans中通过init=initial_centroids
,则initial_centroids
必须具有形状clusters x features
。如果仅使用一项功能,则可能需要重塑数组的形状,请尝试:
init_cent_array = np.asarray(initial_centroids).reshape(-1,len(initial_centroids))
并将其作为kmeans中的init
自变量传递。希望这会有所帮助。