Python 训练集、测试集以及验证集切分方法:sklearn及手动切分
目录
方法一
方法二
需求目的:针对模型训练输入,按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集,可按照98:1:1的比例进行切分。
方法一:切分训练集和测试集,采用机器学习包sklearn中的train_test_split()函数
方法二:切分训练集、测试集以及验证集,针对dataframe手动切分
方法一
采用Sklearn包中的sklearn.model_selection.train_test_split()函数,该函数功能是将原始数据按照比例切分为训练集和测试集。
函数形式:
sklearn.model_selection.train_test_split(*arrays, test_size=None,
train_size=None, random_state=None, shuffle=True, stratify=None)参数解读:
*arrays:等长的列表、数组或者dataframe等
test_size: 0和1之间,默认0.25
train_size: 0和1之间,默认1
random_state: 传递一个int值,以便在多个函数调用之间产生可复制的输出
shuffle: 拆分前是否进行洗牌
strafity: 是否对数据进行分层返回结果:
输入序列的train test分割序列
例子
>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],[2, 3],[4, 5],[6, 7],[8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]>>> X_train, X_test, y_train, y_test = train_test_split(
... X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],[0, 1],[6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],[8, 9]])
>>> y_test
[1, 4]
方法二
手动切分,代码如下。输入采用Python的DataFrame,同样输出三个文件。如果需要每次都输入同样的切分数据,可采用random.seed()定义随机数种子。
def split_train_test_valid():# read fileinput_path = "E:\\Data\\"file = "flow.csv"df_flow = pd.read_csv(input_path + file, header=None, encoding='gbk')# define the ratios 6:2:2train_len = int(len(df_flow) * 0.6)test_len = int(len(df_flow) * 0.2)# split the dataframeidx = list(df_flow.index)random.shuffle(idx) # 将index列表打乱df_train = df_flow.loc[idx[:train_len]]df_test = df_flow.loc[idx[train_len:train_len+test_len]]df_valid = df_flow.loc[idx[train_len+test_len:]] # 剩下的就是valid# outputdf_train.to_csv(input_path+'train.txt', header=False, index=False, sep='\t')df_test.to_csv(input_path+'test.txt', header=False, index=False, sep='\t')df_valid.to_csv(input_path+'valid.txt', header=False, index=False, sep='\t')
参考资料:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html
相关文章:
Python 训练集、测试集以及验证集切分方法:sklearn及手动切分
目录 方法一 方法二 需求目的:针对模型训练输入,按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集,可按照98:1:1的比例进行切分。 方法一:切分训练集和测试集&…...
数据结构,及分类(存储分类、逻辑分类)介绍
一、数据结构: 数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。 如何合理存储数据,如何有效提升数据操作开发效率,都是软件开发中的重中之重。使用合理的数据结构是非常重要的。 1.1简介ÿ…...
Powershell脚本自动备份dhcp数据库
文章目录 为什么要备份DHCP数据库呢?在PowerShell中自动备份DHCP数据库1,创建备份目录2,判断备份路径是否存在3,备份DHCP数据库4,完整自动备份脚本5,安排定期备份 推荐阅读 为什么要备份DHCP数据库呢&#…...
第十六章总结:反射和注解
.1.1:访问构造方法 反射: 1.class类 2.获取构造方法 3.获取成员属性 4.获取成员方法 注解 1.内置注解 2.反射注解 3 创建Class对象的三种方式 1.使用getClass()方法 object str new object()…...
mysql 切割字符串函数
93、mysql 切割字符串函数 需求,使用in 匹配多个参数,name字段值类型:1234(小明) 结果: select * from user where SUBSTRING_INDEX(REPLACE(name, ), ), (, -1) in ( 小明,小李)使用的函数如下 1、使用SUBSTRING_INDEX函数 SU…...
汽车发动机电机右盖设计
摘要 随着我国微型电子技术和社会经济的发展,目前行业内为满足客户需求出现了大量的电器设备,而大多数的电气设备的重要组成中都有电机,并且电机端盖成为电机研发人员重点关注和研究的对象,逐渐成为电机的重要组成部分,…...
ETHERNET/IP从站转CANOPEN主站连接AB系统的配置方法
你还在为配置网关的ETHERNET/IP从站和CANOPEN主站发愁吗?今天来教你解决办法! 一,首先,配置网关的ETHERNET/IP从站,需要使用AB系统的配置方法,具体步骤如下 1,使用 AB 系统配置网关的 ETHERNET/…...
人工智能和机器学习:走向智能未来的关键
人工智能(AI)和机器学习(ML)是当今IT领域中最令人振奋的发展方向之一。从自动驾驶汽车到智能助手,AI技术的应用正在不断扩展,重新定义着我们的生活方式和商业模式。在这个文章中,我们将深入探讨…...
openGauss本地Centos7.6单机安装和简单应用
openGauss本地Centos7.6单机安装和简单应用 openGauss基础环境配置openGauss安装openGauss使用测试openGauss常用命令 openGauss基础环境配置 在VMware Workstation中安装一台 centos7.6 内存:8GB,亲测4GB安装不够 磁盘:测试50GB-100GB够用 …...
LeetCode--1 两数之和
文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...
Hafnium安全分区管理器和示例参考软件栈
安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存: 1.基于FF-A规范的S-EL2 SPMC(SPM Core),使能安全…...
Python解读市场趋势:LSTM 和 GRU 在预测 Google 股价方面的探索
我将向您展示如何使用 LSTM 和 GRU 预测股票价格。 导入库 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import matplotlib.dates as mdates import plotly.express as pxfrom keras.preprocessing.sequence import Timese…...
vue源码分析(二)——vue的入口发生了什么
文章目录 前言(1)vue 项目构建的时候,通过package.json文件看到构建入口(2) 构建入口页面:导入同级模块config的getAllbuilds方法(3) 通过传入参数中的builds对象使用map获取&#x…...
系统架构师论文总结【持续更新】
系统架构师考试是对计算机从业人员,以考代评的重要考试,近几年一直在参加考试,屡战屡败,后又屡败屡战,记录总结论文相关的知识点,方便考前查看。 一、2010年论文 1)论软件的静态演化和动态演化…...
STM32-LCD中英文显示及应用
目录 字符编码 ASCII码(8位) 中文编码(16位) GB2312标准 GBK编码 GB18030标准(32位) Big5编码 Unicode字符集和编码 UTF-32(32位) UTF-16(16位/32位࿰…...
13.4web自动化测试(Selenium3+Java)
一.定义 用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(j…...
P1966 [NOIP2013 提高组] 火柴排队
洛谷的一道原题,方法有很多,树状数组以及排序,对刚学树状数组的人来说用排序会比较好理解。 本题最重要的结论就是,要保证两个数组中相同位置的差最小,但是不一定两个数组中数值相同,所以只需要保证相同位…...
Linux文件I/O
下面的内容需要了解系统调用,可看下面的链接: 系统调用来龙去脉-CSDN博客 1.底层文件IO和标准IO 这里指的是操作系统提供的IO服务,不同于ANSI建立的标准IO。 底层IO和标准IO各自所使用的函数: 区别: 1.底层文件IO不…...
卡巴斯基2009杀毒软件
下载地址:https://user.qzone.qq.com/512526231/main https://user.qzone.qq.com/3503787372/main...
Docker 容器服务的注册、发现及Docker安全
目录 Docker容器服务的注册和发现 1、什么是服务注册与发现? 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1)建立 Consul 服务 2)设置代理,在后台启动 consul 服务端 3)查看集群信息 4&a…...
Display Driver Uninstaller(DDU)深度技术指南:从根源清除到系统优化
Display Driver Uninstaller(DDU)深度技术指南:从根源清除到系统优化 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-driver…...
告别审稿焦虑:Elsevier Tracker智能工具如何提升学术投稿效率
告别审稿焦虑:Elsevier Tracker智能工具如何提升学术投稿效率 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 副标题:专为科研作者打造的审稿状态追踪解决方案,让学术投稿管理更高…...
告别仿真器:手把手教你用树莓派4B+SOEM库驱动真实EtherCAT伺服电机
树莓派4B实战EtherCAT:从零构建工业级伺服控制系统 工业自动化领域的技术迭代从未停歇,而EtherCAT作为实时以太网协议的佼佼者,正逐步取代传统现场总线。但大多数教程停留在仿真阶段,让开发者难以跨越理论与实践的鸿沟。本文将带你…...
Local SDXL-Turbo新手入门:一键部署,实时创作赛博朋克世界
Local SDXL-Turbo新手入门:一键部署,实时创作赛博朋克世界 【一键部署镜像】Local SDXL-Turbo 基于StabilityAI SDXL-Turbo的毫秒级实时绘画工具 支持流式提示词编辑、所见即所得构图、512512高清输出 1. 为什么选择Local SDXL-Turbo? 传统…...
OpenClaw自动化测试:Qwen3.5-9B生成与执行Python脚本
OpenClaw自动化测试:Qwen3.5-9B生成与执行Python脚本 1. 为什么选择OpenClawQwen3.5做代码自动化 去年我在处理一个数据清洗项目时,每天要反复执行十几个相似的Python脚本。当我第一次看到OpenClaw的"自然语言生成代码自动执行"演示时&#…...
AD9910不止于原理图:巧用线性斜波发生器,打造可编程信号源的5个创意应用实例(附配置代码)
AD9910线性斜波发生器的5个工业级应用实战 当大多数开发者还在用AD9910做基础频率合成时,真正的高手已经在挖掘这颗1GSPS超高速DDS芯片的隐藏技能了。今天要重点介绍的线性斜波发生器(Linear Ramp Generator)功能,可能是你项目升级…...
电路板认证标志解析与全球合规实践
1. 电路板丝印标志的行业背景与核心价值当你拆开任何一台电子设备,电路板上那些小小的符号和字母组合绝非随意印刷。这些看似简单的标志背后,凝结着全球电子产业数十年的安全规范发展史。作为从业15年的硬件工程师,我处理过上千块来自不同国家…...
AI应用开发工程师(LLMAgent方向)技术深度解析与面试指南
引言 随着人工智能技术的飞速发展,大型语言模型(LLM)如GPT、Claude、Llama等已成为推动AI应用的核心引擎。AI应用开发工程师(LLM&Agent方向)专注于构建基于LLM的智能代理系统,实现自然语言处理、决策支持和自动化工作流。该职位要求深厚的编程功底、系统设计能力和对…...
Matrix Laser Sensor I²C嵌入式驱动开发与工业测距实践
1. Matrix Laser Sensor 嵌入式驱动深度解析:面向工业级测距应用的IC激光传感器固件设计1.1 项目定位与工程价值Matrix Laser Sensor 是一款面向嵌入式实时测距场景的紧凑型激光测距模块,其核心指标为21–1999 mm 量程、50 Hz 连续采样率、1 mm 分辨率。…...
Sodaq_R4X库详解:SARA-R4蜂窝模组嵌入式通信框架
1. Sodaq_R4X库深度解析:面向SARA-R4系列蜂窝模组的嵌入式通信框架1.1 库定位与工程价值Sodaq_R4X是一个专为u-blox SARA-R4系列蜂窝通信模组设计的Arduino兼容C库,其核心目标是将复杂的LTE-M(eMTC)、NB-IoT及2G(仅R41…...
