gpt4 book ai didi

flutter - GridSearchCV如何用于群集(MeanShift或DBSCAN)?

转载 作者:行者123 更新时间:2023-12-02 03:32:52 26 4
gpt4 key购买 nike

我正在尝试使用scikit-learn将一些文本文档聚类。我正在尝试DBSCAN和MeanShift并想确定哪种超参数(例如MeanShift的bandwidth和DBSCAN的eps)最适合我正在使用的数据类型(新闻文章)。

我有一些测试数据,其中包含预先标记的簇。我一直在尝试使用scikit-learnGridSearchCV,但不了解在这种情况下如何应用(或是否可以应用),因为它需要拆分测试数据,但是我想在整个数据集上运行评估,并且将结果与预先标记的数据进行比较。

我一直在尝试指定一个评分函数,该函数将估算器的标签与真实标签进行比较,但是当然这是行不通的,因为仅对数据的一个样本进行了聚类,而不是所有的聚类。

这里合适的方法是什么?

最佳答案

您是否考虑过自己实现搜索

实现for循环并不是特别困难。即使您要优化两个参数,它也仍然相当简单。

但是对于DBSCAN和MeanShift,我还是建议先了解您的相似性度量。基于对测量的理解来选择参数,而不是优化参数以匹配某些标签(具有过度拟合的高风险),这更有意义。

换句话说,应该将两个文章聚集在哪个距离上?

如果从一个数据点到另一个数据点的距离变化太大,这些算法将严重失败。并且您可能需要查找归一化的距离函数,以使实际相似度值再次有意义。 TF-IDF是文本的标准配置,但主要是在检索上下文中。在群集环境中,它们的工作可能会更糟。

还要注意,MeanShift(类似于k均值)需要重新计算坐标-在文本数据上,这可能会产生不良结果;实际上,更新后的坐标变差了,而不是变好了。

关于flutter - GridSearchCV如何用于群集(MeanShift或DBSCAN)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com