python聚类算法选择方法实例
作者:小妮浅浅 发布时间:2023-12-01 13:51:11
说明
1、如果数据集是高维度的,选择谱聚类是子空间的一种。
2、如果数据量是中小型的,比如在100W条以内,K均值会是更好的选择;如果数据量超过100W条,可以考虑使用MiniBatchKMeans。
3、如果数据集中有噪声(离群点),使用基于密度的DBSCAN可以有效解决这个问题。
4、若追求更高的分类准确性,则选择谱聚类比K均值准确性更好。
实例
import numpy as np
import matplotlib.pyplot as plt
# 数据准备
raw_data = np.loadtxt('./pythonlearn/cluster.txt') # 导入数据文件
X = raw_data[:, :-1] # 分割要聚类的数据
y_true = raw_data[:, -1]
print(X)
知识点扩充:
聚类算法
有许多类型的聚类算法。许多算法在特征空间中的示例之间使用相似度或距离度量,以发现密集的观测区域。因此,在使用聚类算法之前,扩展数据通常是良好的实践。
聚类分析的所有目标的核心是被群集的各个对象之间的相似程度(或不同程度)的概念。聚类方法尝试根据提供给对象的相似性定义对对象进行分组。
一些聚类算法要求您指定或猜测数据中要发现的群集的数量,而另一些算法要求指定观测之间的最小距离,其中示例可以被视为“关闭”或“连接”。因此,聚类分析是一个迭代过程,在该过程中,对所识别的群集的主观评估被反馈回算法配置的改变中,直到达到期望的或适当的结果。scikit-learn 库提供了一套不同的聚类算法供选择。下面列出了10种比较流行的算法:
亲和力传播
聚合聚类
BIRCH
DBSCAN
K-均值
Mini-Batch K-均值
Mean Shift
OPTICS
光谱聚类
高斯混合
每个算法都提供了一种不同的方法来应对数据中发现自然组的挑战。没有最好的聚类算法,也没有简单的方法来找到最好的算法为您的数据没有使用控制实验。在本教程中,我们将回顾如何使用来自 scikit-learn 库的这10个流行的聚类算法中的每一个。这些示例将为您复制粘贴示例并在自己的数据上测试方法提供基础。我们不会深入研究算法如何工作的理论,也不会直接比较它们。让我们深入研究一下。
来源:https://www.py.cn/jishu/jichu/31919.html


猜你喜欢
- 序言话说在前面,我不是小黑子~我是超级大黑子😏表弟大周末的跑来我家,没事干天天骚扰我,搞得我都不能跟小姐姐好好聊天了,于是为了打发表弟,我决
- 在现代的 web 框架里面,基本都有实现了依赖注入的功能,可以让我们很方便地对应用的依赖进行管理,同时免去在各个地方 new 对象的麻烦。比
- var classA = function(){ this.prop1 = 1; } classA.prototype.func1 = fu
- 目录一、axis简介二、不一样的axis对于axis=0三、总结补充:python中某些函数axis参数的理解在我们使用Python中的Nu
- 一、修改 sonar 配置 conf/sonar.properties修改 sonar 配置文件 conf/sonar.properties
- 这里我们通过请求网页例子来一步步理解爬虫性能当我们有一个列表存放了一些url需要我们获取相关数据,我们首先想到的是循环简单的循环串行这一种方
- YEAR() 函数返回一个整数值,它表示指定日期的年份,一般使用为:Year(时间),如:YEAR('2023-03-14
- 实例如下所示:from pandas import *from random import *df = DataFrame(columns=
- 一、Python 文件读写概述Python 在文件读写操作中,会使用「内置函数」和「Pandas 库」两种方式。先来看内置函数,包括 ope
- 调用re库,通过使用compile、findall获取字符串中的emailimport reemail=re.compile(r
- 最近开发vue项目过程中,由于产品需要在项目中添加富文本编辑器,也在npm上找了几个基于vue开发的富文本编辑器,但是对兼容性比较高,不能兼
- 首先说说什么是内存泄露,在一个进程中,如果某一块内存无法访问,且直到进程结束为止也无法释放,那么就发生了内存泄露。通常这种情况发生在C++之
- 要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点:"""使用sc
- 上次我写过一篇文章,讨论"JavaScript类定义原型方法的两种实现的区别"。研究后发现除了方法的初始化方式不同外,没
- 详解java调用ffmpeg转换视频格式为flv注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题
- 本文研究的主要是Python处理文本换行符的相关内容,具体如下。源文件每行后面都有回车,所以用下面输出时,中间会多了一行try:  
- 本文介绍了node.js用fs.rename强制重命名或移动文件夹的方法,首先介绍了rename的用法,具体如下:【重命名文件夹】// re
- var gb1 = 10; this.gb2 = 20; function gb3() {}; (function() { var ro =
- 阅读上一篇:FrontPage2002简明教程五:css样式表的应用 用户可以快速和容易地创建图片库,以显示图片或图像。他们可以将图像添加到
- 首先说说框架(Frameworks)这个词,框架就是为我们提供了一个平台一个运行环境,在如此统一的前提下我们做相关开发才能“有章可循”,要充