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()

  • 相关阅读:
    虚拟主机支持apk
    pc显示,手机隐藏
    manjaro个人配置
    docker-compose部署elk
    docker-compose部署zk和kafka
    docker-compose部署redis-cluster
    ActiveMQ与RocketMQ对比
    dropbox离线安装包--需FQ
    C++实现中缀表达式转前、后缀
    运算符优先级
  • 原文地址:https://www.cnblogs.com/sonofdemon/p/12529804.html
Copyright © 2011-2022 走看看