交叉验证的澄清

我在理解如何实现交叉验证时遇到了一些麻烦。我试图将其应用于LVQ系统。这是我目前的理解…

LVQ可以调整的参数之一是用于建模每个类别的原型数量。为了找到最佳的原型数量,必须在训练数据上训练模型,然后在未见过的数据上测试模型并计算其性能。然而,根据你用于训练和验证的数据点不同,性能结果会有所变化。因此,可以使用交叉验证来获取性能的平均值。

你可以针对不同的原型数量重复这一过程,看看哪个数量能获得最佳平均值。一旦完成,下一步该怎么做?你是根据获得最佳结果的原型数量,在整个训练集上生成一个新模型,还是使用在交叉验证中获得最高准确率的折叠对应的模型?


回答:

你是根据获得最佳结果的原型数量,在整个训练集上生成一个新模型,还是使用在交叉验证中获得最高准确率的折叠对应的模型?

一旦完成交叉验证,并获得最佳参数(在你的情况下,是模型的数量),你就固定这些参数,并在整个训练数据集上训练一个模型。

其原理如下。假设你的训练数据集是tr,你试图确定它在另一个数据集te上的性能(其中te要么是验证数据集,要么是“现实世界”)。由于你无法在te上测试不同参数的影响(要么是因为会过拟合,要么是因为te是“现实世界”,不可用),你可以通过反复将tr分割成tr_cvte_cv来模拟它。一旦你获得了最佳参数,就没有理由不使用所有数据来构建模型。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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