首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏blog(为什么会重名,真的醉了)

    -层次(谱系)算法

    简介 ---- 层次(Hierarchical Clustreing)又称谱系,通过在不同层次上对数据集进行划分,形成树形的结构。 比如给定数据: x1 x2 x3 2 4 7 5 8 7 4 6 6 该数据包含特征x1、x2和x3,第一个样品[2,4,7],第二个样品[5,8,7],第三个样品[4,6,6],将每个样品各看作一 根据欧式距离: d(x_i,x_j)=[\sum^p_{k=1}(x_{ik}-x_{jk})^2]^{\frac{1}{2}} D_{12}=D_{21}=\sqrt{(2-5)^2+(4-8)^ 2+(7-7)^2}=5 D_{13}=D_{31}=\sqrt{(2-4)^2+(4-6)^2+(7-6)^2}=3 D_{23}=D_{32}=\sqrt{(5-4)^2+(8-6)^2+(7-6) 根据上述步骤绘制谱系图,横坐标就是每个,纵坐标表示合并两个时的值: 根据谱系图,如果要为2,从上往下看首次出现了2个分支的地方,即将样品0分为一,样品1、2分为另一

    6.1K40编辑于 2022-11-30
  • 8个超级经典的算法

    公众号:尤而小屋作者:Peter编辑:Peter大家好,我是Peter~本文主要介绍8个常见算法和基本原理:K-Means层次DBSCAN均值漂移模糊Fuzzy Clustering make_blobs import matplotlib.pyplot as plt # 生成一个随机数据集 X, y = make_blobs(n_samples=1000, centers=8, make_blobs import matplotlib.pyplot as plt # 生成一个随机数据集 X, y = make_blobs(n_samples=1000, centers=8, random_state=42) # 创建谱器 spectral = SpectralClustering(n_clusters=8, affinity='nearest_neighbors random_state=42) # 创建模糊器 fuzzy_clustering = AgglomerativeClustering(n_clusters=8, linkage='complete

    5.7K10编辑于 2024-06-21
  • 来自专栏机器学习原理

    机器学习(8)——其他层次画出原始数据的图小结

    层次 紧接上章,本章主要是介绍和K-Means算法思想不同而的其他思想形成的算法。 k-means算法却是一种方便好用的算法,但是始终有K值选择和初始中心点选择的问题,而这些问题也会影响的效果。为了避免这些问题,我们可以选择另外一种比较实用的算法-层次算法。 本章主要涉及到的知识点有: 层次 BIRCH算法 层次 层次方法对给定的数据集进行层次的分解,直到满足某种条件为止,传统的层次算法主要分为两大类算法:分裂的层次和凝聚的层次。 BIRCH算法 B|RCH算法(平衡迭代削减法):特征使用3元组进行一个簇的相关信息,通过构建满足分枝因子和簇直径限制的特征树来求特征树其实是个具有两个参数分枝因子和直径的高度平衡树 n_clusters=100', u'直径=1.7;n_clusters=None' ] plt.figure(figsize=(12, 8)

    2.1K60发布于 2018-04-27
  • 来自专栏Gvoidy备份小站

    算法之DBSCAN

    DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 是一种基于密度的算法,基于密度的寻找被低密度区域分离的高密度区域 若某一点,从任一核心地点出发都是密度不可达的,则称该点为噪声点 DBSCAN 算法实现如下图: ? 当出现奇葩数据时,K-Means 无法正常,而 DBSCAN 完全无问题 ? 、间距差相差很大时参数密度阈值minPts和邻域r参数选取困难 对于高维数据,容易产生“维数灾难”(算法基于欧式距离的通病) DBSCAN Python 实现 # coding=utf -8 """ Created on 2019/10/12 11:42 @author: EwdAger """ import numpy as np from sklearn.cluster import (结果中-1表示没有为离散点) # 模型评估 print('估计的个数为: %d' % n_clusters_) print("同质性: %0.3f" % metrics.homogeneity_score

    4.4K30发布于 2020-07-14
  • 来自专栏微生态与微进化

    层次

    可以分为特征(Vector Clustering)和图(Graph Clustering)。特征是指根据对象的特征向量矩阵来计算距离或者相关性来实现,例如各种层次和非层次。 ⑶平均聚合 平均聚合(averageagglomerative clustering)是一基于对象之间平均相异性或者簇形心(centroid)的进行的方法。 在hclust()函数中有等权重算术平均"average"(UPGMA)、不等权重算术平均"mcquitty"(WPGMA)、等权重形心"centroid"(UPGMC)、不等权重形心" ⑷最小方差 Ward最小方差是一种基于最小二乘法线性模型准则的方法。分组的依据是使组内距离平方和(方差)最小化,由于使用了距离的平方,常常使树基部过于膨胀,可取平方根再进行可视化。 树是聚类分析最常用的可视化方法。

    2.2K30编辑于 2022-05-05
  • 来自专栏Gvoidy备份小站

    算法之层次

    层次(Hierarchical Clustering)是算法的一种,通过计算不同类别的相似度创建一个有层次的嵌套的树。 层次怎么算 层次分为自底向上和自顶向下两种,这里仅采用scikit-learn中自底向上层次法。 将相邻最近的两组归为同一组 重复第二步,直到合并成为一个组,结束 过程的散点图变化一下,就是我们要的层次图 层次 Python 实现 import numpy as np from sklearn.cluster import AgglomerativeClustering data = np.random.rand(100, 3) #生成一个随机数据,样本大小为100, 特征数为3 #假如我要构造一个数为 3的器 estimator = AgglomerativeClustering(n_clusters=3)#构造器 estimator.fit(data) print(estimator.labels

    3.5K40发布于 2020-07-14
  • 来自专栏小明的博客

    聚类分析 scikit-learn的sklearn.cluster模块提供了多种方法 K-means 仿射传播 均值漂移 凝聚聚 密度 高斯混合 层次 K-means 使用KMeans进行 KMeans()的格式如下: class sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, : KMeans()的主要属性有: KMeans()提供了fit(), predict()等8个方法供数据拟合、预测等使用。 SimHei'#设置字体为SimHei显示中文 plt.rcParams['axes.unicode_minus']=False#坐标轴刻度显示负号 p = plt.figure(figsize=(12,8) ','原1','错误']) plt.title('错误样本与原类别的对比') plt.show() 多分类样本的可视化 #%% #例10-5 对4个分类样本进行,使用肘部法则确定最佳K

    1.4K20编辑于 2022-09-05
  • 来自专栏foochane

    (Clustering) hierarchical clustering 层次

    假设有N个待的样本,对于层次来说,步骤: 1、(初始化)把每个样本归为一,计算每两个之间的距离,也就是样本与样本之间的相似度; 2、寻找各个之间最近的两个,把他们归为一(这样的总数就少了一个 ); 3、重新计算新生成的这个与各个旧之间的相似度; 4、重复2和3直到所有样本点都归为一,结束 ? 整个过程其实是建立了一棵树,在建立的过程中,可以通过在第二步上设置一个阈值,当最近的两个的距离大于这个阈值,则认为迭代可以终止。另外关键的一步就是第三步,如何判断两个之间的相似度有不少种方法。 这里介绍一下三种: SingleLinkage:又叫做 nearest-neighbor ,就是取两个中距离最近的两个样本的距离作为这两个集合的距离,也就是说,最近两个样本之间的距离越小,这两个之间的相似度就越大 这两种相似度的定义方法的共同问题就是指考虑了某个有特点的数据,而没有考虑内数据的整体特点。

    1.8K30发布于 2019-05-23
  • 来自专栏大数据风控

    R算法-层次算法

    层次(Hierarchical Clustering算法) 层次算法又称为树算法,它根据数据之间的距离,透过一种层次架构方式,反复将数据进行聚合,创建一个层次以分解给定的数据集。 常用于一维数据的自动分组 层次方法 hclust(dist) dist 样本的距离矩阵 距离矩阵的计算方式 dist(data) data 样本数据 层次的代码实现: pColumns result 1 2 3 setosa 50 0 0 versicolor 0 23 27 virginica 0 49 1 我们可以看到,层次对这份数据的得到的结果并不是太好

    2.2K81发布于 2018-01-09
  • 来自专栏机器学习,脑机接口,算法优化

    凝聚层次,DBSCAN(1)

    凝聚层次:初始每个对象看成一个簇,即n个簇,合并最相似的两个簇,成(n-1)个簇,重复直到一个簇 \ 相似度衡量方法 最小距离:两个簇中最近的两个对象的距离 最大距离:两个簇中最远的两个对象的距离 平均距离:两个簇中所有对象两两距离的平均值 质心距离:两个簇质心的距离 \ DBSCAN算法 数据集中一个对象的半径内有大于minPts个对象时,称这个点核心点,将这些核心点半径内的对象加入这个簇,

    2.2K00发布于 2020-11-17
  • 来自专栏机器学习算法与理论

    无监督:与改进详解

    就是将相似的对象聚在一起的过程。如总统大选,选择那部分容易转换立场的表决者,进行针对性的宣传,可以扭转局势。 将相似的对象归到同一簇中,相似取决于相似度度量方法。 K-means,可能收敛到局部最小值,在大规模数据集上收敛较慢。 K-means:首先,随机确定k个初始点作为质心,将数据集中的每个点分配到一个簇中,即选择一个最近的质心进行分配,而后每个簇的质心更新为该簇所有点的平均值。 用于度量效果的指标可以是SSE(误差平方和)。我们可以通过增加簇的数量来减小SSE,若想要保持簇的总数不变,可以将某两个簇进行合并。 应用:对地图上的点进行,从而用比较合理的大巴接送方案完成一个活动或一次旅行。 为出租车和乘客选择合适的候车点等。

    1.2K100发布于 2018-04-10
  • 来自专栏小小程序员——DATA

    层次与密度代码实现

    层次与密度代码实现 层次 import numpy as np from scipy.cluster.hierarchy import linkage, dendrogram import matplotlib.pyplot as plt # 创建100个样本的数据 data = np.random.rand(10, 2) # 使用linkage函数进行层次 linked = linkage (data, 'single') # 画出树状图(树状图是层次的可视化) dendrogram(linked) plt.show() 密度 from sklearn.cluster import DBSCAN import matplotlib.pyplot as plt # 创建100个样本的数据 data = np.random.rand(200, 2) # 使用DBSCAN进行密度 dbscan = DBSCAN(eps=0.1, min_samples=5) clusters = dbscan.fit_predict(data) # 可视化结果 plt.scatter(data

    50010编辑于 2023-12-22
  • 来自专栏blog(为什么会重名,真的醉了)

    机器学习-层次(谱系)算法

    简介 层次(Hierarchical Clustreing)又称谱系,通过在不同层次上对数据集进行划分,形成树形的结构。很好体现的层次关系,且不用预先制定聚数,对大样本也有较好效果。 比如给定数据: x1 x2 x3 2 4 7 5 8 7 4 6 6 该数据包含特征x1、x2和x3,第一个样品[2,4,7],第二个样品[5,8,7],第三个样品[4,6,6],将每个样品各看作一 根据欧式距离: d(x_i,x_j)=[\sum^p_{k=1}(x_{ik}-x_{jk})^2]^{\frac{1}{2}} D_{12}=D_{21}=\sqrt{(2-5)^2+(4-8)^ 2+(7-7)^2}=5 D_{13}=D_{31}=\sqrt{(2-4)^2+(4-6)^2+(7-6)^2}=3 D_{23}=D_{32}=\sqrt{(5-4)^2+(8-6)^2+(7-6) 根据上述步骤绘制谱系图,横坐标就是每个,纵坐标表示合并两个时的值: 根据谱系图,如果要为2,从上往下看首次出现了2个分支的地方,即将样品0分为一,样品1、2分为另一

    2.6K50编辑于 2023-05-23
  • 来自专栏优雅R

    「R」层次和非层次

    ❝原英文链接:https://www.rpubs.com/dvallslanaquera/clustering[1]❞ 层次 (HC) 在这个分析中,我们将看到如何创建层次模型。 2- 方法选择 我们将选择所有可用的方法,然后我们将选择一个最佳的验证分析。 3- 最后数目的选择 为了达到这个目的,我们需要 3 个不同的检验: a- Fussion 水平图 b- Silhouette 图(轮廓系数图) c- Mantel 值 a- Fussion 水平图 (NHC) 这次我们将做一个k均值模型。 通过SSE方法,最好的数必须是2,通过SSI方法则必须是3。 3.2. Silhouette 图 我们试着绘制 3 组的轮廓系数图。

    2.1K11编辑于 2022-01-21
  • 来自专栏小小程序员——DATA

    机器学习 | 密度和层次

    密度和层次 密度 背景知识 如果 S 中任两点的连线内的点都在集合 S 内,那么集合 S称为凸集。反之,为非凸集。 DBSCAN 算法介绍 与划分和层次方法不同,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的算法 层次 层次假设簇之间存在层次结构,将样本到层次化的簇中。 层次又有聚合 (自下而上) 、分裂(自上而下) 两种方法 因为每个样本只属于一个簇,所以层次类属于硬 背景知识 如果一个方法假定一个样本只能属于一个簇,或族的交集为空集,那么该方法称为硬方法 如果个样木可以属干多个簇,成簇的交集不为空集,那么该方法称为软方法 聚合 开始将每个样本各自分到一个簇; 之后将相距最近的两簇合并,建立一个新的簇 重复此此操作直到满足停止条件: 得到层次化的类别

    77010编辑于 2023-12-21
  • 来自专栏机器学习原理

    机器学习(7)——算法算法

    算法 前面介绍的集中算法都是属于有监督机器学习方法,这章和前面不同,介绍无监督学习算法,也就是算法。 我们对数据进行的思想不同可以设计不同的算法,本章主要谈论三种思想以及该思想下的三种算法。 例如: 一个簇中有2、4、6、8、100五个数据,那么新的质点为24,显然这个质点离绝大多数点都比较远;在当前情况下,使用中位数6可能比使用均值的想法更好,使用中位数的方式叫做K- Mediods #第一个参数表示给定中心点的个数,第二个参数给出初始质心怎么给,第三个参数是多套初始质心,第四个代表的是迭代次数 sklearn.cluster.KMeans(n_clusters=8, init ') plt.text(-3.8, 3, 'train time: %.2fms' % (mbk_batch*1000)) plt.grid(True) 8.

    4.3K70发布于 2018-04-27
  • 来自专栏流川疯编写程序的艺术

    算法 ---- 大数据算法综述

    文章大纲 简介 算法的分类 相似性度量方法 大数据算法 spark 中的算法 算法对比 性能对比 效果对比 参考文献 简介 随着数据量的迅速增加如何对大规模数据进行有效的成为挑战性的研究课题 ,面向大数据的算法对传统金融行业的股票投资分析、 互联网金融行业中的客户细分等金融应用领域具有重要价值, 本文对已有的大数据算法,以及普通算法做一个简单介绍 聚类分析是伴随着统计学、计算机学与人工智能等领域科学的发展而逐步发展起来的 距离度量也可以源于相关系数[20],如皮尔逊相关系数的定义为: 8)余弦相似度(Cosine Similarity)。 最后一种直接计算相似性的方法是余弦相似度。 在这8相似度测量方法中,需要注意的是最后三相似性计算方法不再符合对称性、非负性与反身性的要求,即属于非可度量的范畴。连续性变量的相似性度量方法在不同聚算法中的应用,如表1所示。 大数据算法 spark 中的算法 http://spark.apache.org/docs/latest/ml-clustering.html spark 支持的算法有以下几个: K-means

    2K30编辑于 2021-12-06
  • 来自专栏全栈程序员必看

    spssk均值报告_K均值

    在spss中导入的二维数据如下所示: 点击菜单栏的“分析”,找到“分类”选中“k-均值” 将需要进行的变量选入右侧框中 数由用户设定,方法一般选择“迭代与分类” ,“读取初始中心”和“写入最终中心”一般不勾选,除非自定义的中心(自定义中心一般意义不大),如果最后想将最终迭代得到的中心写入指定文件,那么可以勾选第二个复选框。 选项按钮中,一般勾选以上复选框,spss会统计出初始的中心向量以及每个样本的信息(包括每个样本所属类别,与各自簇中心向量的欧氏距离)。之后,点击“确定”按钮,完成均值。 以上是最终得到的中心的横纵坐标,以及中心与中心之间的欧氏距离、每个类别中的样本数量。 所谓枚举法,即通过取不同的k值来观察最终的结果,选取最优结果所对应的k作为该均值的最终k值。 肘方法是通过绘制不同的k所对应的样本数据点与各自中心的距离平均值来确定k。

    1.4K20编辑于 2022-11-17
  • 来自专栏医学和生信笔记

    免疫浸润结果分子分型(一致性ConsensusClusterPlus)

    可以用于分子分型的方法非常多,比如:一致性、非负矩阵分解、PCA等等,当然这些方法不需要我们手动去计算,都是有成熟的R包帮我们做。 我们今天介绍的是ConsensusClusterPlus一致性进行分子分型。 一致性 library(ConsensusClusterPlus) 调整下数据格式: df <- as.data.frame(im_ssgsea) rownames(df) <- df$ID df 大家自己探索下 boxplot(df1[,1:20]) 进行一致性,其实就是1行代码: ccres <- ConsensusClusterPlus(df1, (M[lower.tri(M)]) PAC[i-1] = Fn(x2) - Fn(x1) } optK = Kvec[which.min(PAC)] optK ## [1] 3 根据PAC和上面一致性给出的图来看

    2.5K20编辑于 2023-08-30
  • 来自专栏AIUAI

    对于一组模式{x1, x2, …, xn},谱: 基于无向加权图G=(V,E),其中每个顶点vi对应一个xi,顶点vi和vj间的边有权值wij≥0 问题就是要求G的连通子图 顶点 在上述情况下,L的0特征值个数即为类别数,且对于第k个0特征值,对应的特征向量e满足 1) ei=1,if xi属于Cluster i 2) ei=0,otherwise 尽管完美的往往难以实现 ,我们仍可认为: 若L的某些特征向量对应的特征值较小,则该特征 向量给出了对有用的信息 算法流程: 定义相似性度量s并计算相似性矩阵,设定聚的类别数k 根据相似性矩阵S计算邻接矩阵W ,在新空间中进行。 谱的本质实际就是先将模式隐射到一个新的空间,再以传统方式 使用谱须首先回答的一些问题: 给定相似度矩阵S,怎样获得邻接矩阵W?

    85730发布于 2019-02-18
领券