人工不智能之sklearn聚类

Sklearn 机器学习 数据聚类 肘部法则选择聚类数目 在 Sklearn 中使用肘部法则 (Elbow Method) 选择 KMeans 聚类最佳数目 k 的方法。 阅读详情

640?wx_fmt=jpeg

线性回归是一种有监督算法,提供了输入数据x和参考目标值y,参考目标提供了一种纠错机制,是对预测结果y_的监督,如果y和y_相差过大,说明拟合的模型可能存在问题。线性回归有明确的损失函数,用来衡量参考目标值和预测值的差异,模型的目标就是最小化损失函数的值。

640?wx_fmt=jpeg

聚类是无监督算法,只提供了输入数据x,而没有参考目标y。聚类的目标就是将输入数据进行分类,距离接近的放到一个分类,距离远的就分开。那如何用数学语言来衡量聚类的目标呢?

聚类算法中最简单也是最常见的算法就是Kmeans算法。Kmeans算法将聚类的目标定义为寻找最佳的K个中心点。就好比你要在K个城市开肯德基,你应该选择每个城市中心地点来开设,这样距离人群的平均距离最近。一旦有了K个中心点,那么对于任意输入数据,我们计算它和所有中心点之间的距离,取最近的中心点作为其类别即可。也就是说客户总是要要选择最近的肯地基点去用餐。

640?wx_fmt=jpeg

Kmeans算法必须由人工指定聚类的数量K,然后算法会自动去寻找最佳的K个中心点,并将输入数据点归类。至于如何确定K,真实的数据往往是不能像上图那样肉眼就可以观察出有几个分类。真实的数据往往是多维数据结构,难以使用图形来直接呈现的。

Kmeans算法必须由人工指定初始中心,然后算法使用迭代的方式来移动这K个中心点,最终收敛到最佳中心点位置。这个最佳中心点是和初始点的位置相关的,也就是说初始的选择会影响到最终的中心点的结果。

640?wx_fmt=jpeg

确定初始中心也有相应的算法,不过不在本文的讨论范围。

那K到底该如何确定呢?这个也不在本文的讨论范围,小编后续再讲。这里就假设我们已经知道了K是多少,然后使用Kmeans算法来把输入数据点划分为最佳的K个堆。

接下来,我们使用sklearn提供的KMeans模块来实践一下。KMeans模块默认提供了确定初始中心点的算法,用户可以不必关心中心点初始化的问题,但是用户必须指定K值。

我们先随机构造出K个数据堆,并用图形呈现出来。

  1. 先随机出K个中心点

  2. 对每个中心点周围再随机出N个点

# -*- coding: utf-8 -*-
import random
import matplotlib.pyplot as plt

k = 5
# 先随机出中心点
centerx = []
for i in range(k):
    x = 100 * random.random()
    y = 100 * random.random()
    centerx.append((x, y))

points = []
# 然后在每个中心点的周围随机100个点
for x, y in centerx:
    for i in range(100):
        px = x + random.random() * 20 - 10
        py = y + random.random() * 20 - 10
        points.append((px, py))

plt.scatter([px for px, py in points], [py for px, py in points], marker='.')
plt.scatter([x for x, y in centers], [y for x, y in centers], marker='+')
plt.show()

这个程序并不总是能随机出边界比较清晰的5个数据堆,多试几次,甚至要试很多次。

640?wx_fmt=jpeg

然后我们用KMeans模块来聚类这个数据堆。

# -*- coding: utf-8 -*-
import random
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

k = 5
centers = []
for i in range(k):
    x = 100 * random.random()
    y = 100 * random.random()
    centers.append((x, y))

points = []
for x, y in centers:
    for i in range(100):
        px = x + random.random() * 20 - 10
        py = y + random.random() * 20 - 10
        points.append((px, py))

plt.scatter([px for px, py in points], [py for px, py in points], marker='.')
plt.scatter([x for x, y in centers], [y for x, y in centers], marker='+')

# Kmeans模型只需要设置聚类数量,初始中心点已经有默认算法提供了
model = KMeans(n_clusters=5)
model.fit(points) # 拟合数据点

centers_ = model.cluster_centers_
# 显示聚类中心
plt.scatter([x for x, y in centers_], [y for x, y in centers_], marker='^')

clusters = []
for i in range(k):
    clusters.append([])
# 预测所有网格点的类别,不同类别的网格点放在不同的数组中
grids = [(x, y) for x in range(-10, 110, 5) for y in range(-10, 110, 5)]
for i, n in enumerate(model.predict(grids)):
    clusters[n].append(grids[i])

# 显示所有类别的网格点
for i in range(k):
    plt.scatter([x for x, y in clusters[i]], [y for x, y in clusters[i]], marker='x')
plt.show()
640?wx_fmt=jpeg

我们看到网格之间形成了很明显的分界线。同颜色的网格点属于同一个类别。这些网格点所属的类别就是模型对世界的预测。

因为plt.scatter方法每调用一次都会随机出不同的颜色,所以网格呈现出了鲜明的颜色块。

每个蓝色的数据堆中心有一个绿色的点和一个不明显的橙色的加号分别代表原始随机的中心点和模型聚类出来的中心点,它们非常接近,说明算法计算出的中心点还是比较准确的。

640?wx_fmt=jpeg

阅读相关文章,关注公众号【码洞】

别再手动分类了!用Gensim+Sklearn实现智能文本归档:香水评论聚类案例 本文介绍了如何利用Gensim和Sklearn实现智能文本聚类,自动分类香水评论。通过无监督学习技术,结合中文分词和特征工程,构建高效的文本归档系统,显著提升电商评论分析效率,助力产品改进和营销优化。 阅读详情

相关推荐

构建产品反馈智能系统:从数据采集到主题聚类的完整实践

在数字化产品迭代中,用户反馈是产品决策的核心依据,但多渠道、多格式的反馈数据往往分散在工单、评论、问卷等系统中,难以形成统一的集体智慧。要解决这一痛点,需要理解反馈智能系统的核心原理:通过标准化数据模型、自动化采集链路、文本清洗与近似去重,结合TF-IDF主题聚类和优先级评分,将零散的用户声音转化为可量化的产品洞察。这种基于自然语言处理与数据工程的技术实践,能够显著提升需求分析的效率与准确性,帮助团队优先处理高优问题。该方案广泛适用于客服工单分析、应用商店评论挖掘、用户调研聚合等场景,适合负责产品反馈平台、

weixin_30642869的博客 633

2018.11.25损失函数和K-Means聚类算法

from:https://blog.youkuaiyun.com/jieming2002/article/details/79226192 from:https://blog.youkuaiyun.com/itJed/article/details/77916879 损失函数:用来度量预测值和真实值之间误差大小的函数 K-Means聚类算法:聚类是一种无监督的机器学习任务,它可以自动将数据划分成类cluster。因此聚类...

qq_40258282的博客 3696

OPTICS算法全解析:如何用一张图搞定多密度数据集的聚类难题?

本文深入解析OPTICS算法如何解决多密度数据集的聚类难题,特别适用于城市热力图分析等密度不均场景。相比DBSCAN,OPTICS通过智能排序生成可达距离图,无需预设全局参数,能同时识别高密度和低密度簇结构,为商业选址、交通规划提供精细决策支持。

weixin_30383279的博客 366

人工智能——聚类算法

3.2 层次聚类自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2301_79055239的博客 376

人工生成数据集K均值聚类

K均值聚类是聚类算法中十分经典的算法,本人采用人工生成数据集进行试验,数据集真实分类结果为4,代码首先对真实情况进行可视化。然后进行均值聚类,聚类结果与真实情况接近。结果图片放置在文件中,大家一起学习!!

vmware虚机Debian10磁盘空间无损扩容

该方法不适和LVM的磁盘管理 备份 一定要先做备份,虚机中直接创建一个快照备份 vm上增加空间 初始给的40G空间不够需要扩容,vm那给系统添加到100G 重新分区 查看当前分区情况 sudo fdisk -l

lms99251的博客 7456

人工智能-聚类-笔记

聚类算法原理简介 聚类概念 聚类涉及到数据点的分组,给定一组数据点,我们可以根据聚类算法将每个数据点划分为一个特定的组。同一组中的数据点应该具有相似的属性或特征,不同组中的数据点应该具有高度不同的属性或特征。聚类是一种无监督机器学习的方法(没有标签),或许多领域中常用的统计数据分析技术有时候作为监督学习中稀疏特征的预处理,有时候可以作为异常值检测。 应用场景:新闻聚类、用户购买模型(交叉销售)、...

GeekPlusA的博客 1718

华为交换机链路聚合对接思科交换机链路聚合故障

2台华为交换机采用堆叠方式与思科交换机之间使用链路聚合,华为交换机与cisco交换机链路捆绑接口频繁UP/DOWN,业务中断。

网络工程师日常的博客 2120

AI 人工智能学习之聚类分析及算法(2)

聚类,k-means 算法,DBSCAN聚类算法,聚类评估,轮廓系数

无为 的专栏 1897

DELL SC存储扩容避坑指南:6Gb vs 12Gb扩展柜混插的真相

本文深入解析DELL SC存储扩容中6Gb与12Gb扩展柜混插的核心规则与性能影响。文章指出,从SCOS 7.3版本起允许混插,但整个SAS环路速率将降至最低设备水平,尤其在12Gb控制器上接入6Gb扩展柜会严重拖累性能。指南提供了清晰的兼容性矩阵、实战操作流程及关键避坑清单,帮助管理员安全、高效地完成存储扩容。

weixin_28314575的博客 459

日语五十音图速记攻略:从形象联想法到实战训练

语言学习中的记忆编码与条件反射构建是高效掌握基础的关键。其核心原理在于通过将抽象符号与具象图像、故事或已知概念关联,利用大脑对视觉和叙事信息的天然高记忆效率,从而降低认知负荷,加速识别与反应速度。这一方法的技术价值在于将机械重复转化为意义联结,显著提升长期记忆的牢固度与提取速度。在日语学习这一具体应用场景中,五十音图作为表音文字系统,正是实践这一记忆技术的绝佳对象。通过系统化的形象联想、分组对比(如平假名与片假名的对应关系)以及间隔重复的实战训练,学习者可以高效攻克这一入门难关,为后续的词汇、语法学习铺设坚

weixin_29032489的博客 378

人工智能——聚类总述(1)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

2401_84003977的博客 809

LVGL 蜂巢气泡菜单(Hex Menu)

h。

摸鱼专家 178

sklearn人工数据生成7大函数实战指南

人工数据生成是机器学习工程中应对数据稀缺、标注滞后与pipeline验证的关键技术,其本质是在真实数据就位前构建可控、可解释、可复现的仿真数据沙盒。核心原理在于通过参数化控制样本分布、特征结构、噪声模式与标签关系,从而模拟分类不平衡、非线性回归、流形聚类、多标签共现等典型建模挑战。该技术具备显著工程价值:加速特征工程调试、支撑算法选型对比、保障端到端pipeline正确性,并为AB测试提供基线参照。典型应用场景包括金融风控预研、工业缺陷检测冷启动、教育推荐系统冷启动及IoT设备早期算法验证。本文聚焦scik

weixin_33739523的博客 351

【推荐100个unity插件】在unity快速生成3D人物自然姿势和动作,且支持按图像生成姿势—— Pose AI

PoseAI是一款基于肌肉的智能动画创作工具,通过神经网络和逆运动学技术实现自然姿势生成。主要功能包括:自动/手动角色设置、神经控制装备、姿态估计与预览等。工具支持从2D图像生成3D姿势,并能在编辑器中实时预览动画效果。其神经网络架构采用前馈网络与ResNet结合的方式,通过多层全连接和ReLU激活函数处理输入数据。PoseAI简化了动画制作流程,提供高效的姿势创作解决方案,适用于Unity游戏开发。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1366

SAP 错误消息调试之七种武器:让所有的错误消息都能被定位

目录 长生剑 - SAPGUI Where Used List 碧玉刀 - ABAP调试器观察点 霸王枪 - ABAP调试器动态断点 多情环 - ABAP代码静态扫描 孔雀翎 - SAT 离别钩 - ST05 拳头 - 迷之方法??? Jerry在2018年开始用中文在微信公众号平台上写作之前,在SAP官方社区上总共写了639篇英文博客。 其中有一篇写于2013年介绍ABAP调试技巧的博客:

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2813

基于嵌入向量的智能对话话题聚类:从原理到工程实践

嵌入向量(Embeddings)是将文本转换为高维向量空间的技术核心,通过语义相似度计算实现智能文本理解。其原理基于词向量表示和神经网络模型,将语义相近的文本映射到向量空间中相邻位置。这种技术的工程价值在于突破传统关键词匹配的局限,能够准确识别同义词和语义相关性。在实际应用中,嵌入向量技术广泛应用于智能客服、舆情分析和知识管理等领域,特别适合处理海量对话数据的语义聚类需求。本文聚焦的对话话题聚类方案,正是基于sentence-transformers和HDBSCAN等热词技术,实现从海量聊天记录中自动提取语

weixin_30527423的博客 407

【8】mctp & pldm

异步会check seq,保证不丢包,虽然发一条req,不用等,但是不能发下一条req,等上条response回来后才能发下一条。TO(tag owner)=1是request,TO=0是response,但是异步通信response由0改为1。如下还有kcs,i3c,serial等。

持续更新ing... 1084

机器学习(7)-聚类

聚类(Clustering)是最常见的无监督学习算法,指的是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。也即聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。聚类是一种无监督学习,而分类是一种有监督的学习。聚类只需要人工指定相似度的标准和类别数,而分类需要从训练集学习分类的方法。

qq_45378317的博客 1243

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

大模型驱动的智能文本聚类:从指令理解到自动化主题发现

文本聚类作为无监督学习的核心技术,旨在从海量非结构化文本中自动发现隐藏的主题结构和语义模式。其核心原理是通过计算文本间的语义相似度,将内容相近的文档归入同一簇,从而揭示数据的内在分布。这项技术的核心价值在于能够自动化地组织、归纳和洞察文本数据,显著降低人工梳理成本。在工程实践中,传统聚类方法如K-means和层次聚类,往往受限于特征工程的质量和结果的可解释性。而随着大语言模型(LLM)的发展,一种新的范式正在兴起:将大模型作为能够理解自然语言指令的智能体,引导整个聚类流程。这种方法通过指令层定义聚类蓝图,利

weixin_34212762的博客 491

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

基于Sentence Transformer的静态代码告警智能聚类与优先级重排实践

在软件工程实践中,静态代码分析是保障代码质量和安全性的重要手段。其核心原理是通过预定义规则对源代码进行扫描,识别潜在缺陷、漏洞和不良模式。然而,分析工具产生的大量告警常伴随高误报和重复项,导致告警疲劳,严重削弱了技术的实际价值。为解决此问题,可以引入自然语言处理技术,特别是语义理解模型。Sentence Transformer等语义嵌入模型能够将文本告警描述转化为高维向量,通过计算向量间的语义相似度,实现告警的智能化聚合与去重。这种方法超越了传统的关键词匹配,能精准识别“SQL注入”与“未参数化数据库查询”

weixin_33696106的博客 459

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Centroid Neural Network:不预设K、不依赖初始化的稳定聚类算法

聚类是无监督学习的基础任务,其核心挑战在于如何在未知数据分布下获得鲁棒、可解释且可部署的分组结果。传统方法如K-means受限于目标函数非凸性,导致初始化敏感、收敛震荡与K值强耦合等结构性缺陷;而深度聚类虽引入表征学习,却仍以K-means为底层引擎,未能根治稳定性问题。Centroid Neural Network(CNN)另辟蹊径,将聚类建模为受控动力学系统——每个中心是具备惯性与阻尼的‘神经元质点’,样本施加引力与斥力,系统通过李雅普诺夫稳定机制自主演化至平衡态。该范式天然支持初始化无关性、连续平滑收

duiker 416

HPLC数据智能分析:聚类与SVM算法在色谱研究中的应用

在分析化学与生物医药领域,高效液相色谱(HPLC)是获取复杂样品成分信息的关键技术。其产生的色谱数据本质上是高维、结构化的时间序列,蕴含丰富的化学指纹信息。为了从这些海量数据中自动、客观地提取有价值的知识模式,机器学习方法成为核心技术路径。其中,聚类分析法作为一种无监督学习技术,能够在不依赖先验标签的情况下,探索数据内在结构,发现样本间的自然分组,常用于批次一致性分析或异常样本筛查。而支持向量机(SVM)作为经典的监督学习算法,以其在小样本、高维度数据中出色的泛化能力著称,适用于构建稳健的分类或回归模型,实

weixin_34163553的博客 344

人工智能自动组方实习笔记6—机器学习分类算法及python+SKlearn实现

本文记录了在

赵亮的优快云博客 1306

python 机器学习(一)无监督学习 + 监督学习 + 聚类算法 + k-means算法自实现

文章目录一、机器学习1. 概念2. 人工智能基础(数据分析、数据挖掘)3. 数据分析、与数据挖掘的区别4. 无监督学习5, 监督学习6. 无监督学习和监督学习的区别7. 聚类算法8. k-means算法自实现9. KMeans算法实现聚类 一、机器学习 1. 概念 在历史数据中去发现规律,然后利用规律,在新的数据中进行预测、与指导 2. 人工智能基础(数据分析、数据挖掘) 如果想要一个好的...

langdei的博客 1936
上一篇: 机器学习sklearn线性回归
下一篇: 人工稚能之sklearn分类
codehole_
博客等级 码龄7年 34粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值