标签: k-means

获取每个簇内的观测值

在 R 中执行 k 均值后是否可以获得每个簇内的实际观测值?

例如,在我的分析之后,我有 2 个聚类,我想在每个聚类中找到精确的观察结果,这可能吗?

r cluster-analysis k-means

0
推荐指数
1
解决办法
1686
查看次数

如何获得用于二值化图像的k-means算法的阈值?

我应用 k 均值算法来分割图像。我使用内置的 k-means 函数。它工作正常,但我想知道在 k-means 方法中将其转换为二进制图像的阈值。例如,我们可以使用MATLAB中的内置函数来获取阈值:

threshold=graythresh(grayscaledImage);
a=im2bw(a,threshold);
%Applying k-means....
imdata=reshape(grayscaledImage,[],1);
imdata=double(imdata);
[imdx mn]=kmeans(imdata,2);
imIdx=reshape(imdx,size(grayscaledImage));
imshow(imIdx,[]);
Run Code Online (Sandbox Code Playgroud)

matlab k-means

0
推荐指数
1
解决办法
5179
查看次数

Python、Scikit-learn、K-means:参数 n_init 实际上有什么作用?

我是 Python 初学者。现在,我试图了解sklearn.cluster.KMeans中的参数n_init是什么

从文档中:

n_init:整数,默认值:10

k-means 算法使用不同质心种子运行的次数。最终结果将是n_init连续运行中惯性方面的最佳输出。

起初,我认为这意味着代码运行的次数,直到我发现这个有用的问题,然后我意识到这就是max_iter所做的。

参数n_init到底有什么作用?我真的不明白。

python cluster-analysis machine-learning k-means scikit-learn

0
推荐指数
1
解决办法
1万
查看次数

Kmeans Euclidean Distance to Each Centroid Avoid Splitting Features From Rest of DF

I have a df:

    id      Type1   Type2   Type3   
0   10000   0.0     0.00    0.00    
1   10001   0.0     63.72   0.00    
2   10002   473.6   174.00  31.60   
3   10003   0.0     996.00  160.92  
4   10004   0.0     524.91  0.00
Run Code Online (Sandbox Code Playgroud)

I apply k-means to this df and add the resulting cluster to the df:

kmeans = cluster.KMeans(n_clusters=5, random_state=0).fit(df.drop('id', axis=1))
df['cluster'] = kmeans.labels_
Run Code Online (Sandbox Code Playgroud)

Now I'm attempting to add columns to the df for the Euclidean distance between each point (i.e. row in the df) and each centroid:

def …
Run Code Online (Sandbox Code Playgroud)

python k-means python-3.x pandas scikit-learn

0
推荐指数
1
解决办法
2818
查看次数

如何解决指定 k 聚类值时的“AttributeError: 'NoneType' object has no attribute 'split'”?

我试图找到 k 聚类的最佳值,但它显示错误

k_range = range(1,10)
sse = []
max_iter = 300
init = 'k-means++'
n_init = 10
for k in k_range:
    km = KMeans(n_clusters=k, max_iter =  max_iter, init = init, n_init = n_init)
    km.fit(df[['Age','Income($)']])
    sse.append(km.inertia_)
Run Code Online (Sandbox Code Playgroud)

python k-means

0
推荐指数
1
解决办法
5045
查看次数

K-Means 聚类性能基准测试

我有 157 维的数据,有 688 个数据点。我想用数据进行聚类。

由于 K-Means 是最简单的算法,因此我决定从这种方法开始。

这是 Sklearn 函数调用:

KMeans(init='k-means++', n_clusters=4, n_init=10), name="k-means++", data=sales)

以下是一些输出指标:

init                  time    inertia   homo   compl  v-meas     ARI     AMI  num_clusters
k-means++             0.06s    38967   0.262   0.816   0.397   0.297   0.250      4
k-means++             0.05s    29825   0.321   0.847   0.466   0.338   0.306      6
k-means++             0.07s    23131   0.411   0.836   0.551   0.430   0.393      8
k-means++             0.09s    20566   0.636   0.817   0.715   0.788   0.621     10
k-means++             0.09s    18695   0.534   0.794   0.638   0.568   0.513     12
k-means++             0.11s    16805   0.773   0.852   0.810   0.916   0.760     14 …
Run Code Online (Sandbox Code Playgroud)

cluster-analysis k-means unsupervised-learning scikit-learn

-1
推荐指数
1
解决办法
1962
查看次数

在python中使用k均值聚类提取质心?

我在形状为[1000,]的一维数组中有一些数据,其中包含1000个元素。我对该数据应用了k均值聚类,聚类数为10。应用k均值后,我为每个聚类得到了形状为[1000]的聚类标签(id),形状为[10]的质心。标签将0到9之间的值分配给1000个元素中的每个元素。但是,我希望每个元素都显示其质心,而不是其簇ID。我该如何实现?

from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=10)
kmeans.fit(data)   #data is of shape [1000,]
#learn the labels and the means
labels = kmeans.predict(data)  #labels of shape [1000,] with values 0<= i <= 9
centroids  = kmeans.cluster_centers_  #means of shape [10,] 
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想要[1000,]数组中每个元素的质心,而不是其簇ID。

python arrays cluster-analysis k-means scikit-learn

-1
推荐指数
1
解决办法
1450
查看次数

如何可视化二进制数据?

我有一个6x1000的二进制数据数据集(6个数据点,1000个布尔维度).

我对它进行聚类分析

[idx, ctrs] = kmeans(x, 3, 'distance', 'hamming');
Run Code Online (Sandbox Code Playgroud)

我得到了三个集群.我如何可视化我的结果?

我有6行数据,每行有1000个属性; 其中3个在某种程度上应该相似或类似.应用聚类将显示聚类.由于我知道集群的数量,我只需要找到类似的行.汉明距离告诉我们行之间的相似性,结果是正确的,有3个集群.

[编辑:对于任何合理的数据,kmeans将总是找到所询问的簇数]

我想把这些知识带到易于观察和理解,而不必写出大量的解释.

Matlab的例子不合适,因为它涉及数字2D数据,而我的问题涉及n维分类数据.

数据集在这里http://pastebin.com/cEWJfrAR

[编辑1:如何检查集群是否重要?]

欲了解更多信息,请访问以下链接:http: //chat.stackoverflow.com/rooms/32090/discussion-between-oleg-komarov-and-justcurious

如果问题不明确,请询问您遗失的任何事情.

binary matlab cluster-analysis machine-learning k-means

-3
推荐指数
2
解决办法
2512
查看次数