如何将数据集拆分/分区为训练和测试数据集,例如交叉验证?
发布时间:2020-12-20 10:32:54 所属栏目:Python 来源:网络整理
导读:将NumPy数组随机分成训练和测试/验证数据集的好方法是什么?类似于Matlab中的cvpartition或crossvalind函数. 解决方法 如果要将数据集分成两半,则可以使用numpy.random.shuffle或numpy.random.permutation,如果需要跟踪索引: import numpy# x is your datas
将NumPy数组随机分成训练和测试/验证数据集的好方法是什么?类似于Matlab中的cvpartition或crossvalind函数.
解决方法
如果要将数据集分成两半,则可以使用numpy.random.shuffle或numpy.random.permutation,如果需要跟踪索引:
import numpy # x is your dataset x = numpy.random.rand(100,5) numpy.random.shuffle(x) training,test = x[:80,:],x[80:,:] 要么 import numpy # x is your dataset x = numpy.random.rand(100,5) indices = numpy.random.permutation(x.shape[0]) training_idx,test_idx = indices[:80],indices[80:] training,test = x[training_idx,x[test_idx,:] repeatedly partition the same data set for cross validation有很多种方法.一种策略是从数据集重新采样,重复: import numpy # x is your dataset x = numpy.random.rand(100,5) training_idx = numpy.random.randint(x.shape[0],size=80) test_idx = numpy.random.randint(x.shape[0],size=20) training,:] 最后,sklearn包含several cross validation methods(k-fold,leave-n-out,…).它还包括更先进的“stratified sampling”方法,这些方法创建了与某些功能相关的数据分区,例如,以确保在训练和测试集中有相同比例的正面和负面示例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |