python如何将数据集按比例随机切分

 更新时间:2023年09月09日 09:06:14   作者:Arxan_hjw  
这篇文章主要介绍了python如何将数据集按比例随机切分问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python将数据集按比例随机切分

# -*- coding: utf-8 -*-
"""
    将数据按比例切分
"""
from sklearn import model_selection
c = []
j = 0
#filename = r'E:\NER\CCKS2020\Data\ccks2020_2_task1_train\task1_train.txt'
filename = open(r'task1_train.txt','r',encoding='utf-8')
out_train = open(r'train.txt', 'w',encoding='utf-8')
out_test = open(r'temp.txt', 'w',encoding='utf-8')
for line in filename:
    #    items = line.strip().split()
    c.append(line)
c_train, c_test = model_selection.train_test_split(c, test_size=0.2)
for i in c_train:
    out_train.write(i)
for i in c_test:
    out_test.write(i)

sklearn数据集随机切分(train_test_split)

sklearn学习

给定数据集X和类别标签y,将数据集按一定比例随机切分为训练集和测试集。

代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
功能:数据集按比例切分为训练集和测试集
时间:2017年3月11日 12:48:57
"""
# from sklearn.cross_validation import train_test_split
from sklearn.model_selection import train_test_split  # 更新
# 生成200个句子,前100个和后100个类别分别对应1和2
X = [[u"这是", u"第1个", u"测试"]] * 100 + [[u"这是", u"第2个", u"测试"]] * 100
y = [1] * 100 + [2] * 100
# 随机抽取20%的测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print len(X_train), len(X_test)
# 查看句子和标签是否仍然对应
for i in range(len(X_test)):
    print "".join(X_test[i]), y_test[i]
if __name__ == "__main__":
    pass

实验结果

切分后的训练集和测试集标签仍然一一对应。

更新

由于sklearn更新,代码应改为:

from sklearn.model_selection import train_test_split

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python OpenCV超详细讲解读取图像视频和网络摄像头

    Python OpenCV超详细讲解读取图像视频和网络摄像头

    OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令,本篇文章带你了解OpenCV读取图像视频与网络摄像头的方法
    2022-04-04
  • python删除列表元素的三种方法(remove,pop,del)

    python删除列表元素的三种方法(remove,pop,del)

    这篇文章主要介绍了python删除列表元素的三种方法(remove,pop,del),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python 可视化库PyG2Plot的使用

    python 可视化库PyG2Plot的使用

    这篇文章主要介绍了python 可视化库PyG2Plot的使用方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • anaconda jupyter不能导入安装的lightgbm解决方案

    anaconda jupyter不能导入安装的lightgbm解决方案

    这篇文章主要介绍了anaconda jupyter不能导入安装的lightgbm解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python ctypes库2_指定参数类型和返回类型详解

    python ctypes库2_指定参数类型和返回类型详解

    今天小编就为大家分享一篇python ctypes库2_指定参数类型和返回类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 控制Python浮点数输出位数的操作方法

    控制Python浮点数输出位数的操作方法

    在python的输出结果中,尤其是浮点数的输出,当我们需要写入文本文件时,最好是采用统一的输出格式,这样也能够增强结果的可读性,这篇文章主要介绍了控制Python浮点数输出位数的方法,需要的朋友可以参考下
    2022-04-04
  • python接口自动化之使用token传入到header消息头中

    python接口自动化之使用token传入到header消息头中

    这篇文章主要介绍了python接口自动化之使用token传入到header消息头中问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python爬虫 批量爬取下载抖音视频代码实例

    Python爬虫 批量爬取下载抖音视频代码实例

    这篇文章主要介绍了Python爬虫 批量爬取下载抖音视频代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 详解django中自定义标签和过滤器

    详解django中自定义标签和过滤器

    本篇文章主要介绍了django中自定义标签和过滤器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 使用Python的Twisted框架构建非阻塞下载程序的实例教程

    使用Python的Twisted框架构建非阻塞下载程序的实例教程

    Twisted的异步工作模式使其在非阻塞情况下可以拥有较高的性能,这里我们来看一下使用Python的Twisted框架构建非阻塞下载程序的实例教程,包括服务器端与客户端的实践.
    2016-05-05

最新评论