python交叉验证法_Python 之 sklearn 交叉验证 数据拆分

本文K折验证拟采用的是

Python 中 sklearn 包中的 StratifiedKFold 方法。

方法思想详见:http://scikit-learn.org/stable/modules/cross_validation.html

is

a variation ofk-foldwhich returnsstratifiedfolds:

each set contains approximately the same percentage of samples of each target class as the complete set.

【译】

数据成分,按均等方式拆分的方法。

其它划分方法详见:http://scikit-learn.org/stable/modules/cross_validation.html

闲言少叙,直接上代码。

【屌丝源码】

import numpy

import h5py

import sklearn

from sklearn import cluster,cross_validation

from sklearn.cluster import AgglomerativeClustering

from sklearn.cross_validation import StratifiedKFold

## 生成一个随机矩阵并保存

#arr = numpy.random.random([200,400])

#labvec = []

#for i in numpy.arange(0,200):

# j = i%10

# arr[i,j*20:j*20+20] = arr[i,j*20:j*20+20]+10

# labvec.append(j)

#arr = arr.T

#file = h5py.File('arr.mat','w')

#file.create_dataset('arr', data = arr)

#file.close()

#file = h5py.File('labvec.mat','w')

#file.create_dataset('labvec', data = labvec)

#file.close()

# 读方式打开文件

myfile=h5py.File('arr.mat','r')

arr = myfile['arr'][:]

myfile.close()

arr = arr.T

myfile=h5py.File('labvec.mat','r')

labvec = myfile['labvec'][:]

myfile.close()

skf = StratifiedKFold(labvec, 4)

train_set = []

test_set = []

for train, test in skf:

train_set.append(train)

test_set.append(test)

详见:http://scikit-learn.org/stable/modules/cross_validation.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值