python 划分数据集为训练集和测试集的方法

yipeiwu_com6年前Python基础

sklearn的cross_validation包中含有将数据集按照一定的比例,随机划分为训练集和测试集的函数train_test_split

from sklearn.cross_validation import train_test_split
#x为数据集的feature熟悉,y为label.
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3)

得到的x_train,y_train(x_test,y_test)的index对应的是x,y中被抽取到的序号。

若train_test_split传入的是带有label的数据,则如下代码:

from sklearn.cross_validation import train_test_split
#dat为数据集,含有feature和label.
train, test = train_test_split(dat, test_size = 0.3)

train,test含有feature和label的。

自己写了一个函数:

#X:含label的数据集:分割成训练集和测试集
#test_size:测试集占整个数据集的比例
def trainTestSplit(X,test_size=0.3):
 X_num=X.shape[0]
 train_index=range(X_num)
 test_index=[]
 test_num=int(X_num*test_size)
 for i in range(test_num):
  randomIndex=int(np.random.uniform(0,len(train_index)))
  test_index.append(train_index[randomIndex])
  del train_index[randomIndex]
 #train,test的index是抽取的数据集X的序号
 train=X.ix[train_index] 
 test=X.ix[test_index]
 return train,test

以上这篇python 划分数据集为训练集和测试集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django实现简单网页弹出警告代码

功能所在位置 该功能运用了django.contrib.messages这个库,再django项目中srtting.py文件中的38行,APP注册部分 INSTALLED_APPS...

Python自动发邮件脚本

Python自动发邮件脚本

缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了...

Python实现EXCEL表格的排序功能示例

Python实现EXCEL表格的排序功能示例

EXCEL的数值排序功能还是挺强大的,升序、降序,尤其自定义排序,能够对多个字段进行排序工作。 那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Pytho...

详解Python下Flask-ApScheduler快速指南

引言:Flask是Python社区非常流行的一个Web开发框架,本文将尝试将介绍APScheduler应用于Flask之中。 1. Flask介绍  Flask是Python...

Python 如何优雅的将数字转化为时间格式的方法

将数字转化成时间格式 from dateutil.parser import parse a=20170825 b=str(a) c=parse(b) print(c) 20...