Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 聚集地图上每个簇具有相等点数的位置_Python_Python 3.x_K Means - Fatal编程技术网

Python 聚集地图上每个簇具有相等点数的位置

Python 聚集地图上每个簇具有相等点数的位置,python,python-3.x,k-means,Python,Python 3.x,K Means,我在地图上有特定的点,我需要将它们分组到具有相同大小的不同簇,最后一个簇可以是count%n。我读了这些答案,但没有帮助。我尝试过不同的方法,但没有一种有效。在这段代码中,我指定了n_clusters=4,因为这是一个集群的最佳数量,我可以对它们进行排序,并从排序点中获取n最佳点,然后我将遍历所有点。例如,我需要图中所示的32点成为4簇,每个簇都有8点 dfcluster=DataFrame(位置,列=['x','y']) kmeans=kmeans(n_集群=4).fit(dfcluster

我在地图上有特定的点,我需要将它们分组到具有相同大小的不同簇,最后一个簇可以是
count%n
。我读了这些答案,但没有帮助。我尝试过不同的方法,但没有一种有效。在这段代码中,我指定了
n_clusters=4
,因为这是一个集群的最佳数量,我可以对它们进行排序,并从排序点中获取
n
最佳点,然后我将遍历所有点。例如,我需要图中所示的
32
点成为
4
簇,每个簇都有
8

dfcluster=DataFrame(位置,列=['x','y'])
kmeans=kmeans(n_集群=4).fit(dfcluster)
质心=kmeans.cluster\u中心_
#plt.scatter(dfcluster['x'],dfcluster['y'],c=kmeans.labels_u2;astype(float),s=50,alpha=0.5)
#plt.散射(质心[:,0],质心[:,1],c='red',s=50)
#plt.show()
dfcluster['cluster']=kmeans.labels_
dfcluster=dfcluster.drop_重复项(['x','y'],keep='last')
dfcluster=dfcluster.sort_值(['cluster','x','y'],升序=True)
#d=pd.DataFrame()
#m=pd.DataFrame()
#n=8
#对于范围(4)内的x:
#m=dfcluster[dfcluster.cluster==x]
#
#
#如果len(m)>int(n/2)-1:
#m=m.水头(整数(n/2)-1)
##对于idx,m.iterrows()中的行:
##打印(“代码3组”,“=”,第[‘簇’]行)
#d=d.append(m,忽略索引=True)
#
#其他:
#d=d.append(m,忽略索引=True)
#
#
#如果len(d)>=n:
#dfcluster=d
#dfcluster.groupby('cluster').nth(n))
dfcluster=dfcluster.head(n)
i=0
如果(len(dfcluster)
群集本身将确定每个群集需要多少数据点

如果要根据接近程度将数据分成4个同样大的组,则应确定距离最远的4个点,然后迭代地向这些数据点添加最近的邻居,以防这些数据点不在群集中。
不过,我并不认为这看起来很漂亮。

集群本身将决定每个集群需要多少数据点

如果要根据接近程度将数据分成4个同样大的组,则应确定距离最远的4个点,然后迭代地向这些数据点添加最近的邻居,以防这些数据点不在群集中。
不过,我不希望它看起来很漂亮。

我发现这个模块使用了,它提供了相同大小的组

我从
pip-install-size-constrated集群
pip-install-git开始+https://github.com/jingw2/size_constrained_clustering.git
您可以使用
最小最大流量
启发式

n_samples = 2000
n_clusters = 3
X = np.random.rand(n_samples, 2)

model = equal.SameSizeKMeansMinCostFlow(n_clusters)

#model = equal.SameSizeKMeansHeuristics(n_clusters)
model.fit(X)
centers = model.cluster_centers_
labels = model.labels_

我发现这个模块使用了相同大小的组

我从
pip-install-size-constrated集群
pip-install-git开始+https://github.com/jingw2/size_constrained_clustering.git
您可以使用
最小最大流量
启发式

n_samples = 2000
n_clusters = 3
X = np.random.rand(n_samples, 2)

model = equal.SameSizeKMeansMinCostFlow(n_clusters)

#model = equal.SameSizeKMeansHeuristics(n_clusters)
model.fit(X)
centers = model.cluster_centers_
labels = model.labels_

len(dfcluster)这个参数
n_clusters=4
如何控制您正在谈论的方面,我不确定您是否可以通过集群来决定这些细节(在这么多的组中有这么多事情)。我认为这一想法的一部分是,机器负责决定配置是否合理,如果不合理,它将不会这样做,只要您的数据足够,并且适用于您正在尝试的操作。寻求第二种意见你能提供一个输入示例和预期输出是什么,或者一个可以理解你想要实现什么的示例吗?你的聚类标准是什么?这里您使用的是KMeans,但我们不知道您的点有哪些特性。您还监视4个群集。。。那么应该是4个集群吗?@dzang谢谢你的回复,地图上的点会改变,我需要确保这些点可以集群。我指定了
n_clusters=4
,因为这是一个集群的最佳数量,我可以对它们进行排序,并从排序后的点中获取
n
最佳点。选择最佳点是什么意思?我想向你们指出,你们并没有得到答案,因为你们的问题没有得到明确的表述。如果您给出一个带有一些测试数据的示例,以及您希望从中得到什么,这将有助于理解您想要实现什么。如果要根据位置在空间上划分点,那么“相同大小的簇”是什么意思?相同数量的点或相同的空间延伸?我建议你花点时间重新阐述这个问题,这比赏金更能帮助你。len(dfcluster)这个参数如何控制你所谈论的方面,我不确定你是否可以用聚类来决定这些细节(在这么多的组中有这么多事情)。我认为这一想法的一部分是,机器负责决定配置是否合理,如果不合理,它将不会这样做,只要您的数据足够,并且适用于您正在尝试的操作。寻求第二种意见你能提供一个输入示例和预期输出是什么,或者一个可以理解你想要实现什么的示例吗?你的聚类标准是什么?这里您使用的是KMeans,但我们不知道您的点有哪些特性。您还监视4个群集。。。那么应该是4个集群吗?@dzang谢谢你的回复,地图上的点会改变,我需要确保这些点可以集群。我指定了
n_clusters=4
,因为这是一个集群的最佳数量,我可以对它们进行排序,并从排序后的点中获取
n
最佳点。选择最佳点是什么意思?我会