问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

无监督学习比如简单的聚类分析真的是“学习”吗

发布网友 发布时间:2022-05-02 00:51

我来回答

2个回答

懂视网 时间:2022-05-02 05:12

DBSCAN方法及应用

1.DBSCAN密度聚类简介

DBSCAN 算法是一种基于密度的聚类算法:
  1.聚类的时候不需要预先指定簇的个数
  2.最终的簇的个数不确定
DBSCAN算法将数据点分为三类:
  1.核心点:在半径Eps内含有超过MinPts数目的点。
  2.边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内的点。
  3.噪音点:既不是核心点也不是边界点的点。

如下图所示:图中黄色的点为边界点,因为在半径Eps内,它领域内的点不超过MinPts个,我们这里设置的MinPts为5;而中间白色的点之所以为核心点,是因为它邻域内的点是超过MinPts(5)个点的,它邻域内的点就是那些黄色的点!

技术分享

 

2.DBSCAN算法的流程

1.将所有点标记为核心点、边界点或噪声点;
2.删除噪声点;
3.为距离在Eps之内的所有核心点之间赋予一条边;
4.每组连通的核心点形成一个簇;
5.将每个边界点指派到一个与之关联的核心点的簇中(哪一个核心点的半径范围之内)。

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

3.应用实例

数据介绍

现有大学校园网的日志数据,290条大学生的校园网使用情况数据,数据包括用户ID,设备的MAC地址,IP地址,开始上网时间,停止上网时间,上网时长,校园网套餐等。利用已有数据,分析学生上网的模式。

实验目的
通过DBSCAN聚类,分析学生上网时间和上网时长的模式。

技术路线
采用:sklearn.cluster.DBSCAN 模块

 

下图为一个数据的实例展示:

技术分享

 

技术分享

通过上述上网时间的聚类分析和上网时长的聚类分析得出我们想要的同学们上网的时间和时长的分布结果!

 

1.建立工程,导入sklearn相关包
  import numpy as np
  from sklearn.cluster import DBSCAN
  注意:DBSCAN主要参数:
    1.eps:两个样本被看作邻居节点的最大距离
    2.min_samples:簇的样本数
    3.metric:距离计算方式
  例:sklearn.cluster.DBSCAN(eps=0.5,min_samples=5,metric=‘euclidean‘)     #euclidean表明我们要采用欧氏距离计算样本点的距离!

 

技术分享

 

3-1.上网时间聚类,创建DBSCAN算法实例,并进行训练,获得标签:

技术分享

 

 4.输出标签,查看结果

技术分享

 

为了更好的展示结果,我们可以把它画成直方图的形式,便于我们分析;如下我们使用 matplotlib库中的hist函数来进行直方图的展示:

5.画直方图,分析实验结果:

技术分享

 

6.数据分布 vs 聚类

这里就是机器学习的一个小技巧了,左边的数据分布不适用于聚类分析的,如果我们想对这类数据进行聚类分析,需要对这些数据进行一些数学变换,通常我们采用取对数的变换方法,将这种数据变换之后,变换后的数据就比较适合用于聚类分析了;

技术分享

 

3-2.上网时长聚类,创建DBSCAN算法实例,并进行训练,获得标签:

技术分享

 

 4-2.输出标签,查看结果

 

技术分享

 

我们也可以看到:时长的聚类效果是不如时间的聚类效果明显的!

 

5.无监督学习-DBSCAN聚类算法及应用

标签:str   pts   小技巧   流程   模式   实验   日志   用户   时长   

热心网友 时间:2022-05-02 02:20

聚类通过把目标数据放入少数相对同源的组或“类”(cluster)里。分析表达数据,(1)通过一系列的检测将待测的一组基因的变异标准化,然后成对比较线性协方差。(2)通过把用最紧密关联的谱来放基因进行样本聚类,例如用简单的层级聚类(hierarchicalclustering)方法。这种聚类亦可扩展到每个实验样本,利用一组基因总的线性相关进行聚类。(3)*等级分析(multidimensionalscalinganalysis,MDS)是一种在二维Euclidean“距离”中显示实验样本相关的大约程度。(4)K-means方法聚类,通过重复再分配类成员来使“类”内分散度最小化的方法。聚类方法有两个显著的局限:首先,要聚类结果要明确就需分离度很好(well-separated)的数据。几乎所有现存的算法都是从互相区别的不重叠的类数据中产生同样的聚类。但是,如果类是扩散且互相渗透,那么每种算法的的结果将有点不同。结果,每种算法界定的边界不清,每种聚类算法得到各自的最适结果,每个数据部分将产生单一的信息。为解释因不同算法使同样数据产生不同结果,必须注意判断不同的方式。对遗传学家来说,正确解释来自任一算法的聚类内容的实际结果是困难的(特别是边界)。最终,将需要经验可信度通过序列比较来指导聚类解释。第二个局限由线性相关产生。上述的所有聚类方法分析的仅是简单的一对一的关系。因为只是成对的线性比较,大大减少发现表达类型关系的计算量,但忽视了生物系统多因素和非线性的特点。从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、SAS等。从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。就数据挖掘功能而言,聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。聚类分析还可以作为其他数据挖掘任务(如分类、关联规则)的预处理步骤。数据挖掘领域主要研究面向大型数据库、数据仓库的高效实用的聚类分析算法。聚类分析是数据挖掘中的一个很活跃的研究领域,并提出了许多聚类算法。这些算法可以被分为划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法。1划分方法(PAM:PArtitioningmethod)首先创建k个划分,k为要创建的划分个数;然后利用一个循环定位技术通过将对象从一个划分移到另一个划分来帮助改善划分质量。典型的划分方法包括:k-means,k-medoids,CLARA(ClusteringLARgeApplication),CLARANS(ClusteringLargeApplicationbaseponRANdomizedSearch).FCM2层次方法(hierarchicalmethod)创建一个层次以分解给定的数据集。该方法可以分为自上而下(分解)和自下而上(合并)两种操作方式。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。典型的这类方法包括:第一个是;BIRCH(BalancedIterativeRecingandClusteringusingHierarchies)方法,它首先利用树的结构对对象集进行划分;然后再利用其它聚类方法对这些聚类进行优化。第二个是CURE(ClusteringUsingREprisentatives)方法,它利用固定数目代表对象来表示相应聚类;然后对各聚类按照指定量(向聚类中心)进行收缩。第三个是ROCK方法,它利用聚类间的连接进行聚类合并。最后一个CHEMALOEN,它则是在层次聚类时构造动态模型。3基于密度方法,根据密度完成对象的聚类。它根据对象周围的密度(如DBSCAN)不断增长聚类。典型的基于密度方法包括:DBSCAN(Densit-basedSpatialClusteringofApplicationwithNoise):该算法通过不断生长足够高密度区域来进行聚类;它能从含有噪声的空间数据库中发现任意形状的聚类。此方法将一个聚类定义为一组“密度连接”的点集。OPTICS(OrderingPointsToIdentifytheClusteringStructure):并不明确产生一个聚类,而是为自动交互的聚类分析计算出一个增强聚类顺序。。4基于网格方法,首先将对象空间划分为有限个单元以构成网格结构;然后利用网格结构完成聚类。STING(STatisticalINformationGrid)就是一个利用网格单元保存的统计信息进行基于网格聚类的方法。CLIQUE(ClusteringInQUEst)和Wave-Cluster则是一个将基于网格与基于密度相结合的方法。5基于模型方法,它假设每个聚类的模型并发现适合相应模型的数据。典型的基于模型方法包括:统计方法COBWEB:是一个常用的且简单的增量式概念聚类方法。它的输入对象是采用符号量(属性-值)对来加以描述的。采用分类树的形式来创建一个层次聚类。CLASSIT是COBWEB的另一个版本.。它可以对连续取值属性进行增量式聚类。它为每个结点中的每个属性保存相应的连续正态分布(均值与方差);并利用一个改进的分类能力描述方法,即不象COBWEB那样计算离散属性(取值)和而是对连续属性求积分。但是CLASSIT方法也存在与COBWEB类似的问题。因此它们都不适合对大数据库进行聚类处理.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么打电话给别人,显示无法接通? 我给对方打电话时,他那边响一声后就提示无法接通是什么情况? iPhone 6Plus相机远距离无法对焦,得用力摇几下才恢复,过会又模糊,什么... iphone6plus。近拍清楚,远拍模糊,怎么回事?聚焦不了。 怎么办~ 廉锦枫《廉锦枫》——剧情分析 我想取个好听的英文名字,而且希望是有意义的`拜托了各位谢谢 不锈钢公司取名带匠字文化深厚的企业名称大全 带匠字的厂名 公司名字为什么不可以带匠字 我儿子刚上一年级老师给我发微信时表现不错我怎么和老师沟通 威海南海的海景房怎么样?哪里好一点? 心动如火焰;肝动如飞箭;肺动沉雷声;脾动大力功;肾动快如风;发劲斗腕无穷。何解 威海环翠区伴山伴岛的房子值得入手吗? 肝字加一笔变成什么字 想在威海买房,哪个地段好些 威海海景房哪个地方比较好? 环、于、半、抽、曲、同、田、肝、主,压改一笔变成什么字 在威海荣成买房好,还是在烟台蓬莱买房子好? 抽丶来丶半丶曲丶同丶肝丶压改动一笔可以变成什么字? 小学作文:给老师的一封信(毕业作文)六年级500字。急急急急急急急急急... 移动一笔成新字:半、未、田、牛、抽、自、肝、旦、旧、主、土、同、于、丰、刁、太 威海买海景房哪个区域最好? 夫,环,于,抽,来,半,曲,同,人,田,肝这些字,只要改动一笔,就变成了另外一个字 买北海和威海海景房哪个好 动一笔变另外一个字"来,同,肝,庆,抽,刁,曲,,于,压,半,环" 山东省威海市南海新区清岛湾的房子能不能买?这是不是个骗局? 动一笔变新字环,抽,来,半,曲,田,肝,主. 我想在威海市区买栋房子,不知道那个地方的好,经区好,还是高区好,还是环翠区的好??请各位大侠指点~ 肝去掉一笔或加上一笔可以变成什么字 威海市哪里买房比较适合居住 威海上海大公馆山海府怎么样?好不好?值不值得买? 肝字是几画 威海景城玉兰花园怎么样?好不好?值不值得买? 肝的五笔怎么打字 投资买房山东威海好还是珠海好 司马迁精神事例150字 肝这个字的拼音是什么 外地企业在津收入如何申报个税? 为什么表示身体部位名称的汉字很多都是"月"字旁?如"脚""胃""肾""肝""胰""脾"等等? 请问您怎么把个人所得税全额申报文件下载下来的啊!我也在天津!谢谢! 天津哪里可以上个人所得税? 司马迁勤奋读书的故事 关于司马迁的故事(作文) 司马迁的故事100字左右! 天津个人所得税征收标准是什么 司马迁的小故事 天津每月报个人所得税的时间? 天津市新个税的问题 天津个人所得税怎么算? 创造与魔法丝调帽长什么样子