是否有一种方法可以限制kmeans在集群中放置的点数?我在Python的sklearn包中使用kmeans,并且不希望kmeans在集群中放置它想要的尽可能多的点。我有一个最大容量,并且我不希望每个群集中的点数超过该群集的容量。我知道有一个关于容量有限的kmeans的主题,但是我想知道是否可以使用sklearn包,或者我必须编写自己的kmeans函数,以便我也可以考虑容量?以下是我最初的kmeans代码,但我想看看如何使群集的点数小于或等于[5,5,6,8]。
numT = 50
from sklearn.cluster import KMeans
import random
import numpy as np
coor = np.zeros((numT,2),dtype='f') # coordinates
for i in range(numT):
coor[i,:] = round(random.uniform(-500,500),1)
kmeans = KMeans(n_clusters=4, random_state=0).fit(coor)