人工不智能之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,代码首先对真实情况进行可视化。然后进行均值聚类,聚类结果与真实情况接近。结果图片放置在文件中,大家一起学习!!

FPGA实战:基于Basys3的多功能数字钟设计与实现

本文详细介绍了基于Basys3开发板的多功能数字钟设计与实现过程,涵盖FPGA开发、SystemVerilog编程及7段数码管驱动等关键技术。通过模块化设计实现时钟分频、时间计数、按键处理等功能,并提供了优化显示驱动和调试技巧,帮助开发者快速掌握数字电路设计核心概念。

weixin_29186249的博客 659

人工智能-聚类-笔记

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

GeekPlusA的博客 1718

米哈游 AI产品经理面试题精选:10道高频考题+答案解析(附PDF)

米哈游是全球知名游戏开发商,以《原神》《崩坏》系列著称,专注二次元文化与AI技术创新。本文整理了10道AI产品经理面试题,涵盖Transformer架构、智能NPC设计、机器学习应用、AIGC产品规划等核心领域。题目既考察技术理解(如RAG原理、多模态模型),又关注产品落地(游戏平衡性优化、伦理安全),同时强调跨团队协作能力。参考答案均结合米哈游业务场景,体现技术驱动与玩家体验并重的产品思维,展现AI在游戏行业的创新应用前景。

ZHHHHH15的博客 683

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

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

无为 的专栏 1897

告别FreeRTOS?手把手带你用NuttX在STM32F4-Discovery上跑起第一个Shell

本文详细介绍了如何在STM32F4-Discovery开发板上从FreeRTOS迁移到NuttX,并运行第一个Shell。NuttX以其完整的POSIX兼容性和模块化架构优势,特别适合复杂网络应用的开发。通过环境搭建、移植配置、调试技巧及POSIX开发实践,帮助开发者高效构建嵌入式系统。

weixin_42526417的博客 302

百度AI架构师亲授:Agentic智能体在教育领域的落地(附个性化学习案例)

当我们谈论“教育智能化”时,我们真正需要的不是“更聪明的工具”,而是“能懂人的伙伴”——一个能像优秀教师那样主动观察、精准判断、动态调整的“数字助手”。Agentic智能体(智能体)正是这样的存在:它具备“自主性”(主动决策)、“反应性”(感知环境)、“目标导向”(聚焦学习目标)和“社会性”(与人/其他智能体协作),完美匹配教育场景中“个性化、动态化、协同化”的核心需求。本文将从底层逻辑到工程实现为什么Agentic是教育AI的“下一站”?(痛点与价值)Agentic智能体的核心架构是什么?

AI天才研究院 356

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

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

2401_84003977的博客 809

设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式

设备及APP(应用程序) 登录 IoTDA 平台所需的 入场与操作清单内容,提供逐项详细操作步骤和获取方式,并穿插贴士便于理解与实际操作落地。内容基于 华为云 IoTDA 控制台 和 IAM 控制台 的实际使用路径整理。

hy行者勇哥的博客 3063

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

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

weixin_33739523的博客 351

高创伺服的龙门调试经历2

摘要:本文介绍了高创伺服在龙门控制中的配置方法。首先通过ServoStudio2连接驱动器并命名区分主从轴(MASTER/DIFF),然后设置接口模式、23位编码器参数及极限位置。重点说明龙门模式的三项关键参数设置(gantryfbenmode=1、gantrymode=1/2)和连线状态确认。建议单轴自动整定后调整从轴增益(如0.2),并强调带刹车电机的同步控制要点:刹车线需接同一继电器由主轴控制,避免位置偏差。

wzz418550729的博客 916

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

weixin_30527423的博客 407

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

机器学习(7)-聚类

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

qq_45378317的博客 1243

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

weixin_34212762的博客 491

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

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

weixin_33696106的博客 459

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的博客 1935
上一篇: 机器学习sklearn线性回归
下一篇: 人工稚能之sklearn分类
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值