【问题标题】:How to select features for clustering?如何选择特征进行聚类?
【发布时间】:2019-07-02 01:25:51
【问题描述】:

我有时间序列数据,我已将其汇总为 3 周并转换为特征。

现在我有了特征:A_week1、B_week1、C_week1、A_week2、B_week2、C_week2 等等。 有些特征是谨慎的,有些是连续的。

我正在考虑应用 K-Means 或 DBSCAN。

在这种情况下我应该如何处理特征选择? 我应该规范化特征吗?我应该介绍一些新的,以某种方式将时期联系在一起吗?

【问题讨论】:

    标签: machine-learning cluster-analysis k-means feature-selection dbscan


    【解决方案1】:

    由于 K-means 和 DBSCAN 是无监督学习算法,因此对它们的特征选择与网格搜索相关联。您可能需要测试它们以根据内部度量(例如 Davies-Bouldin 指数、Silhouette 系数等)评估此类算法。如果您使用 python,则可以使用 Exhaustive Grid Search 进行搜索。这是scikit 库的链接。

    【讨论】:

      【解决方案2】:

      形式化你的问题,不要只是破解一些代码。

      K-means 最小化平方和。如果特征具有不同的尺度,它们会对优化产生不同的影响。因此,您小心需要选择每个变量的权重(缩放因子),以按照您想要的方式平衡它们的重要性(并注意 2x 缩放因子不会生成变量两倍重要)。

      对于 DBSCAN,距离只是一个二元决定:是否足够接近。如果您使用 GDBSCAN 版本,这比使用距离更容易理解。但是对于混合变量,我建议使用最大范数。如果两个对象在每个变量中最多相差“eps”,则两个对象是接近的。您可以设置 eps=1,并缩放变量,使 1 是“太大”的差异。例如,在离散变量中,您可能希望容忍一两个离散步骤,而不是三个。

      从逻辑上不难看出,最大距离阈值分解为单变量a子句的析取:

       maxdistance(x,y) <= eps
       <=>
       forall_i |x_i-y_i| <= eps
      

      【讨论】:

        猜你喜欢
        • 2021-03-26
        • 2014-09-21
        • 2020-06-19
        • 2014-11-15
        • 2020-09-11
        • 2016-03-16
        • 2012-07-09
        • 2019-04-23
        • 2018-05-23
        相关资源
        最近更新 更多