我使用集群实现,我希望数据X形成我在算法中定义的集群数量(我相信这就是它的工作方式)。但这种行为令人困惑。
cm = FCM(n_clusters=6)
cm.fit(X)
此代码生成一个带有4个标签的图- 0,2,4,6
cm = FCM(n_clusters=4)
cm.fit(X)
此代码生成一个带有4个标签的图- 0,1,2,3
当我初始化簇号时,我期望标签0,1,2,3,4,5为6。
代码:
from fcmeans import FCM
from matplotlib import pyplot as plt
from seaborn import scatterplot as s
我想知道其他人对K-means聚类排序做了什么。我正在制作热图(主要是数据),并使用自定义热图函数(基于R的内置热图函数)获得漂亮的图形。然而,我想要两个改进。第一种是根据递减的平均值对我的集群进行排序。例如,以下代码:
fit = kmeans(data, 8, iter.max=50, nstart=10)
d = data.frame(data, symbol)
d = data.frame(d, fit$cluster)
d = d[order(d$fit.cluster),]
给我一个在集群列上排序的data.frame。什么是对行进行排序的最佳方法,以便8个集群按其各自的均值排序?
我有一个基因表达数据集,并想显示一个热图的,一些的基因。首先,我想对所有的基因进行分层聚类,然后创建一个树状图,然后在这些基因的子集上创建一个热图。显式地说,heatmap将具有与已经创建的树状图相同的列,但显示的行较少。我试着使用下面的代码,但是它似乎是基于缩减矩阵对集群进行重新排序。
# Random data
full_mat <- matrix(rgamma(1000, shape = 1) * 5, ncol = 50)
reduced_mat <- full_mat[1:5,]
# Function to calculate distances on full-ma