神经网络模型,因为其随机性,每次训练出来的结果中准确度不太一样。想请问下:
关于第5个问题,我也一直没想明白,不过我刚才抽烟的时候突然想明白了,不一定正确:
假设你是项目经理,我是码农,小丽是测试。你拿到一堆样本,想要得到一个模型,于是你把样本分成2份:一份发给我用来训练模型,一份发给小丽,用来测试我训练的模型。
我拿到数据后又分成2份,一份是训练集,就是用来训练模型的,一份是验证集,就是我用来验证模型参数是否达到要求的(实际上有时候不是明确的分成两份,也可能是我训练10次模型,每次都把你给我的那份数据按照某种策略分成两份,会有重复使用的情况,这是另一个问题了)。等我把模型交给小丽,小丽会用你给她那份数据测试正确率等,这份数据就是测试集。
也就是说程序员通常只关心训练集和验证集,而测试人员只关心测试集。所以你经常看到只分两份,因为你看到的都是码农。
可能通常码农不会用到测试集,验证就当测试了,合二为一了。
你说的对。这个说法,我也看到过。
只是常规情况下,我见到的都是这么切分数据集的:
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 1/3,random_state =1),这种情况下,可能所谓的X_test和y_test应该被定义为验证集,而不是测试集。。
但是,又有个疑问,因为要考虑是否过拟合的问题,我们还是要留出部分数据,来查看数据的准确度或是R方值,是否明显下降。。而验证集,一般又被人说是用来进行超参训练的。。这里不是有冲突么?
@老笨啊: 大佬,你在数据分析行业干活呀,真是令人羡慕。我也不知道了,我从来没干过,我只看过书而已,都是纸上谈兵,建议i问问公司里的大大佬吧。