Python机器学习——Sklearn——划分数据集——交叉检验

sklearn.cross_validation——train_test_split随机划分训练集和测试集

X_train,X_test,y_train,y_test=train_test_split(train_data,train_target,test_size=0.2,random_state=14)

train_date:所有划分的样本特征集

train_target:所有划分的样本结果

test_size:样本占比,如果是整数的话就是样本的数量

random_state:是随机数的种子。随机数种子:其实就是该组随机数的编号,在需要重复验证的时候,保证得到一组一样的随机数。

随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:

种子不同,产生不同的随机数;种子相同,即使实例不同也产生相同的随机数。


交叉检验能解决一次性测试所带来的问题。既然只切一次有问题,那就多切几次,多进行几次实验。每次切分时,都要保证这次得到的训练集合测试集与上次不一样,还要确保每条数据都只能用来测试一次。算法描述如下:

1、将这个大数据集分成几个部分

2、对于每一部执行以下操作:

a)将其中一部分作为当前测试集

b)用剩下的部分训练算法

c)在当前测试集上测试算法

3、记录每次得分及平均得分

4、在上述过程中,每条数据只能在测试集中出现一次,以减少(但不能避免)运气成分。

scikit-learn提供了几种交叉检验方法。有个辅助函数实现了上述交叉检验步骤

from sklearn.cross_validation import cross_val_score

scores=cross_val_score(estimator,X,y,scoring='accuracy')

average_accuracy=np.mean(scores)*100

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值