我有一个包含约20000行和98个要素(所有要素均为数字)和一个目标要素的数据框,其二进制值分别为0和1。基本上,有两个总体(第一个总体的目标值为1 --50%-,第二个目标值为0 -50%-平衡数据)。在分类问题中,我尝试根据数据预测目标值。因此,我植入了一种监督学习算法(例如SVM)来预测目标值,并可以以0.95左右的精度获得非常好的结果。这个结果告诉我,这些功能之间存在相当大的差异。因此,在下一步中,我必须知道导致这种差异的重要特征是什么,以及量化这两组人群之间特征差异的最佳方法是什么。任何想法?
最佳答案
要按重要性对功能进行排名,可以使用Weka及其功能强大的工具包进行功能选择。有关更多信息和示例,请参见this blogpost。顺便说一下,Weka还具有SVM实现。确定重要功能后,您可以直观地看到两个类别之间的区别,例如通过绘制类别的分布。 Matplotlib为此具有类似hist
或boxplot
的工具。
如果您的SVM具有线性核,则可以将其系数用作输入要素的直接决策权重:
Determining the most contributing features for SVM classifier in sklearn
Visualising Top Features in Linear SVM with Scikit Learn and Matplotlib
关于python - 如何衡量数据框中要素之间的差异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54350062/