作为数据分析的初学者,我要求您不要对这个问题过多评判。
我试图找出 Pandas 模块中是否有标准方法(功能?)来识别列的冗余。例如,特别是对于分类数据类型,如果一列是另一列的函数,则它可以被认为是冗余的,并且可以在不损失任何预测能力的情况下将其忽略。我不想自己实现任何重型机械,而是使用常识方法,因此是我的问题。
我猜相关性是一个很好的指标,但它有不同的含义,它不适合两个分类列。
任何答案将不胜感激,干杯。
作为数据分析的初学者,我要求您不要对这个问题过多评判。
我试图找出 Pandas 模块中是否有标准方法(功能?)来识别列的冗余。例如,特别是对于分类数据类型,如果一列是另一列的函数,则它可以被认为是冗余的,并且可以在不损失任何预测能力的情况下将其忽略。我不想自己实现任何重型机械,而是使用常识方法,因此是我的问题。
我猜相关性是一个很好的指标,但它有不同的含义,它不适合两个分类列。
任何答案将不胜感激,干杯。
嗯,它总是取决于,例如,您可能正在训练什么模型(即,有些模型对多重共线性具有鲁棒性)。我很确定你知道,但是作为经验法则,如果你知道你在寻找什么总是有帮助的,而不是天真地希望一个函数或方法能给出所有的答案。
据说,有很好的进展,实际上是一个强大的 Python 包pandas-profiling,它可以简单地获取一个 pandas 数据帧并在眨眼之间返回许多有用的信息(如果它不是超大数据集的话)。是的,对于冗余,相关性是一个好的开始,基于 Spearman、Pearson 和 Kendall 矩阵的高度相关变量的pandas-profiling亮点。请查看这篇文章以快速阅读有关 pandas-profiling 的信息。
对于分类列,事情通常会变得更加棘手。过去,pandas-profiling没有提供任何东西。我只是仔细检查了一下,有趣的是,他们在他们的 repo上的这个Closed Issue中实现了Cramer 的 V (如果你想了解 Cramer 的 V 4 ,请参阅这篇不错的帖子 ' The Search for Categorical Correlation ' )。我无法确认它的功能,你必须自己测试它,但我相信它应该是可靠的,因为许多人都为这个项目做出了贡献。不幸的是,他们的文档并不完整,但似乎就在那里,请参阅相关性.html页面。
更新:刚刚发现他们在示例下有一个高级教程,即链接到 Colab 笔记本教程:使用 Kaggle 数据的报告结构(高级),其中数据集是许多数据类型的组合,包括数值和分类,它们实际上显示了所有优雅的相关性,看截图:
祝你好运!