首页 > 编程语言 >240719 聚类算法的评价

240719 聚类算法的评价

时间:2024-09-01 10:53:09浏览次数:12  
标签:plt min max 算法 score 240719 聚类 import data


结果。 评价kmean在集群的最佳数量, 我们迭代一系列的值, 找出其中的峰值的 性能

240719 聚类算法的评价_算法

度量聚类算法的一个好方法是观察集群被分离的离散程度

# -*- coding: utf-8 -*-
 import numpy as np
 import matplotlib.pyplot as plt
 from sklearn import metrics
 from sklearn.cluster import KMeansimport utilities
# 加载数据
 data = utilities.load_data('data_perf.txt')scores = []
 range_values = np.arange(2, 10)for i in range_values:
     # 训练模型
     kmeans = KMeans(init='k-means++', n_clusters=i, n_init=10)
     kmeans.fit(data)
     score = metrics.silhouette_score(data, kmeans.labels_, 
                 metric='euclidean', sample_size=len(data))    print "\nNumber of clusters =", i
     print "Silhouette score =", score
                     
     scores.append(score)# 画出结果
 plt.figure()
 plt.bar(range_values, scores, width=0.6, color='k', align='center')
 plt.title('Silhouette score vs number of clusters')# 画出柱状图
 plt.figure()
 plt.scatter(data[:,0], data[:,1], color='k', s=30, marker='o', facecolors='none')
 x_min, x_max = min(data[:, 0]) - 1, max(data[:, 0]) + 1
 y_min, y_max = min(data[:, 1]) - 1, max(data[:, 1]) + 1
 plt.title('Input data')
 plt.xlim(x_min, x_max)
 plt.ylim(y_min, y_max)
 plt.xticks(())
 plt.yticks(())plt.show()

标签:plt,min,max,算法,score,240719,聚类,import,data
From: https://blog.51cto.com/u_15862653/11888529

相关文章

  • 240717 聚类 kmean
    结果:无监督学习是一种对不含标记的数据建立模型的机器学习范式。 ~~k-means算法是最流行的聚类算法之一。这个算法常常利用数据的不同属性将输入数据划分为k组。分组是使用最优化的技术实现的,即让各组内的数据点与该组中心点的距离平方和最小化。代码#-*-coding:utf-8-......
  • BEVFormer开源算法逐行解析(二):Decoder和Det部分
    写在前面:对于BEVFormer算法框架的整体理解,大家可以找到大量的资料参考,但是对于算法代码的解读缺乏详实的资料。因此,本系列的目的是结合代码实现细节、在tensor维度的变换中帮助读者对算法能有更直观的认识。本系列我们将对BEVFormer公版代码(开源算法)进行逐行解析,以结合代码理解......
  • 手把手教你利用算法工具链训练、量化、编译、可视化征程 6 参考算法 BEVFormer
    ​作者:杨一飞写在前面:关于OE包内参考算法的使用,地平线已经释放了大量文档指导用户完成各类模型的训练、校准、量化、定点过程,但其中有些细节可能会对不是特别熟悉算法工具链的客户造成困扰,本文档致力于消除参考算法使用过程中所有可能存在的模糊操作,引导初学者快速上手参考算......
  • BEVFormer开源算法逐行解析(一):Encoder部分
    写在前面:对于BEVFormer算法框架的整体理解,大家可以找到大量的资料参考,但是对于算法代码的解读缺乏详实的资料。因此,本系列的目的是结合代码实现细节、在tensor维度的变换中帮助读者对算法能有更直观的认识。本系列我们将对BEVFormer公版代码(开源算法)进行逐行解析,以结合代码理解......
  • 基于Python的机器学习系列(19):K均值聚类(K-Means Clustering)
    简介        K均值聚类(K-MeansClustering)是一种常用的无监督学习算法,用于将数据样本划分为若干个“簇”,使得同一簇内的数据点彼此相似,而不同簇的数据点之间差异较大。由于K均值不依赖于标签,因此它是一种无监督学习方法。常见的应用包括客户细分、图像分割和数据可视......
  • 【机器学习】聚类算法的基本概念和实例代码以及局部度量学习的概念和实例代码
    引言聚类算法在许多领域都有广泛的应用,例如数据挖掘、生物信息学、图像处理等。文章目录引言一、聚类算法1.1K-Means算法1.2DBSCAN算法1.3层次聚类(HierarchicalClustering)算法1.4高斯混合模型(GaussianMixtureModel,GMM)1.5谱聚类(SpectralClustering)算法1.6基......
  • 算法设计与分析:实验六 图论——最大流应用问题
    实验内容:1996年9月10日,《旧金山纪事报》的体育版上登载了《巨人队正式告别NL西区比赛》一文,宣布了旧金山巨人队输掉比赛的消息。当时,圣地亚哥教士队凭借80场胜利暂列西区比赛第一,旧金山巨人队只赢得了59场比赛,要想追上圣地亚哥教士队,至少还得再赢21场比赛才行。......
  • 算法设计与分析:实验四 动态规划—鸡蛋掉落问题
    实验内容:动态规划将问题划分为更小的子问题,通过子问题的最优解来重构原问题的最优解。动态规划中的子问题的最优解存储在一些数据结构中,这样我们就不必在再次需要时重新处理它们。任何重复调用相同输入的递归解决方案,我们都可以使用动态规划对其进行优化。鸡蛋掉落问题是理解......
  • 算法学习每日一题数位不同的组合
    Problem:3153.所有数对中数位不同之和思路本题关键在于如何处理数位不同的个数,其实就是组合问题,两个不同数字的不同数位只能算一对,所以我们不妨把后方元素与前方元素数位不同算作一对,保持单调性避免重复计数。那么后方元素不同的数位应该如何统计呢,我们不妨使用哈希......
  • 【数模资料包】最新数模国赛word+latex模版|数模常用的算法python+matlab代码
     【2024最全国赛研赛数模资料包】C君珍贵国一数模资料|最新数模国赛word+latex模版|数模常用的算法python+matlab代码国赛指:高教社杯全国大学生数学建模竞赛,研赛指:华为杯研究生数学建模竞赛。资料内容具体看文末卡片以下是三个相关的资料内容:1C君珍贵国一数模资料2最......