当前位置: 首页 > news >正文

机器学习:聚类算法

一、聚类算法介绍

一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。

在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。

聚类算法常用于用户画像,广告推荐,Data Segmentation,搜索引擎的流量推荐,恶意流量识别等方面。
在这里插入图片描述
二、分类

(一)根据聚类颗粒度分类
在这里插入图片描述

(二)根据实现方法分类

在这里插入图片描述
三、案例

1.创建数据集

import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import calinski_harabaz_score# 创建数据集
# X为样本特征,Y为样本簇类别, 共1000个样本,每个样本2个特征,共4个簇,
# 簇中心在[-1,-1], [0,0],[1,1], [2,2], 簇方差分别为[0.4, 0.2, 0.2, 0.2]
#make_blobs 用于生成多类别的聚类数据集,通过指定总样本数(n_samples)、中心点(centers)、标准差(cluster_std)等等参数,创建具有明确分组结构的样本。
X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1, -1], [0, 0], [1, 1], [2, 2]],cluster_std=[0.4, 0.2, 0.2, 0.2],  #n_feature: 每个样本的特征数(2代表二维数据)random_state=9)# 数据集可视化
plt.scatter(X[:, 0], X[:, 1], marker='o')
plt.show()

2.使用k-means进行聚类,并使用CH方法评估

y_pred = KMeans(n_clusters=2, random_state=9).fit_predict(X)
# 分别尝试n_cluses=2\3\4,然后查看聚类效果
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.show()# 用Calinski-Harabasz Index评估的聚类分数
print(calinski_harabasz_score(X, y_pred))

相关文章:

  • MySQL索引(index)
  • Playwright 测试框架 - Python
  • 机器学习之深入理解机器学习常见算法:原理、公式与应用
  • Spring 中注入 Bean 有几种方式?
  • vue封装gsap自定义动画指令
  • 第三篇:MCP协议深度实践——从理论到生产级AI智能体系统
  • QRSuperResolutionNet:一种结构感知与识别增强的二维码图像超分辨率网络(附代码解析)
  • Markdown基础(1.2w字)
  • 实时通信RTC与传统直播的异同
  • 《波段操盘实战技法》速读笔记
  • 【QT】-信号传输数组跨线程段错误处理
  • VSCode主题设计大赛解析与实践指南
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·树形DP
  • CSS 选择器全解析:分组选择器/嵌套选择器,从基础到高级
  • 【免费】酒店布草洗涤厂自动统计管理系统(1)——智能编程——仙盟创梦IDE
  • .NET 原生驾驭 AI 新基建实战系列(四):Qdrant ── 实时高效的向量搜索利器
  • 数据预处理的几种形式(转载)
  • 如何借助Hyper - V在Windows 10中构建安全软件测试环境
  • 高速PCB设计中圆弧布线是否必要
  • 还原Windows防火墙
  • 企业vi设计的作用与意义/seo还有前景吗
  • 文案转行做网站编辑/推广关键词
  • 网站备案要求/软文写作平台
  • 国土资源部网站2014年02月28日全国党风廉政建设视频会/seo交流
  • 如何做一个免费的网站/热门搜索
  • 哪里发布网站开发需求/登录百度app