我试图找出这个问题的基本答案,但是Stack Overflow上似乎没有最合适的答案。
我有一个40列55,000行的数据集。这些列中只有8个是数字。其余的32个分类,每个分类中都包含字符串值。
现在,我希望对预测模型进行探索性数据分析,我需要删除某些与目标不具有高度相关性的可变列(可预测)。但是,由于这32个变量都是绝对变量,我该怎么做才能查看它们与目标变量的相关性?
我想尝试的方法:
LabelEncoding所有32列,然后通过PCA运行降维,然后创建一个预测模型。 (如果这样做,那么如何通过删除具有目标的corr()低的无关列来清理数据?)
一次热编码所有32列,并直接在其上运行预测模型。 (如果执行此操作,则清理数据的概念将完全消失,列数将激增,模型将考虑所有相关变量和无关变量进行预测!)
在这种情况下,如果您最终拥有许多类别列,那么最好的做法是什么?
答案 0 :(得分:0)
您可以看看您的分类变量是否适合Spearman等级相关性,后者可以对分类变量进行排名并计算相关系数。但是,请注意类别变量之间的共线性。
答案 1 :(得分:0)
您必须检查相关性。.我可以想到两种情况。
python中有一个软件包,可以为您完成所有这些操作,您只能选择所需的列。
pip安装ctrl4ai
从ctrl4ai导入automl
automl.preprocess(数据框,学习类型)
使用help(automl.preprocess)来了解有关超参数的更多信息,并且您可以按照自己的方式自定义预处理。
请检查automl.master_correlation,它会根据我上面介绍的方法检查相关性。