如何查看scikit-learn中功能之间的相关性?

时间:2019-07-23 06:17:02

标签: scikit-learn feature-selection

我正在开发一个模型,该模型可以预测员工是保留工作还是离开公司。

功能如下

  • satisfaction_level
  • last_evaluation
  • number_projects
  • average_monthly_hours
  • time_spend_company
  • work_accident
  • promotion_last_5years
  • 部门
  • 薪金
  • 左(布尔)

在特征分析期间,我想出了两种方法,在两种方法中,对于特征我都得出了不同的结果。如图所示 here

当我绘制热图时,可以看到 satisfaction_level 与左侧的负相关

另一方面,如果我仅使用 pandas 进行分析,则会得到类似this

的结果

在上图中,可以看到 satisfaction_level 在分析中非常重要,因为具有较高满意度_level 保留的员工。

虽然对于 time_spend_company 来说,热图很重要,但另一方面,差异在第二张图片中并不是很重要。

现在,我对于是否将此作为我的功能之一以及为选择功能而应该选择哪种方法感到困惑。

请一些帮助我。

顺便说一句,我正在 scikit-learn 中进行ML,数据取自here

1 个答案:

答案 0 :(得分:0)

要素之间的相关性与要素重要性无关。您的热图正确显示了相关性。 实际上,在大多数情况下,当谈论功能重要性时,必须提供所使用模型的上下文。不同的模型可能会选择其他重要的功能。此外,许多模型都假设数据来自IID(独立且均匀分布的随机变量),因此希望相关性接近零。

例如,在sklearn中学习回归以获取对特征重要性的估计,您可以检查coef_参数。