我有从成千上万的癌细胞中获取的数据。存储在pandas数据帧中的每个单元60个测量值。用另一种方法将细胞分为3个群体。
我想知道哪些参数/维度最能区分/区分这些类。我是个新手,有很多选择。我确实尝试了sklearn中的PCA分解,但这只是返回了数据集的2-3个原则变化组件,而不是与类相关(我仍然没有找到一种方法来打印出对这种变化贡献最大的维度标签,如果能提供帮助,我将不胜感激!)
那么,找到每个类变化最大的维度的最佳方法是什么呢?我想象了一个两个参数的PCA,我的类被尽可能地分开。
是否也可以做同样的事情来找到相对于另一个维度(列)变化最大的维度
谢谢!
发布于 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 ]
发布于 2016-05-06 01:15:12
你也可以通过随机森林来确定特征的重要性。这将告诉您原始特性的相对重要性,而不是找到最能区分类的组件(这听起来就像您所要求的)。这里有一个链接:
http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html
发布于 2016-05-06 12:59:43
为了补充上面的讨论,理解以下两点之间的区别是很重要的:
超高维数据集中的
https://stackoverflow.com/questions/37055978
复制相似问题