这是数据科学中的一个哲学问题。我们应该使用什么特征选择方法:精挑细选的还是详尽所有的?答案是“看情况”。这里的“精挑细选”指的是选择一小部分能够很好解释的有意义的功能;“详尽所有”是指在数据集中选择所有可能的特征组合。在大多数的数据科学家眼中,至少在大多数情况下,过于复杂并没有帮助。通过以上的结论,你可能会得出结论,我喜欢精心挑选的特征。但这并不完全正确。在本文中,我将比较这两种特性选择方法,并帮助您决定应该在何处选择它们。我解释了几种场景的不同之处,以帮助您确定如何为自己的项目选择特性选择方法。
可解释性
场景1:“您正在一家大型企业中从事一个数据科学项目。你的经理和其他利益相关者对机器学习及其潜力没有深入的了解。他们不仅要求你通过这个项目创造价值,而且你还说服他们关于整个解决方案。你陷入了沮丧之中,因为他们不能很好地理解你。”
如果您使用可解释的特性,即那些可以由问题的物理特性支持的特性,您可以更容易地获得组织的信任。这并不意味着您不应该在您的项目中应用详尽的特性工程技术。因为,整个机器学习过程还没有准备好,你必须向其他利益相关者展示初步的结果。如果你选择了基于问题物理的可解释特性,你就可以更好地与其他团队成员进行沟通,并更容易地支持你的决策。因此,当您处理场景1时,我建议从精选的特性选择方法开始。
初期和后期
场景2:“你在一家初创公司工作。你会遇到许多交付日期,必须向投资者或竞争对手演示产品。你需要建立一个能够正常工作的机器学习模型。对模型性能的期望还不高,任何具有功能的ML模型都将受到欢迎。”
您可能认为在这种情况下,详尽的方法更好,因为您没有时间做特性工程等。其实这样是不对的!特别是在初期,您需要大量的hacks来处理各种情况。如果您使用详尽的方法,您对过程没有足够的可见性,因此,不能快速响应在初期阶段经常出现的意外情况。因此,我建议在开发的初期阶段挑选最优秀的,在开发的后期阶段挑选最详尽的。
洞察力与结果导向
场景3:“你正在从事一个数据科学项目,其主要目标是深入了解问题。ML模型的结果很重要,但更重要的是,你必须提供建议来提高所分析的流程。并且性能不是通过ML模型的数值结果来衡量的。例如,你负责创建由ML模型支持的建议列表,这些建议可以改进业务逻辑和流程。”
例如,你在一个机器学习模型上工作,以预测制造过程中的回报率。这个过程非常复杂,以至于没有人对此有足够的了解。所以你不应该给它增加更多的复杂性。但是作为工作的产出,你必须通过创建一份可操作的技巧列表来帮助企业所有者对制造过程有更多的了解。这里建议使用精选的方法,因为它提供了可见性。ML流程在其他地方有足够的复杂性,但是你不应该为这样复杂的项目添加更多的复杂性。
总结
简而言之,在我看来,始终必须以精心挑选的方法开始,以数据科学项目为目标。然后,当你深入了解问题,与其他利益相关者建立信任,以及开发好可靠的ML流程后,可以切换到详尽的特征中。特征选择中的详尽方法使您可以在数据允许的范围内最大限度地提高模型性能。