【问题标题】:How to select most important features? Feature Engineering如何选择最重要的特征?特征工程
【发布时间】:2019-08-13 06:29:01
【问题描述】:

我使用此链接的高尔距离功能:https://sourceforge.net/projects/gower-distance-4python/files/。我的数据 (df) 是这样的,每一行都是一笔交易,每一列都是特征。由于它包含大量分类数据,因此我使用高尔距离转换数据以测量“相似性”......我希望这是正确的(如下......):

D = gower_distances(df)
distArray = ssd.squareform(D)
hierarchal_cluster=scipy.cluster.hierarchy.linkage(distArray, method='ward', metric='euclidean', optimal_ordering=False)

然后我从上面将hierarchical_cluster绘制成树状图:

plt.title('Hierarchical Clustering Dendrogram (truncated)')
plt.xlabel('sample index or (cluster size)')
plt.ylabel('distance')

dendrogram(
    hierarchal_cluster,
    truncate_mode='lastp',  # show only the last p merged clusters
    p=15,  # show only the last p merged clusters
    leaf_rotation=90.,
    leaf_font_size=12.,
    show_contracted=True  # to get a distribution impression in truncated branches
)

我无法显示它,因为我没有足够的特权点,但在树状图上我可以看到不同的颜色。
区分它们的主要鉴别器是什么?
我怎样才能找到这个?
如何使用 PCA 提取有用的特征?
我是否将我的“hierarchal_cluster”传递给 PCA 函数?
像下面的东西..?

pca = PCA().fit(hierarchal_cluster.T)
plt.plot(np.arange(1,len(pca.explained_variance_ratio_)+1,1),pca.explained_variance_ratio_.cumsum())

【问题讨论】:

    标签: python-3.x cluster-analysis data-science feature-extraction hierarchical-clustering


    【解决方案1】:

    引用 scipy 关于 Ward 链接的文档:

    只有在使用欧几里得成对度量时才能正确定义方法“centroid”、“median”和“ward”。如果 y 作为预先计算的成对距离传递,则用户有责任确保这些距离实际上是欧几里得距离,否则生成的结果将不正确。

    所以你不能使用与 Gower 的 Ward 链接!

    【讨论】:

    • 在本教程medium.com/@anastasia.reusova/… 中,他们为层次聚类传递了一个高尔矩阵。由于 python 中的树状图需要包含双精度值,如何将我的 gower 矩阵转换为可用于分层聚类的形式?
    • 博客文章明确指出这是第一次尝试,而不是“正确”的做事方式。但是他们使用完整的链接,这可以与 Gower 一起使用。高尔确实返回双打......
    【解决方案2】:

    我希望您知道 PCA 仅适用于连续数据?既然你提到了,有很多分类特征。根据您所写的内容,您可能会得到混合数据。

    处理混合数据时的一种常见做法是将连续和分类特征/变量分开。然后找到连续(或数值)特征的数据点之间的欧几里得距离和分类特征的汉明距离 [1]。

    这将使您能够分别找到连续特征和分类特征之间的相似性。现在,当您这样做时,将 PCA 应用于连续变量以提取重要特征。并在分类特征上应用Multiple Correspondence AnalysisMCA。此后,您可以将获得的相关特征组合在一起,并应用任何聚类算法。

    所以本质上,我建议在聚类之前进行特征选择/特征提取。

    [1] Huang, Z., 1998. k-means 算法的扩展,用于对具有分类值的大型数据集进行聚类。数据挖掘和知识发现,2(3),pp.283-304。

    【讨论】:

      猜你喜欢
      • 2020-09-11
      • 2011-01-10
      • 2021-07-26
      • 2014-09-21
      • 2016-10-01
      • 2022-01-19
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多