C++ 手动设置 K-Means 聚类初始点示例代码
#include
// 计算两个点之间的欧氏距离
double euclideanDistance(const std::vector
// 手动设置 k-means 聚类的起始点
std::vector<std::vector
int main() {
// 数据集
std::vector<std::vector
// 设置聚类数和初始聚类中心
int k = 2;
std::vector<std::vector<double>> centroids = setInitialCentroids(data, k);
// 打印初始聚类中心
std::cout << 'Initial centroids:' << std::endl;
for (const auto& centroid : centroids) {
for (const auto& coordinate : centroid) {
std::cout << coordinate << ' ';
}
std::cout << std::endl;
}
return 0;
}
这个示例代码演示了如何手动设置 k-means 聚类的起始点。在setInitialCentroids函数中,我们选择了数据集中的前 k 个点作为初始聚类中心。然后,在main函数中,我们设置了聚类数 k 为 2,并调用setInitialCentroids函数来获取初始聚类中心。最后,我们打印出初始聚类中心的坐标。
请注意,这只是一个示例代码,实际应用中还需要添加 k-means 聚类算法的其他部分,例如计算每个点与聚类中心的距离、更新聚类中心等。
原文地址: http://www.cveoy.top/t/topic/fCBp 著作权归作者所有。请勿转载和采集!