sklearn中train_test_split库的使用

  1. 背景:

在做数据处理的时候,我们往往拿到的只是一长串的数据,没有将训练集和验证集分开,这时候如果用训练集来训练,再拿训练集来测试,显然是对模型的泛化能力没有帮助的(拿一个好看的结果来欺骗自己),这时候就需要将原始数据进行随机分割,sklearn中提供了train_test_split库用于测试集和训练集的划分。
划分以后的训练集和测试集最终可以用来进行交叉验证。

  1. 格式如下:
X_train,X_test, y_train, y_test 
=cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)

train_data:待划分的原始数据。
train_target:待划分的样本标签。
test_size:浮点数表示测试集占的比例,整数表示测试集的样本个数。
random_state:随机数的种子,是为了保证每次训练结果都是一样的。不同的种子划分的随机数不同,可以随便选择一个值作为种子,注意给定了数值以后就不要修改了。

3.案例:

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
df=pd.read_csv('E:/00learning//01Python/机器学习/还款预期风险预测/loan_risk_forecast/train.csv')
df.head(5)
data=np.array(df)
X=data[:,:20]
y=data[:,21]
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=1)
print('原始数据大小:{}'.format(data.shape))
print('训练集样本数据大小:{}'.format(X_train.shape))
print('测试集样本数据大小:{}'.format(X_test.shape))
print('训练集样本数据大小:{}'.format(y_train.shape))
print('训练集样本数据大小:{}'.format(y_test.shape))

结果如下:

原始数据大小:(8000, 22)
训练集样本数据大小:(5600, 20)
测试集样本数据大小:(2400, 20)
训练集样本数据大小:(5600,)
训练集样本数据大小:(2400,)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值