支持向量聚类(SVC)的簇数

Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
2020年6月编辑 帮助
亲爱的社区,

我应用了基于默认设置(内核类型:径向)的高维数据的SVC方法,结果只得到了一个唯一的集群。这让我很惊讶。

如何设置SVC的集群数?在这方面,是否有可能通过RapidMiner中的性能操作员来评估和验证SVC的集群数量?

提前感谢你的回答!

最好的问候!

答案

  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    这里有人能帮忙解决这个问题吗?

    最好的问候!
  • sara20sara20 成员职位:110独角兽
    2020年7月编辑
    @Muhammed_Fatih_

    你好

    请从集群中截取一个屏幕。你试过《汽车模型》吗?

    谢谢你!
    莎拉
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    你好@sara20

    据我所知,汽车模型不提供SVC。

    通过考虑以下参数设置,我将SVC算子应用于高维数据库:minpts=10, gamma=0,005和p=0,01。我得到了附加的集群:


    所以需要哪个参数星座或者你会建议高维数据?我认为这是最基本的问题。或者你怎么想?

    提前感谢您的反馈!

    最好的问候!
  • sara20sara20 成员职位:110独角兽
    2020年7月编辑
    @Muhammed_Fatih_

    你好

    根据我的理解,你有2个集群,这表明你的数据有非常相似的部分。所以从你的第一篇文章中,如果你有一个集群,它们彼此非常相似,但如果你有两个集群,就像你的屏幕一样,RM可以把你的数据分成两部分。我认为2个集群比1个集群好。另外,如果您需要将集群与2个集群进行比较也是可能的。
    最后,这取决于你的工作和数据。

    我希望这对你们有帮助
    莎拉
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    使用SVC无法预先显式地设置集群的数量。关键是允许算法根据底层数据检测正确的聚类数量。您可以使用其他ML参数来查看是否会改变发现的集群数量(通常会改变)。正如Sara所指出的,您的结果现在显示了两个集群(java计数从0开始,因此您有集群0和集群1)。
    如果您需要提前指定集群的数量,您应该尝试k-means。
    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入数据科学咨询由认证的RapidMiner专家
    sara20
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    你好@sara20
    你好@Telcontar120

    非常感谢您有趣的反馈!是的,SVC聚类基于默认操作符参数检测两个聚类组是正确的。

    声明@Telcontar120是我特别感兴趣的:

    “您可以使用其他ML参数来查看是否会改变发现的集群数量(通常会改变)。”

    这些参数设置应根据哪些标准进行更改?是在聚类过程中考虑输入数据的数量吗?哪些参数需要修改,修改到什么程度?所以这个问题针对的是参数的具体作用。

    我希望这一澄清有助于强调我问题的重点。我提前感谢你的回答!

    祝你身体健康!
    sara20
  • sara20sara20 成员职位:110独角兽
    2020年7月编辑
    @Muhammed_Fatih_

    你好

    这取决于你的数据。如果它们彼此非常相似,那么很难将它们分离到不同的聚类中,但我认为你应该为数据中的每个聚类找到一个中心点,在这种情况下,你将更好地了解你的数据,更好地理解你的聚类。现在试着可视化你的数据,然后你会看到所有的东西,或者你可以用你的数据做一条曲线,然后根据显示雕刻变化的点,你可以有集群的数量。我建议你先用K均值或C均值的自动模型聚类你的数据,然后选择最佳的聚类数量。(我想让你首先清楚地看到你的数据,然后做出决定,所以第一步是可视化。:) :) :)

    欲了解更多信息:

    该算子是基于Ben-Hur等人(2001)的支持向量聚类的实现。在这种支持向量聚类算法中,数据点使用高斯核从数据空间映射到高维特征空间。在特征空间中搜索包含数据图像的最小球体。这个球体被映射回数据空间,在那里它形成了一组包围数据点的轮廓。这些轮廓被解释为簇边界。由每个单独的轮廓包围的点与相同的簇相关联。随着高斯核宽度参数的减小,数据空间中不连接轮廓的数量增加,导致簇的数量增加。由于轮廓线可以被解释为描绘底层概率分布的支持,因此该算法可以被视为识别该概率分布中的山谷

    https://docs.www.turtlecreekpls.com/latest/studio/operators/modeling/segmentation/support_vector_clustering.html
    http://www.scholarpedia.org/article/Support_vector_clustering
    亲切的问候
    莎拉
    sethsj
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    你好@sara20

    感谢您的反馈!

    我已经通过考虑Kmeans聚类方法计算了聚类的数量。我同意这应该是研究其他集群技术之前的第一步。

    从这个意义上说,我想随后应用SVC来分析SVC能检测到多少个簇。如上所述,SVC使用默认参数设置检测到两个集群(其中一个非常小),而kMeans检测到7个集群组。这个异常现象让我有点困惑。

    因此,由于我正在考虑一个高维数据库,这是否可能是一个参数优化的问题。在这方面,Ben-Hur等人(2001)的论文不幸地没有评估变化的参数设置。因此,对于我的数据,不清楚哪个参数设置是合适的。

    对于具有70.000个对象/行和8.000个属性/列的数据库,您会选择哪种设置?

    最好的问候!
  • MarcoBarradasMarcoBarradas 管理员,员工,RapidMiner认证分析师,成员职位:252独角兽
    @Muhammed_Fatih_在高维数据库上做了什么类型的预处理,所有这些都为聚类增加了价值?我的理解是,在应用任何集群技术之前,您可以并且应该减少使用的属性的数量。
    去除相关属性,使用PCA来理解哪些属性解释了数据的方差。也许你最终只使用了不到30%的初始属性。
    如果您想“玩弄”这些参数,并了解它们的任何更改是否会影响返回的集群数量,那么可以使用Optimization参数并为参数定义一些范围,这样就可以测试各种配置,看看它们是否对数据有任何影响。
    如果您的数据上有任何标签(不用于聚类),那么您可以使用Weight of Evidence操作符来转换一些数值属性的值,以便增加分离。
    不要忘记在数值数据上应用归一化,因为离群值会影响聚类,因为它们的性质是为聚类寻找质心。
    希望这些信息是有用的。
    lionelderkrikor Muhammed_Fatih_
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    你好@MarcoBarradas

    非常重要和有用的见解,我已经部分实现了。我在粗糙数据集的基础上应用主成分分析,得到了描述的数据。

    您关于优化参数的建议非常好。这又是一个问题,如果我们排除了运行时间的挑战,应该优化哪些参数。作为@sara20提到:

    随着高斯核宽度参数的减小,数据空间中不连接轮廓的数量增加,导致簇的数量增加。
    因此,这可能是一个选项,但如果将gamma的默认值设置为1.0,那么SVC需要多少迭代步骤呢?另一方面,RapidMiner给出的教程过程将gamma设置为0.005。根据哪些标准?

    您将优化哪些SVC参数,在此情况下在哪些迭代步骤中进行优化?

    最好的问候!
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    这很难说是抽象的,因为聚类非常依赖于您的数据。
    但是,如果您通读SVC操作符的帮助文本,就会发现在决定簇的数量方面有两个非常重要的参数:p(允许的离群值的比例)和r(簇的目标半径)。它们的默认设置可能没有为您提供最佳的集群数量。
    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入数据科学咨询由认证的RapidMiner专家
    sara20 sethsj
  • sara20sara20 成员职位:110独角兽
    2020年7月编辑
    嗨,所有

    @Muhammed_Fatih_

    我同意所有人的观点集群数量取决于你的数据

    我希望这对你们有帮助
    莎拉
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    亲爱的所有人@sara20@Telcontar120而且@MarcoBarradas

    谢谢您的反馈。优化上述参数似乎是确定参数的一种合适的方法。在这方面,是否有适合SVC的评价指标?据我所知,在RapidMiner中没有实现。你能否证实这一消息?

    最好的问候!
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    实际上,聚类有几种性能算子,比如聚类距离性能和聚类密度性能。你可能想看看这些。但无监督机器学习的问题在于,没有明确的“正确”答案,因此“最佳”集群性能在某种程度上是见仁见智的。
    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入数据科学咨询由认证的RapidMiner专家
    sara20
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    @Telcontar120

    运营商的“簇距离性能”和“簇密度性能”是否适用于SVC?

    例如,文档陈述如下:“此操作符用于基于质心的聚类方法的性能评估。”因此,SVC不属于基于质心的聚类方法,也不属于基于密度的聚类的第二算子。

    这两个性能操作符都符合SVC吗?

    致以最亲切的问候
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    是的,你说得对。抱歉,我以为你问的是RapidMiner中的集群性能操作符。除了通用的Cluster Count操作符之外,我不知道SVC还有其他性能操作符,它实际上并没有那么有用。
    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入数据科学咨询由认证的RapidMiner专家
  • Muhammed_Fatih_Muhammed_Fatih_ 成员职位:93Maven
    有没有其他人可以推荐SVC的绩效评估?
登录注册置评。