如何在不欠拟合或过拟合的情况下实现回归模型

我在大学项目中获得了一个数据集,其中几乎所有特征与目标的相关性都很弱(只有一个特征与目标有中等相关性)。其分布也不正常。我已经尝试应用简单的线性回归模型,结果导致了欠拟合,然后我应用了简单随机森林回归器,但这导致了过拟合。当我使用randomsearchcv优化随机森林回归器时,耗时非常长。有没有办法在不欠拟合或过拟合的情况下,使用这种不太理想的数据集获得一个 decent 的模型?还是根本不可能做到?


回答:

坦白说,如果你能拟合一个既不欠拟合也不过拟合的模型,你就完全解决了人工智能的问题。

不过,这里有一些建议:

随机森林的过拟合

  • 个人建议尝试这条路线,因为你提到你的数据相关性不强。通常,修复过拟合比修复欠拟合更容易,这也有帮助。

  • 尝试查看你的树输出。如果你使用的是pythonsci-kit learnexport_graphviz可能会有帮助。

  • 尝试减少树的最大深度。

  • 尝试增加一个树必须具备的最多数量样本,以便分裂(或者类似地,叶子节点应该有的最小样本数)。

  • 尝试增加随机森林中的树的数量。

线性回归的欠拟合

  • 增加更多参数。如果你有变量 a, b, … 等,添加它们的多项式特征,即 a^2, a^3 … b^2, b^3 … 等,可能会有所帮助。如果你添加足够多的多项式特征,你应该能够过拟合——尽管这并不一定意味着它会在训练集上有一个好的拟合(RMSE值)。

  • 尝试绘制一些变量与要预测的值(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中创建了一个多类分类项目。该项目可以对…

发表回复

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