如果一个分类特征在数据集中只出现几次,我应该放弃它吗?

数据挖掘 逻辑回归 支持向量机 特征 一热编码
2022-02-20 10:29:11

我有一个主要是分类变量的数据集。当我对它们进行 one-hot 编码时,一些特征出现的几率不到 3%。

例如,技术支持功能仅在具有 32561 个样本的数据集中出现 928 次,即。它只发生 2.9% 的时间。

当我应该废弃这些变量时,是否有一个通用的截止点?我正在为二元逻辑回归和 SVM 清理这个数据集。

谢谢!

3个回答

确实,删除非常罕见的布尔特征通常是一个好主意,但问题是凭直觉选择阈值不一定是最佳的。应尽可能通过实验确定最佳值,并且通常对于有效方法(如对数回归或 SVM)应该是可能的。这个想法只是将一系列值视为阈值,并使用训练集的子集运行网格搜索。阈值与学习方法的超参数完全一样。

由于您在一次热编码后提到,您将获得 90 个功能,我建议您不要删除较少出现的值。对于 ml 算法,90 个特征被认为更少。例如,如果您的维度增加到 400-500 个或更多特征,那么只有考虑删除不太频繁的值。

还要首先考虑特征工程以减少数据中的特征数量。这是降维最有效、最无创的方法。

之后考虑特征选择和/或 PCA。

只有这样才考虑删除不太频繁的值,因为删除它们会导致丢失有价值的信息。

这取决于您的用例。如果您的用例是“防止人们死亡”或“寻找在线客户”,那么应该分析任何具有边际理论预测能力的类别。相反,如果您的目标是提高整体健康或品牌知名度,则应删除该类别。如果您的用例很少见,那么稀有类别将很重要。如果您的用例是通用的,那么稀有类别并不重要。