使用k-均值后,我有3个聚类。我在这个数据集的k均值中使用了10个特征(标记(。
我知道我们不能画10D图,但我如何才能将这些集群可视化
我应该用2个或3个特征来分隔数据,而不是用10个?在我的情况下应该使用什么轴?
对于绘图,我在客户端使用js和highcharts.js。
代码示例(仅适用于stackoverflow要求(,但我对每个点都有10个坐标
const kmeans = require('ml-kmeans');
let data = [[1, 1, 1, 1, 1], [1, 2, 1, 1, 1], [-1, -1, -1, 1, 1], [-1, -1, -1.5, 1, 1]];
let centers = [[1, 2, 1, 1, 1], [-1, -1, -1, 1, 1]];
let ans = kmeans(data, 2, { initialization: centers });
console.log(ans);
/*KMeansResult*/
{
clusters: [ 0, 0, 1, 1, 1 ]
centroids:
[ { centroid: [ 1, 1.5, 1, 1, 1 ], error: 0.25, size: 2 },
{ centroid: [ -1, -1, -1.25, 1, 1 ], error: 0.0625, size: 2 } ],
converged: true, iterations: 1
}
*/*
使用您喜欢的通用可视化方法。群集没有非常特殊的要求。
例如
- 散点图矩阵
- PCA降维
- tSNE嵌入
- MDS
- UMAP
- 方框图
- 小提琴情节