加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将数据集拆分/分区为训练和测试数据集,例如交叉验证?

发布时间: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”方法,这些方法创建了与某些功能相关的数据分区,例如,以确保在训练和测试集中有相同比例的正面和负面示例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读