我使用ELKI对我的数据进行集群,我每次运行java代码时都使用了KMeansLloyd<NumberVector> with k=3,我得到了完全不同的集群结果,这是正常的还是我应该做些什么来使输出接近稳定呢?这里是我从elki教程中得到的代码
DatabaseConnection dbc = new ArrayAdapterDatabaseConnection(a);
// Create a database (which may contain multiple relations!)
Database db = new StaticArrayDatabase
%% clear/load
clc; clear all; close all; % removes variables, clears console
%% const, values do not change
fdim = 2; % data dimension
iter = 5; % number of em algorithm iterations
ncl = 3; % number of clusters
stype = 'full';
% covariance matrix type < spherical, diagonal, full >
%%
我正在尝试用选定的初始质心进行k-means聚类。它写着来指定你的初始中心:
init : {‘k-means++’, ‘random’ or an ndarray}
如果传递了ndarray,它的形状应该是(n_clusters,n_features),并给出初始中心。
我的Python代码:
X = np.array([[-19.07480000, -8.536],
[22.010800000,-10.9737],
[12.659700000,19.2601]], np.float64)
km = KMeans(n_cluster
希望你有愉快的一天。我在我的数据库上有用户,在这个数据库中,用户具有与其他用户相似的功能。例如: user1 has a,b,c,d,g feature
user2 has a,b,c,e feature
user3 has b,c,f feature
user4 has c feature
... 我想写一个算法,将用户分成4个组,并且组内的用户应该是最优化的,具有类似的功能,如何使用kmeans来实现这一点?或者我需要使用另一种算法,有什么想法吗?
我正在尝试实现一个跨3个维度的K-means聚类算法。现在的要求是,我想要在任何特定维度上灵活地定义我自己的距离度量。例如,在维度1上,我想定义一个简单的欧几里德距离度量,在维度2上,我想定义自己的自定义距离度量,依此类推。
有没有可用于K-means集群的JAVA实现,让我可以覆盖我选择的任何维度的距离度量?
谢谢Abhishek S