Machine learning 是什么导致Google Auto ML错误地显示为;“培训/测试/评估拆分”中缺少标签;?

Machine learning 是什么导致Google Auto ML错误地显示为;“培训/测试/评估拆分”中缺少标签;?,machine-learning,google-cloud-automl,Machine Learning,Google Cloud Automl,我有一个1.6米记录的训练集,我的目标有493个唯一值(分类数据) 我听到一个错误,说 Missing label(s) in train split: target column contains 493 distinct values, but only 485 present. Missing label(s) in test split: target column contains 493 distinct values, but only 403 present. Missing

我有一个1.6米记录的训练集,我的目标有493个唯一值(分类数据)

我听到一个错误,说

Missing label(s) in train split: target column contains 493 distinct values, but only 485 present.
Missing label(s) in test split: target column contains 493 distinct values, but only 403 present. 
Missing label(s) in eval split: target column contains 493 distinct values, but only 403 present. 
There must be at least one instance of each label value in every split.

然后他们说“当前”是什么意思?我的数据集中是否有空值,或者我在培训数据集中查看了什么类型的错误?

此问题的根本原因是您没有足够的一个或多个不同标签的数据。这会导致其中一个值不出现在其中一个集合上。默认情况下,AutoML将数据分为80%、10%、10%的Train、Eval和Test。这可能取决于您使用的AutoML的哪一部分,但我认为对所有人来说都大致相同(请参阅或)

要求所有标签都存在于所有三个拆分中。因此,即使所有标签都在原始数据中,也不意味着标签将在所有拆分中。鉴于您拥有的数据量,如果某些标签不常见(低比率),则可能会发生这种情况

解决这一问题的办法是:

  • 添加更多包含麻烦标签的数据。尝试平衡每个标签的数据量,以确保所有标签都出现在每个拆分中
  • 使用、或任何其他已知方法手动指定每个拆分
  • 删除引用过小的标签。如果您无法遵循上述任何一项,这可能是一个快速解决方案

或者,这可能是由于AutoML无法正确识别某些数据,导致数据无效,而这些记录被丢弃,最终导致上述根本原因。如果是这种情况,可以通过尝试上述解决方案并未能解决问题来检查,我建议达到,因为这可能是AutoML功能中的一个问题。

我使用的是表格,目标是四位整数。在数据集中有一些标签,只有几条记录。每个标签3条记录是否至少足够?(在这个阶段,我不太关心准确性)如果您遵循第二条建议并手动指定拆分,那么每个标签3条记录就足够了。在任何情况下,这将导致一个可怕的准确性。建议每个标签至少有100条记录。如果它们是随机生成的,您将需要更多的记录(多于3条),以确保它们出现在所有拆分中。我会推荐上述100张唱片。请记住,考虑到您的记录总数为160万条,您的标签需要在数据集中具有最小的存在性,才能具有最小的相关性。比如说1/10000,每个标签仍然可以产生160条记录。