我有一个主要是分类变量的数据集。当我对它们进行 one-hot 编码时,一些特征出现的几率不到 3%。
例如,技术支持功能仅在具有 32561 个样本的数据集中出现 928 次,即。它只发生 2.9% 的时间。
当我应该废弃这些变量时,是否有一个通用的截止点?我正在为二元逻辑回归和 SVM 清理这个数据集。
谢谢!
我有一个主要是分类变量的数据集。当我对它们进行 one-hot 编码时,一些特征出现的几率不到 3%。
例如,技术支持功能仅在具有 32561 个样本的数据集中出现 928 次,即。它只发生 2.9% 的时间。
当我应该废弃这些变量时,是否有一个通用的截止点?我正在为二元逻辑回归和 SVM 清理这个数据集。
谢谢!
确实,删除非常罕见的布尔特征通常是一个好主意,但问题是凭直觉选择阈值不一定是最佳的。应尽可能通过实验确定最佳值,并且通常对于有效方法(如对数回归或 SVM)应该是可能的。这个想法只是将一系列值视为阈值,并使用训练集的子集运行网格搜索。阈值与学习方法的超参数完全一样。
由于您在一次热编码后提到,您将获得 90 个功能,我建议您不要删除较少出现的值。对于 ml 算法,90 个特征被认为更少。例如,如果您的维度增加到 400-500 个或更多特征,那么只有考虑删除不太频繁的值。
还要首先考虑特征工程以减少数据中的特征数量。这是降维最有效、最无创的方法。
之后考虑特征选择和/或 PCA。
只有这样才考虑删除不太频繁的值,因为删除它们会导致丢失有价值的信息。
这取决于您的用例。如果您的用例是“防止人们死亡”或“寻找在线客户”,那么应该分析任何具有边际理论预测能力的类别。相反,如果您的目标是提高整体健康或品牌知名度,则应删除该类别。如果您的用例很少见,那么稀有类别将很重要。如果您的用例是通用的,那么稀有类别并不重要。