我在大学项目中获得了一个数据集
,其中几乎所有特征与目标的相关性都很弱(只有一个特征与目标有中等相关性)。其分布也不正常。我已经尝试应用简单的线性回归模型,结果导致了欠拟合
,然后我应用了简单随机森林回归器
,但这导致了过拟合
。当我使用randomsearchcv
优化随机森林回归器
时,耗时非常长。有没有办法在不欠拟合或过拟合的情况下,使用这种不太理想的数据集
获得一个 decent 的模型?还是根本不可能做到?
回答:
坦白说,如果你能拟合一个既不欠拟合也不过拟合的模型,你就完全解决了人工智能的问题。
不过,这里有一些建议:
随机森林的过拟合
-
个人建议尝试这条路线,因为你提到你的数据相关性不强。通常,修复过拟合比修复欠拟合更容易,这也有帮助。
-
尝试查看你的树输出。如果你使用的是
python
,sci-kit learn
的export_graphviz
可能会有帮助。 -
尝试减少树的最大深度。
-
尝试增加一个树必须具备的最多数量样本,以便分裂(或者类似地,叶子节点应该有的最小样本数)。
-
尝试增加随机森林中的树的数量。
线性回归的欠拟合
-
增加更多参数。如果你有变量 a, b, … 等,添加它们的多项式特征,即 a^2, a^3 … b^2, b^3 … 等,可能会有所帮助。如果你添加足够多的多项式特征,你应该能够过拟合——尽管这并不一定意味着它会在训练集上有一个好的拟合(RMSE值)。
-
尝试绘制一些变量与要预测的值(y)的关系图。也许你能看到一个非线性模式(即对数关系)。
-
你对数据了解多少?或许两个变量之间的乘积或除法可能是一个好的指标。
-
如果你正在正则化(或者如果软件自动应用)你的回归,尝试减少正则化参数。