无监督学习 — — 聚类方法分类

无监督学习 — — 聚类方法分类

        • 0. 聚类
        • 1. K均值聚类
          • (1). K均值聚类存在问题:
          • (2). K均值聚类实现代码:
        • 2. 凝聚聚类
          • (1). 凝聚聚类实现代码:
        • 3. DBSCAN 聚类
          • (1). DBSCAN 聚类实现代码:
        • 👉原文链接

0. 聚类

clustering 是将数据集划分成组的任务,这些组叫做簇,其目标是划分数据,使得一个簇内的数据点非常相似,不通簇内的数据点又非常不同。

1. K均值聚类

K均值算法试图找到代表数据特定区域的簇中心,交替执行以下两个步骤:
1.将每个数据点分配给最近的簇中心,
2.每个簇中心设置为所分配的所有数据点的平均值,如果簇的分配不再发生变化,算法结束
在这里插入图片描述

(1). K均值聚类存在问题:
  1. 要求指定寻找簇的个数
  2. k均值只能找到相对简单的形状
  3. k均值仅考虑到最近簇中心的距离
  4. 算法的输出依赖于随机种子

在这里插入图片描述

(2). K均值聚类实现代码:
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans# 加载数据
X,y = make_blobs(random_state=1)
plt.scatter(X[:,0],X[:,1])# 开始训练
Kmeans = KMeans(n_clusters=3)
Kmeans.fit(X)
# print(Kmeans.labels_)# 开始预测
y_pred = Kmeans.predict(X)
plt.scatter(X[:,0],X[:,1],c=y_pred) # c=y_pred 表示颜色序列
plt.scatter(Kmeans.cluster_centers_[:,0],Kmeans.cluster_centers_[:,1],marker='^',linewidths=6,cmap=plt.cm.get_cmap('RdYlBu')) # 绘制中心点plt.show()

在这里插入图片描述

2. 凝聚聚类

凝聚聚类:许多基于相同原则构建的聚类算法︰
1.首先每个点都是自己的簇,然后合并两个最相似的簇,直到满足某种停止准则为止,比如停止准则是簇的个数,因此相似的簇被合并,直到剩下指定个数的簇

2.用迭代的方式合并两个最近的簇,“最佳”的意思是簇的方差之和最小

在这里插入图片描述
在这里插入图片描述

(1). 凝聚聚类实现代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from sklearn.datasets import make_blobs
from sklearn.datasets import make_moons
from sklearn.cluster import KMeans
# 凝聚聚类
from sklearn.cluster import AgglomerativeClustering
X,y = make_blobs(random_state=1)
X_m,y_m = make_moons(n_samples=200,noise=0.05,random_state=1)agg = AgglomerativeClustering(n_clusters=2)
ass = agg.fit_predict(X)
ass_m = agg.fit_predict(X_m) # 月亮形状数据# plt.scatter(X[:,0],X[:,1],c = ass)
plt.scatter(X_m[:,0],X_m[:,1],c = ass_m)

在这里插入图片描述

3. DBSCAN 聚类

DBSCAN原理:识别特征空间的“拥挤”区域的点
1.增大eps从左到右,更多的点会被包含在一个簇中,
2.增大min_samples,核心点会变得更少,更多的点被标记为噪声
2.用迭代的方式合并两个最近的簇,“最佳”的意思是簇的方差之和最小
在这里插入图片描述

(1). DBSCAN 聚类实现代码:
from sklearn.cluster import DBSCAN
from sklearn.cluster import AgglomerativeClustering# 加载数据
X,y = make_blobs(random_state=1)
X_m,y_m = make_moons(n_samples=200,noise=0.05,random_state=1)# 训练并预测 DBSCAN 模型
dbscan = DBSCAN(eps=0.2) # 不同数据需要使用不同 eps,eps的调整极为重要clusters_m = dbscan.fit_predict(X_m)plt.scatter(X_m[:,0],X_m[:,1],c = clusters_m)

在这里插入图片描述

👉原文链接

👉原文链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/56873.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

菜鸡教程(1):简易游戏每周推荐小程序制作

写在前面: 1. 阅读本文最好具备一定htmlcssjs基础,并已成功注册微信小程序,成功下载了开发工具   2.菜鸡菜笔,如有不正,还请大佬们不吝惜赐教 接下来开始小程序的制作 1.首先需下载小程序所需图片 2.hello world(万物的起源&…

HFSS学习日记

(纯纯菜鸡,不懂理论和专业术语,单纯记录遇到的问题,欢迎大家批评指正) 1.仿真天线模型,工作频率与预期有偏差,可能的原因有: 空气盒子的长度设置过小。当对天线在一定的频率范围内进…

菜鸡前端2022年总结

我正在参加2022年,博客之星评比,请投我一票。 点此链接,投我一票 再过两年回家种地啦,年总结,写一年,少一年。 简单回顾一下今年,有哪些遗憾,有哪些成果。 工作 今年工作上的内…

三种常见的移动底盘运动学模型分析

目录 前言 一、四轮差速运动模型 二、麦克纳姆轮运动学模型 三、两轮差速运动学模型 总结 前言 现在大三暑假,开学就要着手准备毕设了,接手了实验室师兄的激光SLAM小车项目,先从下位机学起,争取把整个项目接受下来&#xff…

菜鸡学Unity 之 坑神之路 (记录坑点,不断更新中~)

LZ-Says:万事儿开头难,枪在手,不得不发~ 前言 最近在了解Unity这块的内容,不得不说,新的领域,陌生的代码世界,初入茅庐,太多的陌生与不适,唯有咬紧牙关,坚持…

如何从零学习游戏开发

如何做游戏?从哪里开始学习?找工作需要会哪些东西?我已经工作只想业余时间做游戏该学什么?不知道你是不是和当初的我一样有很多困惑。根据我自身的经验带你去了解如何开始学习游戏开发。 我目前已经 工作2年了,大学时期…

菜鸡学Unity 之 Unity中的坐标系(世界坐标系和局部坐标系)

LZ-Says:哎呦喂,时间,时间,慢点过~ 前言 Today,一起来了解下在Unity中的坐标系。 首先,我们要清楚的是,在Unity中,坐标系分为俩种: 世界坐标系;局部坐标系…

菜鸡学Unity 之 汇总撸码过程中遇到的低级错误(一)

LZ-Says:不畏艰难,一起干!!! 前言 对于任何一门新接触的语言,我们总会因为不熟悉从而导致犯一些基本的低级错误,对于错误,我们要秉承拥抱的态度,遇到的越多,…

菜鸡学Unity 之 Unity中对游戏物体的常用操作旋转移动放缩

LZ-Says:愿时光依旧,美好前方~ 前言 本小节,我们一起来看下Unity中对游戏物体的常用操作旋转移动放缩这些基本骚操作吧~ 基本骚操作 全程都可以简单操纵鼠标完成,当然,直接有效是直接设置数值喽~ 鼠标控制完成基本…

菜鸡学Unity 之 Unity中的基本模型和场景操作

LZ-Say:努力,只是为了有个更好的未来~ 前言 如果我们要做一个3D游戏,那么就会需要一些模型,而模型的设计工具有玛雅,3D MAX,通常由美工和专业人员为我们设计好模型,然后导入Unity&#xff0c…

菜鸡学Unity 之 了解 Unity 中的五个视图窗口

LZ-Says:书山有路勤为径,学海无涯苦作舟~ 简述 本文作为Unity学习的第四篇博文,诣在通过简单了解本质,说白了,让我们一起一步步的熟悉Unity的使用,其次愉快的开启我们的撸码之路。 而今天,我们…

潘云鹤院士获吴文俊人工智能最高成就奖!第十一届“吴文俊人工智能科学技术奖”揭晓...

来源:中国人工智能学会 文章整理:自央视新闻、北京日报 链接: https://content-static.cctvnews.cctv.com/snow-book/video.html?item_id7729020039002188616&t1657962648440&toc_style_idvideo_default&share_towechat&tra…

程序员用300行代码,让外婆实现语音搜索购物

“阿强,手写板怎么又不见了?” 最近,程序员阿强的那位勇于尝试新事物的外婆,又迷上了网购。在不太费劲儿地把购物软件摸得门儿清之后,没想到,本以为顺畅的网购之路,卡在了搜索物品上。 在手写…

Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、系统自带的语音引擎 语音播报的本质是将书面文字转换成自然语言的音频流,这个转换操作被称作语音合成,又称TTS(从文本到语音)在转换过程中,为了避免机械合成的呆板和停顿…

自动聊天挂机项目

三木智能聊天云控脚本

拼多多顶级佣金助手-微信群自动发单

注意:微信版本必须使用软件根目录下的安装包安装 1.进入多多进宝网站-注册多多进宝-并创建推广位... 2.打开软件点击-多多授权-授权页面-授权成功会跳转百度,复制百度地址栏code后面的code码... 3.粘贴到软件CODE输入框-点击-确定授权... 4.推广位ID框中出现你自…

30行python代码实现微信自动陪女盆友聊天(itchat-uos + 无限制调用)

先放代码: 再放个文字的(方便复制): import itchat import requestsdef get_reply(keyword):try:url f"https://open.drea.cc/bbsapi/chat/get?keyWord{keyword}&userNametype%3Dbbs"res requests.get(url)data…

[做初中数学题做到打起来了]跟同事为了他小孩的数学题杠上了

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,…

Whatsapp有效号码筛选 – 号码过滤器 | 电话号码过滤筛选 |配合 Whatsapp营销协议群发软件

Whatsapp号码过滤器能进行快速电话号码过滤筛选,过滤已开通whatsapp号码有效性,精准筛选出有用的whatsapp号码。Whatsapp号码筛选器可与各类Whatsapp群发软件、电话号码采集软件搭配使用,有助于辨识有效Whatsapp号码,过滤无效号码…

网络流量pcap包特征提取并保存

前言 新手写博客,写博客主要目的是为了记录自己做项目的一些过程。关于网络流量项目,刚开始做项目一个月左右,所写的博客必然有很多不足的地方,欢迎大家交流和指教。 获取pcap包 pcap包特征提取第一步是要获得pcap包。pcap一般…