如何测量数据框中特征之间的差异?

我有一个包含大约20000行的数据框,里面有98个特征(所有特征都是数值型的),还有一个目标特征,其值为二元的:0和1。基本上有两个群体(第一个群体目标值为1 –50%–,第二个群体目标值为0 –50%–,数据是平衡的)。在分类问题中,我尝试根据数据预测目标值。因此,我实现了一个监督学习算法(例如,SVM)来预测目标值,并且能够获得大约0.95的准确率结果。这个结果让我意识到特征之间存在显著差异。那么,下一步,我需要知道哪些是导致这种差异的重要特征,以及在这两个群体之间量化这些特征差异的最佳方法是什么。有没有好的建议?


回答:

要按重要性对你的特征进行排序,你可以使用Weka及其强大的特征选择工具包。请查看这篇博客文章以获取更多信息和示例。顺便提一下,Weka也提供了SVM的实现。一旦你确定了重要的特征,你可以可视化它们在两个类别之间的差异,例如,通过绘制它们在各类别中的分布。Matplotlib有像histboxplot这样的工具来实现这一点。

如果你使用的是线性核的SVM,你可以使用其系数作为输入特征的直接决策权重:

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注