返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现DBSCAN聚类算法并样例测试
  • 816
分享到

Python实现DBSCAN聚类算法并样例测试

Python聚类算法PythonDBSCAN聚类算法 2022-06-02 22:06:10 816人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

什么是聚类算法 聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不

什么是聚类算法

聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不同的属性和/或特征。聚类是一种无监督学习的方法,是许多领域中常用的统计数据分析技术。

常用的算法包括K-MEANS、高斯混合模型(Gaussian Mixed Model,GMM)、自组织映射神经网络(Self-Organizing Map,SOM)

重点给大家介绍python实现DBSCAN聚类算法并通过简单样例测试

发现高密度的核心样品并从中膨胀团簇。

Python代码如下:


# -*- coding: utf-8 -*-
"""
Demo of DBSCAN clustering alGorithm
Finds core samples of high density and expands clusters from them.
"""
print(__doc__)
# 引入相关包
import numpy as np
from sklearn.cluster import DBSCAN
from sklearn import metrics
from sklearn.datasets.samples_generator import make_blobs
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 初始化样本数据
centers = [[1, 1], [-1, -1], [1, -1]]
X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4,
                            random_state=0)
X = StandardScaler().fit_transfORM(X)
# 计算DBSCAN
db = DBSCAN(eps=0.3, min_samples=10).fit(X)
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
# 聚类的结果
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_noise_ = list(labels).count(-1)
print('Estimated number of clusters: %d' % n_clusters_)
print('Estimated number of noise points: %d' % n_noise_)
print("Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels))
print("Completeness: %0.3f" % metrics.completeness_score(labels_true, labels))
print("V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels))
print("Adjusted Rand Index: %0.3f"
      % metrics.adjusted_rand_score(labels_true, labels))
print("Adjusted Mutual Information: %0.3f"
      % metrics.adjusted_mutual_info_score(labels_true, labels,
                                           average_method='arithmetic'))
print("Silhouette Coefficient: %0.3f"
      % metrics.silhouette_score(X, labels))
# 绘出结果
unique_labels = set(labels)
colors = [plt.cm.Spectral(each)
          for each in np.linspace(0, 1, len(unique_labels))]
for k, col in zip(unique_labels, colors):
    if k == -1:
        col = [0, 0, 0, 1]
    class_member_mask = (labels == k)
    xy = X[class_member_mask & core_samples_mask]
    plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),
             markeredgecolor='k', markersize=14)
    xy = X[class_member_mask & ~core_samples_mask]
    plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),
             markeredgecolor='k', markersize=6)
plt.title('Estimated number of clusters: %d' % n_clusters_)
plt.show()

测试结果如下:

最终结果绘图:

具体数据:

以上就是Python实现DBSCAN聚类算法(简单样例测试)的详细内容,更多关于Python聚类算法的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python实现DBSCAN聚类算法并样例测试

本文链接: https://lsjlt.com/news/10996.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现DBSCAN聚类算法并样例测试
    什么是聚类算法 聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不...
    99+
    2022-06-02
    Python聚类算法 Python DBSCAN聚类算法
  • 【机器学习】DBSCAN聚类算法(含Python实现)
    文章目录 一、算法介绍二、例子三、Python实现3.1 例13.2 算法参数详解3.3 鸢尾花数据集 一、算法介绍 DBSCAN(Density-Based Spatial Clus...
    99+
    2023-10-01
    聚类 机器学习 python BBSCAN
  • Python中怎么利用DBSCAN实现一个密度聚类算法
    Python中怎么利用DBSCAN实现一个密度聚类算法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。基于密度这点有什么好处呢我们知道kmeans聚类算法只能处理球形的簇,也就是...
    99+
    2023-06-16
  • python实现dbscan算法
    DBSCAN 算法是一种基于密度的空间聚类算法。该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其它空间对象)的数目不小于某一给定阀值。DBSCAN 算法的显著优点是聚类速度快且能够有效处...
    99+
    2022-06-02
    python dbscan算法
  • Python聚类算法之凝聚层次聚类实例分析
    本文实例讲述了Python聚类算法之凝聚层次聚类。分享给大家供大家参考,具体如下: 凝聚层次聚类:所谓凝聚的,指的是该算法初始时,将每个点作为一个簇,每一步合并两个最接近的簇。另外即使到最后,对于噪音点或是...
    99+
    2022-06-04
    算法 实例 层次
  • python聚类算法选择方法实例
    说明 如果数据集是高维度的,选择谱聚类是子空间的一种。 如果数据量是中小型的,比如在100W条以内,K均值会是更好的选择;如果数据量超过100W条,可以考虑使用MiniBatchKMeans。 如果数据集中有噪声(离...
    99+
    2022-06-02
    python 聚类算法
  • Python实现聚类K-means算法
    本文内容、数据参考周志华《机器学习》,代码部分为个人实现,如有错误还请指出。 K-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 E ...
    99+
    2023-09-20
    聚类 算法 python
  • 怎么在python中实现dbscan算法
    今天就跟大家聊聊有关怎么在python中实现dbscan算法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。DBSCAN 算法是一种基于密度的空间聚类算法。该算法利用基于密度的聚类的概...
    99+
    2023-06-15
  • Python聚类算法之DBSACN实例分析
    本文实例讲述了Python聚类算法之DBSACN。分享给大家供大家参考,具体如下: DBSCAN:是一种简单的,基于密度的聚类算法。本次实现中,DBSCAN使用了基于中心的方法。在基于中心的方法中,每个数据...
    99+
    2022-06-04
    算法 实例 Python
  • Python实现聚类K-means算法详解
    目录手动实现sklearn库中的KMeansK-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 注:为避免运行时间过长,通常设置一个最大运行轮数或最小调整幅度...
    99+
    2024-04-02
  • Python如何实现聚类K-means算法
    今天小编给大家分享一下Python如何实现聚类K-means算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。K-means...
    99+
    2023-07-02
  • 深度解读Python如何实现dbscan算法
    目录DBScan 算法解释说明DBScan 算法的应用场景Python 实现的 DBScan 算法Python 实现 dbscan 高级算法再演示一种 python 实现 dbsca...
    99+
    2023-02-06
    Python实现dbscan算法 Python dbscan算法
  • python中实现k-means聚类算法详解
    算法优缺点: 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近的...
    99+
    2022-06-04
    算法 详解 python
  • R语言实现KMeans聚类算法实例教程
    目录什么是k-means聚类算法R 实现kmeans聚类算法加载包加载示例数据寻找最佳聚类数量使用最优k执行kmeans聚类kmeans 算法的优缺点总结本文和你一起学习无监督机器学...
    99+
    2024-04-02
  • python基础之 python实现PID算法及测试的例子
      PID算法实现  import time  class PID:  def __init__(self, P=0.2, I=0.0, D=0.0):  self.Kp = P  self.Ki = I  self.Kd = D  sel...
    99+
    2023-06-02
  • 利用Python如何实现K-means聚类算法
    目录前言算法原理 目标函数 算法流程  Python实现 总结 前言 K-Means 是一种非常简单的聚类算法(聚类算法都属于无监督学习)。给定固定数量的聚类和输入数据集,...
    99+
    2024-04-02
  • Python聚类算法之基本K均值实例详解
    本文实例讲述了Python聚类算法之基本K均值运算技巧。分享给大家供大家参考,具体如下: 基本K均值 :选择 K 个初始质心,其中 K 是用户指定的参数,即所期望的簇的个数。每次循环中,每个点被指派到最近的...
    99+
    2022-06-04
    算法 详解 实例
  • 人工智能——K-Means聚类算法及Python实现
    目录1 概述1.1 无监督学习1.2 聚类1.3 K-Mean均值算法2 K-Mean均值算法 2.1 引入2.2 针对大样本集的改进算法:Mini Batch K-Mea...
    99+
    2024-04-02
  • python利用K-Means算法实现对数据的聚类案例详解
    目的是为了检测出采集数据中的异常值。所以很明确,这种情况下的簇为2:正常数据和异常数据两大类 1、安装相应的库 import matplotlib.pyplot as plt # 用于可视化 from skle...
    99+
    2022-06-02
    python K-Means算法聚类 python K-Means算法
  • K-means聚类算法介绍与利用python实现的代码示例
    聚类 今天说K-means聚类算法,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别。 分类其实是从特定的数据中挖掘模式,作出判断的过程。比如Gmail...
    99+
    2022-06-04
    示例 算法 代码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作