处理与输出预测无关的特征?

我使用多个特征进行回归分析。特征数量在20到23之间。目前,我检查每个特征与输出变量的相关性。一些特征显示出接近1或-1的相关系数(高度相关)。一些特征显示出接近0的相关系数。我的问题是:如果某个特征的相关系数接近0,我是否必须删除它?或者我可以保留它,只是这个特征对回归模型不会产生明显影响,或者对其影响微弱。还是说删除这种特征是必须的?


回答:

简而言之

  • 特征与输出之间的高(绝对)相关性意味着该特征作为预测器应该是有价值的
  • 特征与输出之间缺乏相关性意味着什么也没有

更多细节

成对相关性只能显示一件事如何影响另一件事,它完全没有说明这个特征与其他特征的联系有多好。因此,如果你的模型不是简单的,那么你不应该因为它们与输出不相关而删除变量。我将给你一个例子来说明为什么。

考虑以下样本,我们有2个特征(X, Y)和一个输出值(Z,假设红色是1,黑色是0)

enter image description here

X   Y   Z1   1   11   2   01   3   02   1   02   2   12   3   03   1   03   2   03   3   1

让我们计算相关性:

  • CORREL(X, Z) = 0
  • CORREL(Y, Z) = 0

那么…我们应该删除所有值吗?删除其中一个?如果我们删除任何变量 – 我们的问题将完全无法建模!“魔法”在于数据中实际上存在“隐藏”的关系。

|X-Y|012101210

并且

  • CORREL(|X-Y|, Z) = -0.8528028654

现在这是一个很好的预测器!

你实际上可以通过以下方式获得一个完美的回归器(插值器)

Z = 1 - sign(|X-Y|)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注