zoukankan      html  css  js  c++  java
  • 第五周学习

    本周学习了机器学习kmeans算法,对科技成果项目进行聚类分析,将分类后的结果与行业进行比照。

    K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽可能紧密的连在一起,而让簇间的距离尽量的大。

    K-Means算法优缺点

    优点

    • 聚类效果较优。
    • 原理简单,实现容易,收敛速度快。
    • 需要调整的参数较少,通常只需要调整簇数K。

    缺点

    • K值选取不好把握。
    • 对噪音和异常点比较敏感。
    • 采用迭代方法,得到的结果是局部最优。
    • 如果各隐含类别的数据不平衡,则聚类效果不佳。
    import matplotlib.pyplot as plt
    from sklearn.datasets import make_blobs  # 导入产生模拟数据的方法
    from sklearn.cluster import KMeans
    
    # 1. 产生模拟数据
    k = 5
    X, Y = make_blobs(n_samples=1000, n_features=2, centers=k, random_state=1)
    
    # 2. 模型构建
    km = KMeans(n_clusters=k, init='k-means++', max_iter=30)
    km.fit(X)
    
    # 获取簇心
    centroids = km.cluster_centers_
    # 获取归集后的样本所属簇对应值
    y_kmean = km.predict(X)
    
    # 呈现未归集前的数据
    plt.scatter(X[:, 0], X[:, 1], s=50)
    plt.yticks(())
    plt.show()
    
    plt.scatter(X[:, 0], X[:, 1], c=y_kmean, s=50, cmap='viridis')
    plt.scatter(centroids[:, 0], centroids[:, 1], c='black', s=100, alpha=0.5)
    plt.show()

  • 相关阅读:
    MyEclipse无法破解的某种解决方法
    SDK Manager无法打开,闪退问题
    虚拟机不能ping通宿主机问题的解决
    Ubuntu下文件编码转换
    二、vertica安装实践
    搭建Samba服务器
    vmtools安装
    一、vertica 安装注意事项
    MFC如何配置使用Win7风格的控件而不是XP风格控件
    VS静态编译
  • 原文地址:https://www.cnblogs.com/sonofdemon/p/12529804.html
Copyright © 2011-2022 走看看