首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到最相关的维度/列来分隔已知类

如何找到最相关的维度/列来分隔已知类
EN

Stack Overflow用户
提问于 2016-05-06 00:47:59
回答 3查看 1.5K关注 0票数 1

我有从成千上万的癌细胞中获取的数据。存储在pandas数据帧中的每个单元60个测量值。用另一种方法将细胞分为3个群体。

我想知道哪些参数/维度最能区分/区分这些类。我是个新手,有很多选择。我确实尝试了sklearn中的PCA分解,但这只是返回了数据集的2-3个原则变化组件,而不是与类相关(我仍然没有找到一种方法来打印出对这种变化贡献最大的维度标签,如果能提供帮助,我将不胜感激!)

那么,找到每个类变化最大的维度的最佳方法是什么呢?我想象了一个两个参数的PCA,我的类被尽可能地分开。

是否也可以做同样的事情来找到相对于另一个维度(列)变化最大的维度

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2016-05-06 00:57:42

您希望使用线性判别分析(LDA)而不是PCA。

主成分分析只找到以最优方式表示所有类的完整数据集的组件。与此形成对比的是,您希望找到那些帮助您在不同类之间区分最佳的组件,这就是LDA的用途。

看一下这个例子:

http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html

如果您在适应您的数据时遇到困难,请随时提供样本数据和一些LDA代码,并让我们知道您遇到了什么问题。

[编辑:示例代码在此处:http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html ]

票数 8
EN

Stack Overflow用户

发布于 2016-05-06 01:15:12

你也可以通过随机森林来确定特征的重要性。这将告诉您原始特性的相对重要性,而不是找到最能区分类的组件(这听起来就像您所要求的)。这里有一个链接:

http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html

票数 5
EN

Stack Overflow用户

发布于 2016-05-06 12:59:43

为了补充上面的讨论,理解以下两点之间的区别是很重要的:

超高维数据集中的

  • Feature选择: Feture Selection in sklearn。使用随机森林是另一种基于特征空间约简( feature importances.
  • Dimensionality feature )的特征选择方法:这是一种将数据集转换为比原始特征空间维度更低的新特征空间的技术。PCALDAkernel PCA就是这样的技术。PCA是无监督技术,而LDA是有监督技术。如果数据集是线性可分的,则PCA和LDA效果很好。如果数据集不是线性可分的,则可以使用核主成分分析将数据转换到适合于线性分类器的新的低维子空间。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37055978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档