首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >K模:最优k

K模:最优k
EN

Data Science用户
提问于 2019-03-15 11:17:13
回答 3查看 3.5K关注 0票数 1

我有分类数据,我正在尝试使用可用的GitHub包实现k模式。我正试图在我的(大型)数据集中创建集群,比如5-7个记录,每一个都是最相似的记录。

然而,到目前为止,我没有办法选择最优的'k‘,这将导致最大的轮廓得分,理想情况下。这将是理想的k模工作在不同/相似度量作为一个距离。因此,我假设剪影距离将根据这个不同定义的距离度量集群的距离,从而建立剪影评分。我找不到这方面的实现。

我可以用肘法吗?但是,如果不看图,我就无法理解如何以编程的方式确定这个过程,因为我必须多次重复这个过程。目前,一个想法是-寻找成本大幅下降的k。看看接下来的几个值是否降低了成本。如果是,选择这个作为k,如果不是..。然后呢?我在这一点上有点困惑。

我在网上查看,还发现了,我无法用k模式来解释它。我正在寻找任何代码/建议,让我走上正确的道路。

EN

回答 3

Data Science用户

发布于 2019-03-16 00:42:16

与其尝试找到一个下载源代码的地方,不如自己实现,例如,剪影。

你在博客和回复中找到的大量代码都被破坏了。

我见过很多github存储库都有错误的代码,像您这样的人都想知道为什么它不能工作。依靠匿名的别人不犯错误是个坏主意。在某种程度上,您最好自己编写代码!

当然,依赖大型开源项目(如sklearn、R、ELKI、Weka )是可以的。它们有代码评审,讨论拉请求,几十个人查看代码,使用它,试图查找和修复错误(但即使在代码中也有错误)。

票数 3
EN

Data Science用户

发布于 2019-03-18 12:15:36

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def matching_disimilarity(a, b):
    return np.sum(a != b, axis=1)

silhouette_dict = dict()
cluster_labels = [...]
distinct_cluster_label_predictions = unique cluster_labels

for i in m_array:
    other_records_in_cluster = m_array_(with cluster_prediction == cluster_prediction of i) - i
    other_records_outside_cluster = m_array_(with cluster_prediction != cluster_prediction of i)
    other_records_outside_cluster_labels = cluster labels of record in other_records_outside_cluster

    sum_a = 0
    sum_b = 0
    sum_cluster_dist = dict()
    avg_cluster_dist = dict()

    for c in distinct_cluster_label_predictions:
        sum_cluster_dist[c] = 0

    # finding a(i) - for each observation i, calculate the average dissimilarity ai between i and all other 
    # points of the cluster to which i belongs.
    for j in other_records_in_cluster:
        sum_a += matching_disimilarity(i, j)
    a = sum_a/len(other_records_in_cluster)

    dict_b = dict()

    # find average of inter-cluster distance with nearest neighbour
    for j in other_records_outside_cluster:
        dist_i_to_j = matching_disimilarity(i,j)
        dict_b[j] = dist_i_to_j
        sum_till_now = sum_cluster_dist[other_records_outside_cluster_labels[j]]
        sum_cluster_dist[other_records_outside_cluster_labels[j]] = sum_till_now+dist_i_to_j

    for c in distinct_cluster_label_predictions:
        avg_cluster_dist[c] = sum_cluster_dist[c]/(length of elements_belonging_to_c)

    # nearest_neighbour is the with smallest average distance
    # for more than one nearest neighbour? Break randomly?
    nearest_cluster_label = key of minimum avg_cluster_dist value

    neighbouring_cluster_records = records with cluster_prediction == nearest_cluster_label

    for k in neighbouring_cluster_records:
        sum_b += dict_b[k]
    b = sum_b/len(neighbouring_cluster_records)

    if (a
票数 1
EN

Data Science用户

发布于 2020-03-03 15:33:45

通常,您将选择与最高轮廓值相关联的集群数量,但这可能很棘手,因为X和Y集群之间的剪影值之间的差异可以非常微不足道。你试过制作剪影情节吗?剪影图将允许您在a -1到1的比例上,将集群数据与它们指定的集群相近程度可视化,并在垂直轴上显示集群数。

https://github.com/nicodv/kmodes/issues/46

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/47373

复制
相关文章
SAS用K-Means 聚类最优k值的选取和分析
坐在餐馆的用餐者。假设餐厅中有两个桌子。桌子1中的人可能彼此相关,可能是一组家庭成员或同事。
拓端
2020/11/19
2K0
SAS用K-Means 聚类最优k值的选取和分析
kmeans聚类选择最优K值python实现
手肘法的核心指标是SSE(sum of the squared errors,误差平方和),
Twcat_tree
2024/02/10
2550
kmeans聚类选择最优K值python实现
kmeans聚类选择最优K值python实现
手肘法的核心指标是SSE(sum of the squared errors,误差平方和),
里克贝斯
2021/05/21
3K0
kmeans聚类选择最优K值python实现
【机器学习】K-means聚类的最优k值的选取(含代码示例)
数据科学领域中,聚类是一种无监督学习方法,它旨在将数据集中的样本划分成若干个组,使得同一组内的样本相似度高,而不同组之间的样本相似度低。K-means聚类是其中最流行的一种算法,因其简单、高效而广受青睐。然而,选择合适的K值(即聚类数)对于聚类结果至关重要。本文将探讨如何选取最优的K值,以确保K-means聚类算法能够揭示数据中的潜在模式。
程序员洲洲
2024/06/07
1.1K0
【机器学习】K-means聚类的最优k值的选取(含代码示例)
HDU 2639 Bone Collector II(01背包变形【第K大最优解】)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others
Angel_Kitty
2018/04/08
8460
K 近邻法(K-Nearest Neighbor, K-NN)
树相当于不断地用垂直于坐标轴的超平面将 k 维空间切分,构成一系列的k维超矩形区域。
Michael阿明
2020/07/13
1.5K0
K-均值(K-means)
K-均值(K-means)是一种常用的无监督学习算法,用于将数据集中的样本分成 K 个簇。该算法的过程大致如下:
风中的云彩
2025/02/16
580
K8S 生态周报| Cilium v1.10.0 有史以来性能最优
KIND (Kubernetes In Docker)[2] 关注我的小伙伴想必已经都很熟悉了,这是我一直都在参与也用的非常多的一个项目,它可以很方便的使用 Docker 容器作为 Kubernetes 的 Node ,快速的启动一个/或多个测试集群。自上个版本发布以来已经过了 4 个月,我们一起来看看这个版本中有哪些值得注意的变更吧!
Jintao Zhang
2021/06/10
7650
K8S 生态周报| Cilium v1.10.0 有史以来性能最优
What is k-means, How to set K?
figure cited here, recommend reading: K-Means Clustering – What it is and How it Works
杨熹
2019/07/22
5280
What is k-means, How to set K?
第K短路+严格第K短路
    如何求第K短呢?有一种简单的方法是广度优先搜索,记录t出队列的次数,当t第k次出队列时,就是第k短路了。但点数过大时,入队列的节点过多,时间和空间复杂度都较高。
风骨散人Chiam
2020/10/28
6040
K邻近 – k-nearest neighbors | KNN
遗传算法借鉴了生物学中的遗传原理,是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
easyAI
2019/12/18
7440
K近邻算法 K近邻算法原理
- $k$近邻法 (k-Nearest Neighbor;kNN) 是一种比较成熟也是最简单的机器学习算法,可以用于基本的分类与回归方法
小小程序员
2023/12/10
1570
[机器学习系列] k-近邻算法(K–nearest neighbors)
C++ with Machine Learning -K–nearest neighbors
racaljk
2019/02/25
8760
Classifying with k-Nearest Neighbors(k近邻)
终于要开始写自己的第一篇博客啦,真有点小激动(手足无措 =。=!)。因为最近正在琢磨机器学习,第一篇博客就从学的第一个算法开始:k-nearest neighbors algorithm即k近邻算法。
李拜六不开鑫
2019/09/12
5900
Classifying with k-Nearest Neighbors(k近邻)
k-Nearest Neighbors(k近邻算法)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Solo95/article/details/90740827
Steve Wang
2019/07/02
1.1K0
k-Nearest Neighbors(k近邻算法)
百模大战正酣,看看国内大模型谁更了解 K8S?(一)
自 2022 年 11 月 ChatGPT 强势问世,仅两个月内便取得月均1亿以上的活跃用户,科技界瞬间掀起滔天巨浪。国内各大互联网企业迅速行动,纷纷宣告自家大语言模型即将问世。其中,不乏像智谱 AI[1] 这样由国内顶尖大学技术成果转化而来的公司,以及 MiniMax[2] 这样由人工智能领域大佬二次创业成立的创业公司。一时间,“大模型”这个词成为了媒体以及各路科技创业者口中最常被提及的词语。2023 年初,各大公司纷纷宣布将会推出自己的大模型,投入了大量的人力物力,以期在这场”百模大战“中脱颖而出。
郭旭东
2023/09/02
5250
百模大战正酣,看看国内大模型谁更了解 K8S?(一)
K均值聚类(k-means clustering)
K均值聚类算法是先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
easyAI
2019/12/18
1.2K0
机器学习算法:K-NN(K近邻)
本文[1]将介绍机器学习中的 K-最近邻算法,K-Nearest Neighbors 是一种机器学习技术和算法,可用于回归和分类任务。
数据科学工厂
2023/02/27
1.2K0
机器学习算法:K-NN(K近邻)
K-means中K值的选取
以下博文转自:https://blog.csdn.net/qq_15738501/article/details/79036255  感谢
2018/09/04
2.8K0
K-means中K值的选取
Stratified k-fold K-fold分层
In this recipe, we'll quickly look at stratified k-fold valuation. We've walked through different recipes where the class representation was unbalanced in some manner. Stratified k-fold is nice because its scheme is specifically designed to maintain the class proportions.
到不了的都叫做远方
2019/12/16
9790

相似问题

K-NN中k的最优选择

20

基于K模的无监督聚类

10

如何在KNN模型中定义k的最优值?

10

精确@k和recall@k

10

我如何选择"K“在K的精度和召回在K?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文