我正在处理一个监督机器学习分类用例,我有5个特征和一个目标变量。假设这5个特征是A、B、C、D、E、F,目标变量是G。E特征不是原始特征,而是由其他特征预测出来的。我尝试使用这个特征进行模型构建,分类指标表现相当不错。但是现在我的老板说我们不能直接使用特征E,因为它不是直接可用的,我们需要先预测它,然后再使用它来预测目标G。
以下是我尝试过的一些方法:
-
我尝试在特征列表中去掉特征E来构建模型,结果指标下降了,这意味着特征E很重要。
-
老板说特征E是依赖于特征A、B、C、D和F的,所以我们可以用这些特征来预测特征E,然后用特征A、B、C、D、E、F来预测G。
我有一些担忧:
-
如果特征E依赖于特征A、B、C、D和F,那么在构建模型时不使用特征E应该不会对我的指标有太大影响。
-
如果我使用特征A、B、C、D和F来预测特征E,然后确实使用特征A、B、C、D、E、F来预测G,我不是在使用相关特征来构建模型吗?因为E是使用A、B、C、D和F预测的。使用F不会给我的特征集增加任何额外信息。
我的理解是,如果在特征列表中去掉特征E来构建模型导致我的指标下降,那么这意味着特征E来自其他地方,即不是来自特征A、B、C、D、F。
我不是机器学习的经验丰富的人,这些是我对这个问题的想法。
请告诉我我的思考过程是否正确?
回答:
- 如果特征E依赖于特征A、B、C、D和F,那么在构建模型时不使用特征E应该不会对我的指标有太大影响。
这真的取决于你使用的模型,但举个简单的例子,假设你使用的是线性回归模型,你试图预测的值是y=x²
你无法用简单的线性回归模型(A*x+B)找到合适的模型。然而,你可以创建一个新特征x’ = x²,现在你可以拟合y = A*x’ + b。所以,一个依赖于其他特征组合的特征有时可以帮助你的模型。
- 如果我使用特征A、B、C、D和F来预测特征E,然后确实使用特征A、B、C、D、E、F来预测G,我不是在使用相关特征来构建模型吗?因为E是使用A、B、C、D和F预测的。使用F不会给我的特征集增加任何额外信息。
这个问题更复杂,因为这真的取决于你用来预测E的模型,以及你用来预测y的模型。如果你对两者都使用简单的线性回归,那么是的,E将是其他变量的线性组合,对预测y没有帮助。
但你可以想象使用非线性模型,如随机森林来预测E,这可能会帮助你的最终模型。
总之:尝试一下成本不高,只是要小心避免在两个模型上使用相同的训练/测试集,以防止任何信息泄露。