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

我有一个包含大约 20000 行和 98 个特征(所有特征都是数字)的数据框和一个具有二进制值的目标特征:0 和 1。基本上,有两个群体(目标值为 1 --50%-- 的第一个群体,第二个目标值为 0 -50%-平衡数据)。在一个分类问题中,我试图预测给定数据的目标值。所以,我已经植入了一个监督学习算法(例如,SVM)来预测目标值,并且可以以大约 0.95 的准确度获得非常好的结果。这个结果给了我一个观点,即特征之间存在相当大的差异。因此,在下一步中,我必须知道造成这种差异的重要特征是什么,以及量化这两组人口之间特征差异的最佳方法是什么。任何的想法?


子衿沉夜
浏览 220回答 3
3回答

富国沪深

要按重要性对特征进行排名,您可以使用Weka及其强大的特征选择工具包。顺便说一下,Weka 也有 SVM 实现。一旦您确定了重要的特征,您就可以形象化它们在两个类之间的差异,例如通过绘制它们的类分布。Matplotlib 有类似hist或boxplot用于此的工具。

繁花如伊

除了使用模型中支持向量的系数之外,您还可以尝试构建其他模型。决策树方法将明确地向您展示哪些输入特征分割了数据——对于某些重要的定义,那些靠近根的特征更重要。如果您尝试使用特征缩减技术(如 PCA)并重建模型,则此处的组件系数将告诉您哪个贡献最大。或者你可能完全是个暴徒,建立了很多模型而忽略了一些功能,然后看看哪个更好。或者你可以横向,考虑一下你的模型没有准确分类的几个点有什么不同。

慕仙森

您可以尝试将 KS-test 用于您的功能吗?例如,功能 1,按其类别划分。然后你得到两组。然后测试它们是否来自不同的分布或只记录 p 值。当您拥有所有测试结果或 p 值时,使用来自不同分布/非常低 p 值的样本制作另一个模型。看看新模型是否更好或相似。不确定这是否能实现任何目标。想发表评论,但无法发表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python