选择分类特征的最佳实践

数据挖掘 特征选择 分类数据
2022-03-12 06:25:45

我正在尝试创建一个分类器来预测某人是否会参加面试。每个数据点是针对单个候选人的,包含面试地点、候选人当前位置、工作技能要求、面试类型等详细信息。所有数据都是分类的。

还有一些你可能认为不会影响候选人出勤率的特征,例如婚姻状况。我最初的想法是,基于“常识”(我松散地使用这个术语),放弃这个功能,但我想采取更严格的方法来确定它的重要性。但是,我不确定什么是最佳实践。我如何确定这是否是可以删除的功能?

其次,即使预测能力有限,保留它是否有不利之处?除了创建一个更繁琐的模型之外,它是否会对预测的准确性产生不利影响?

谢谢。

3个回答

对于删除分类变量,通常使用的技术是基于卡方分布的选择该技术属于通用术语单变量特征选择

对模型和功能有直觉真是太好了。但实际上建议遵循特征选择程序。

但是,我不确定什么是最佳实践。我如何确定这是否是可以删除的功能?

在这里可以应用有限的常识或直觉,我们显然会知道候选人的“手机号码”没有用(它的预测能力较小)。但我们可能不知道候选人的出行方式是否会影响面试的存在(基于位置和通勤性)。

有必要对您的数据进行特征工程(运行特征选择算法)以找出一些有效的特征。在此处查找所涉及的方法。我发现基于树的选择算法对我来说效果很好。但这真的取决于数据。

其次,即使预测能力有限,保留它是否有不利之处?除了创建一个更繁琐的模型之外,它是否会对预测的准确性产生不利影响?

最好避免使用较少/无用的特征来提高模型的准确性,除非你有非常少的有效特征。由于降维,它还可以帮助您更快地训练模型。参考

用于示例的 Scikit-learn 文档

对于标签,您主要会遇到两个基于树的算法的问题,这两种问题都可能过拟合:

  • 稀有值
  • 基数

稀有值是分类变量中的标签/类别,仅在一小部分观察中出现。没有经验法则来确定小百分比有多小,但通常,任何低于 5% 的值都可能导致树中的过度拟合。

高基数:在 Kaggle 比赛中大量使用的一种方法是用计数替换分类变量的每个标签,这是每个标签在数据集中出现的次数。

Udemy 上有一个很棒的特征工程课程。Soledad Galli 博士详细介绍了稀有值和基数。

特别是,她研究了梅赛德斯奔驰 Kaggle 数据集的不同方法。相当有趣和先进。

https://www.udemy.com/feature-engineering-for-machine-learning/learn/v4/overview