ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)

简介: ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)

输出结果

image.png


设计思路

  • 1、使用均匀分布函数随机三个簇,每个簇周围10个数据样本。
  • 2、绘制30个数据样本的分布图像。
  • 3、测试9种不同聚类中心数量下,每种情况的聚类质量,并作图。

image.png


实现代码

import numpy as np

import matplotlib.pyplot as plt

from sklearn.cluster import KMeans

from scipy.spatial.distance import cdist

#1、使用均匀分布函数随机三个簇,每个簇周围10个数据样本。

cluster1 = np.random.uniform(0.5, 1.5, (2, 10))

cluster2 = np.random.uniform(5.5, 6.5, (2, 10))

cluster3 = np.random.uniform(3.0, 4.0, (2, 10))

#2、绘制30个数据样本的分布图像。

X = np.hstack((cluster1, cluster2, cluster3)).T

plt.scatter(X[:,0], X[:, 1])

plt.xlabel('x1')

plt.ylabel('x2')

plt.title('DIY data:30, Random 3 clusters(10 data samples around each cluster)')

plt.show()

#3、测试9种不同聚类中心数量下,每种情况的聚类质量,并作图。

K = range(1, 10)

meandistortions = []

for k in K:

   kmeans = KMeans(n_clusters=k)

   kmeans.fit(X)

   meandistortions.append(sum(np.min(cdist(X, kmeans.cluster_centers_, 'euclidean'), axis=1))/X.shape[0])

 

plt.plot(K, meandistortions, 'bx-')

plt.xlabel('k')

plt.ylabel('Average Dispersion')

plt.title('K-means: Selecting k with the Elbow Method')

plt.show()


相关文章
|
30天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
6天前
|
算法 Serverless
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
14 0
|
7天前
电信公司churn数据客户流失k近邻(knn)模型预测分析
电信公司churn数据客户流失k近邻(knn)模型预测分析
16 0
|
8天前
|
算法
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
16 0
|
12天前
|
机器学习/深度学习 人工智能 达摩院
52个AIGC视频生成算法模型介绍(上)
52个AIGC视频生成算法模型介绍(上)
37 3
|
15天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出"验证成功",否则输出"验证失败"。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
26天前
|
算法
算法沉淀 —— 动态规划篇(斐波那契数列模型)
算法沉淀 —— 动态规划篇(斐波那契数列模型)
21 0
|
29天前
|
XML 机器学习/深度学习 算法
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
30 1
|
14天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
23 0
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!

热门文章

最新文章