半监督学习的测试数据

半监督学习使用一组标记数据(L)来训练模型,以预测一组未标记数据(U),然后将新的标记数据(L’)和原始标记数据(L)组合成完整的标记数据集。

我想问如何提取测试数据。

  1. 我应该从(L union L’)中提取测试数据
  2. 我应该从(L)中提取测试数据

哪个是正确的?

如果测试数据是从(L union L’)中提取的,结果似乎不合理,因为L’中的答案可能是错误的…?

========================================================== 编辑新内容

我有另一个想法…..

3.我应该在一开始将标记数据(L)分割为训练数据(L_train)和测试数据(L_test)。

然后使用L_train来训练模型,并用它来预测一组未标记数据(U),然后将预测结果(L’)和L_train组合起来。

接着,使用(L_train union L’)来训练模型,并在L_test上进行测试。

1、2、3中哪个是正确的?感谢您的回复。


回答:

您在L上训练分类器。您可以首先进行交叉验证来调整一些方法参数P。使用参数P从标记数据L构建模型M。然后使用模型M来标记未标记数据U。您将U中(对分配的类别有最高置信度的)示例与L合并。然后重复此过程,直到所有示例都被分类。

-编辑-

我认为最合适的方法是第三种。但我可能没有完全理解,所以我来说明一下。

您将L分割为L_trainL_test。您使用L_train训练分类器,并使用此分类器来分类U(如我上面描述的方法)。从标记的UL_train的联合中构建一个新的分类器,并用它来分类L_test。这些分类的差异可以用于评估指标(分类准确率等)。

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

发表回复

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