实现 k-Means 聚类算法——偷懒版

实现 k-Means 聚类算法

https://www.nowcoder.com/practice/dc90d7c8b7bd44ac8b5029f830cd2e65

基于sklearn的简单实现。

import numpy as np
from sklearn.cluster import k_means


def k_means_clustering(points, k, initial_centroids, max_iterations):
    # 实现代码
    initial_centroids = np.array(initial_centroids)
    centroid, labels, inertia = k_means(points, k, init=initial_centroids, max_iter=max_iterations)
    # print(centroid, labels, inertia)
    ans = []
    for p in centroid:
        # print(p)
        p = p.round(4)
        ans.append(tuple(p))
    return ans

def main():
    # Read input for points
    points = eval(input())

    # Read input for number of clusters
    k = int(input())

    # Read input for initial centroids
    initial_centroids = eval(input())

    # Read input for maximum iterations
    max_iterations = int(input())

    # Perform k-Means clustering
    final_centroids = k_means_clustering(points, k, initial_centroids, max_iterations)

    # Print the final centroids
    print(final_centroids)

if __name__ == "__main__":
    main()

全部评论

相关推荐

2025-12-21 21:22
安徽农业大学 运营
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务