cluster-analysis相关内容

pytorch 如何通过 argmax 反向传播?

我正在 pytorch 中使用质心位置的梯度下降而不是期望最大化来构建 Kmeans.损失是每个点到其最近质心的平方距离之和.为了确定哪个质心离每个点最近,我使用 argmin,它在任何地方都不可微.然而,pytorch 仍然能够反向传播和更新权重(质心位置),在数据上提供与 sklearn kmeans 相似的性能. 任何想法这是如何工作的,或者我如何在pytorch中解决这个问题?pyt ..

获取指定词的WordNet的域名

我知道 WordNet 有域层次结构:例如运动->足球. 1) 是否可以列出所有与“sport->football"子域相关的词? 响应:守门员、前锋、点球、球、场、球场、裁判等. 2) 获取给定单词的域名,例如“守门员"? 需要像 [sport->football;运动->曲棍球]或[足球;曲棍球]或只是“足球". 用于文档分类任务. 解决方案 WordNet 有一个上 ..

在 Python 中聚类文本

我需要对一些文本文档进行聚类,并一直在研究各种选项.看起来 LingPipe 可以在没有事先转换(到向量空间等)的情况下对纯文本进行聚类,但它是我见过的唯一一个明确声称可以处理字符串的工具. 有没有可以直接对文本进行聚类的 Python 工具?如果没有,最好的处理方法是什么? 解决方案 文本聚类的质量主要取决于两个因素: 要聚类的文档之间的一些相似性概念.例如,很容易通过 tf ..
发布时间:2022-01-02 17:28:12 Python

如何从 Python 中的 scipy 中的链接/距离矩阵计算集群分配?

如果你在 Python 中的 scipy 中有这个层次聚类调用: from scipy.cluster.hierarchy 导入链接# dist_matrix 是长距离矩阵链接矩阵 = 链接(平方(dist_matrix),链接方法) 那么从这里到单个点的集群分配的有效方法是什么?即长度为N的向量,其中N是点的数量,其中每个条目i是点i,给定由给定阈值 thresh 在结果聚类上生成的聚类数? ..
发布时间:2021-12-31 12:29:06 Python

如何在 Python 中创建像以下代码示例那样的径向集群?

我找到了几个关于如何创建这些确切层次结构的示例(至少我相信它们是),如下所示 stackoverflow.com/questions/2982929/ 效果很好,几乎可以执行我正在寻找的内容. [编辑]这是 Paul 代码的简化版本,现在应该更容易让某人帮助获得这变成了一个径向簇而不是这个当前的簇形状 导入scipy导入pylab将 scipy.cluster.hierarchy 导入 ..
发布时间:2021-12-31 12:10:04 Python

重新排序矩阵元素以反映原始 python 中的列和行聚类

我正在寻找一种方法来分别对矩阵行而不是列执行聚类,重新排列矩阵中的数据以反映聚类并将它们放在一起.聚类问题很容易解决,树状图的创建也是如此(例如在 此博客 或在 "编程集体智慧").但是,如何重新排序数据对我来说仍然不清楚. 最终,我正在寻找一种使用 naive Python 创建类似于以下图形的方法(使用任何“标准"库,例如 numpy、matplotlib 等,但没有 使用 R 或其他外 ..
发布时间:2021-12-31 12:08:59 Python

如何在scipy创建的树状图中获得与颜色簇对应的平面聚类

使用发布的代码 这里,我创建了一个很好的层次聚类: 假设左侧的树状图是通过执行类似操作创建的 Y = sch.linkage(D, method='average') # D 是距离矩阵截止 = 0.5*max(Y[:,2])Z = sch.dendrogram(Y,orientation='right',color_threshold=cutoff) 现在我如何获得每个彩色簇成员的索引 ..

使用solr进行离线聚类?

我想在 solr 中聚集我的索引数据.每个 solr 文档都包含以下字段:id、title、url. 我已经阅读了 solr 7.7 文档,那里提到的聚类算法仅适用于每个查询的搜索结果.而我需要的是基于文档标题的完整索引聚类. 有人可以帮忙吗? 解决方案 据我所知,没有用于聚集整个 Solr 索引的开箱即用插件. 如果你有一些机器学习的背景,看看Apache Mahout ..
发布时间:2021-12-30 08:52:15 其他开发

R:如何在 R 散点图中的“点"上叠加饼图

使用 R,我想用显示附加值的饼图替换二维散点图中的点. 背后的原因是,我有数百种元素(蛋白质)的时间序列数据,这些数据来自对 4 种条件进行监测的生物实验.我想在 y 轴上绘制元素(分类数据)并在 x 轴上及时绘制事件.为了可视化这 4 个条件之间的相对发生,我想以饼图或圆环图的形式将其可视化,叠加到散点图中的相应点上.整体数据密度低,因此重叠不会成为问题. 这在 R 中可能吗?我想在 ..
发布时间:2021-12-25 16:48:47 其他开发

scikit-learn 如何知道集群中的文档?

我是 python 和 scikit-learn 的新手,所以请耐心等待. 我从 k 表示聚类算法中获取了 k 表示聚类算法的源代码. 然后我使用 load_file 函数修改为在我的本地集上运行. 虽然算法终止了,但它并没有产生任何输出,比如哪些文档聚集在一起. 我发现km对象有“km.label"列出每个文档的质心 id 的数组. 它还具有带有“km.cluste ..
发布时间:2021-12-25 14:55:11 Python

如何使 TF-IDF 矩阵密集?

我正在使用 TfidfVectorizer 将原始文档集合转换为 TF-IDF 特征矩阵,然后我计划将其输入到 k-means 算法(我将实施).在该算法中,我将不得不计算质心(文章类别)和数据点(文章)之间的距离.我将使用欧几里得距离,所以我需要这两个实体具有相同的维度,在我的例子中是 max_features.这是我所拥有的: tfidf = TfidfVectorizer(max_feat ..
发布时间:2021-12-25 14:45:34 Python

Python scikit-learn 每次运行后聚类结果的变化

我有一堆句子,我想使用 scikit-learn 谱聚类对它们进行聚类.我已经运行了代码并得到了没有问题的结果.但是,每次运行它我都会得到不同的结果.我知道这是启动的问题,但我不知道如何解决它.这是我在句子上运行的代码的一部分: vectorizer = TfidfVectorizer(norm='l2',sublinear_tf=True,tokenizer=tokenize,stop_wor ..
发布时间:2021-12-25 14:42:05 Python

如何获取每个集群中的样本?

我正在使用 sklearn.cluster KMeans 包.完成聚类后,如果我需要知道将哪些值组合在一起,我该怎么做? 假设我有 100 个数据点,而 KMeans 给了我 5 个集群.现在我想知道集群 5 中有哪些数据点.我该怎么做. 是否有一个函数可以给出集群 id 并列出该集群中的所有数据点? 解决方案 我有一个类似的需求,我正在使用 Pandas 创建一个新的数据框, ..
发布时间:2021-12-25 14:28:57 Python

scikit-learn DBSCAN 内存使用

更新: 最后,我选择用于对大型数据集进行聚类的解决方案是下面 Anony-Mousse 建议的解决方案.也就是说,使用 ELKI 的 DBSCAN 实现来进行我的聚类,而不是 scikit-learn 的.它可以从命令行运行并使用适当的索引,在几个小时内执行此任务.使用 GUI 和小样本数据集计算出您想要使用的选项,然后前往镇上.值得一看.任何人,请继续阅读我的原始问题的描述和一些有趣的讨论. ..

R:K 均值聚类与社区检测算法(加权相关网络)-我是否将这个问题过于复杂?

我的数据如下所示:https://imgur.com/a/1hOsFpF 第一个数据集是标准格式的数据集,其中包含人员及其财务属性的列表. 第二个数据集包含“关系";这些人之间——他们互相付出了多少,以及他们彼此欠了多少. 我有兴趣了解更多关于基于网络和图的聚类 - 但我试图更好地了解什么类型的情况需要基于网络的聚类,即我不想在不需要的地方使用图聚类(避免出现“方钉圆孔"型情况) ..
发布时间:2021-12-24 14:40:35 其他开发

如何在 MATLAB 中创建相似度矩阵?

我正在努力比较多个图像.我将这些图像数据作为称为“图像"的矩阵的列向量.我想通过首先计算它们的欧几里德距离来评估图像的相似性.然后我想创建一个矩阵,我可以在该矩阵上执行多次随机游走.现在,我的代码如下: % 清除% 循环% 关闭所有%% 加载茶垫;图像 = Input.X;M = zeros(size(images, 2), size (images, 2));对于 i = 1:size(ima ..

在 MATLAB 中查询 k-means 聚类

我有大量矩阵形式的数据.我已经在 MATLAB R2013a 中使用 k 均值聚类对其进行了聚类.我想要形成的每个簇的质心的确切坐标..是否可以使用任何公式或其他任何东西? 我想找出每个簇的质心,这样每当有新数据到达矩阵时,我就可以计算它与每个质心的距离,从而找出新数据所属的簇 我的数据本质上是异构的.所以,很难找出每个集群的数据的平均值.所以,我正在尝试编写一些代码来自动打印质心位置 ..

模糊分组依据,对相似词进行分组

这个问题之前在这里问过 将相似词分组的好策略是什么? 但没有给出关于如何“分组"项目的明确答案.基于 difflib 的解决方案基本上是搜索,对于给定的项目,difflib 可以从列表中返回最相似的单词.但这如何用于分组? 我想减少 ['ape', 'appel', 'apple', 'peach', 'puppy'] 到 ['ape', 'appel', 'peach', ..

将新数据点分配给内核 k-means 中的集群(R 中的 kernlab 包)?

我有一个关于 R 的 kernlab 包中的 kkmeans 函数的问题.我是这个包的新手,如果我在这里遗漏了一些明显的东西,请原谅我. 我想将一个新数据点分配给一组集群中的一个集群,这些集群是使用内核 k-means 和函数“kkmeans"创建的.对于常规聚类,可以通过计算新数据点和聚类质心之间的欧几里德距离来实现这一点,并选择质心最近的聚类.在内核 k-means 中,必须在特征空间中 ..
发布时间:2021-12-14 09:56:47 AI人工智能