sklearn.cross_validation.train_test_split用法

from sklearn.cross_validation import train_test_split

在做机器学习项目时,有时候会需要自己手动把数据集分隔成训练集、交叉验证集(CV)或者交叉验证集和测试集,此时可以用到sklearn提供的分隔数据集的函数,以下举例说明:

>>> mat = sio.loadmat('data.mat')
>>> mat.keys()
dict_keys(['__header__', '__version__', '__globals__', 'X', 'Xval', 'yval'])

>>> mat.get('Xval').shape, mat.get('yval').shape
((307, 2), (307, 1))

>>> Xval, Xtest, yval, ytest = train_test_split(mat.get('Xval'),mat.get('yval').ravel(),test_size=0.5)
Xval.shape, Xtest.shape, yval.shape, ytest.shape
((153, 2), (154, 2), (153,), (154,))

现在解释一下上面的代码,先导入数据,看了数据是什么样的组织形式,这时我们发现数据只有训练集和验证集,没有测试集。此时就需要train_test_split函数了。
我要用它将验证集分出一部分作为测试集。这个函数做的事情就是:将上面Xval和yval各分出了一部分作为测试集的Xtest和ytest。其中test_size表示我要分成一半一半,且为随机抽取。也可以选择其他比例,更改test_size的值即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值