一个游离于山间之上的Java爱好者 | A Java lover living in the mountains
Scikit-Learn提供了一些函数,以各种方式将数据集拆分为多个子集。最简单的函数train_test_split(),它的功能与我们前面定义的shuffle_and_split_data ()函数非常相似,只是增加了几个特性。首先,有一个random_state参数,它允许您设置随机生成器种子。其次,您可以向它传递具有相同行数的多个数据集,它将按照相同的索引将它们拆分(这是非常有用的,例如,如果你有一个单独的DataFrame标签)
在此保留验证过程之后,您可以在完整的训练集(包括验证集)上训练最佳模型,这将为您提供最终模型。在这种情况下,需要记住的最重要的规则是,验证集和测试集都必须尽可能具有生产中预期使用的数据的代表性,因此它们应该完全由有代表性的图片组成:您可以对它们进行洗牌,将一半放在验证集中,另一半放在测试集中(确保在这两个集合中都没有重复或接近重复的数据)。在网络图片上对模型进行培训之后,如果您观察到模型在验证集上的性能令人失望,您将不知道这是因为您的模型超出了培训集,还是仅仅是由于网络图片和移动应用程序图片之间的不匹配。