【发布时间】:2023-03-09 17:17:01
【问题描述】:
背景:我正在对健康保险索赔进行二元分类。我正在使用的数据大约有 100 万行,并且混合了数字特征和分类特征(所有这些都是名义上的离散)。我面临的问题是我的几个分类特征具有高基数,许多值非常不常见或独特。我在下面绘制了我的 8 个分类特征,其中唯一因子水平的计数最高:
虚拟变量的替代方法: 我一直在阅读有关特征散列的内容,并了解到这种方法是一种替代方法,可用于快速且节省空间的特征向量化方法,并且适用于特殊性对于具有高基数的分类数据。我计划利用 Scikit Learn 的 FeatureHasher 对具有 100 多个唯一特征级别的分类特征执行特征散列(我将为具有少于 100 个唯一特征级别的剩余分类特征创建虚拟变量)。在我实现这个之前,我有几个与特征散列相关的问题,以及它与机器学习中的模型性能的关系:
相对于仅对最频繁出现的因子级别进行虚拟化,使用特征散列的主要优势是什么?我认为特征散列方法的信息丢失较少,但需要进一步说明散列在处理高基数时在机器学习算法中提供的优势。
我有兴趣在评估几个单独的分类模型后评估特征重要性。有没有办法在哈希特征与原始分类级别相关的背景下评估它们?有没有办法反转散列或者特征散列是否不可避免地导致模型可解释性的损失?
抱歉,很长的帖子和问题。任何反馈/建议将不胜感激!
【问题讨论】:
标签: python machine-learning scikit-learn categorical-data feature-engineering