当前位置: 首页 > news >正文

model_selection.train_test_split函数介绍

目录

  • model_selection.train_test_split函数
  • 实战

model_selection.train_test_split函数

model_selection.train_test_split 是 Scikit-Learn 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用,因为在机器学习中,我们通常需要将数据集分为训练集和测试集,以便在模型训练和评估中使用不同的数据集。

下面是 model_selection.train_test_split 函数的基本介绍:

model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)
  1. *arrays: 这是待拆分的数据集,可以是特征矩阵和目标向量,也可以是多个特征矩阵。例如,如果有一个特征矩阵 X 和一个目标向量 y,可以使用 X, y 作为参数传入。
  2. test_size: 测试集的大小,可以是浮点数(表示比例)或整数(表示样本数)。
  3. train_size: 训练集的大小,和 test_size 作用相同,如果不指定则默认为 1 - test_size。
  4. random_state: 随机种子,用于控制数据集的随机拆分,以便结果可重复。 shuffle: 是否在拆分数据前对数据进行洗牌。
  5. stratify: 按照某个变量(通常是目标变量)进行分层抽样,以确保训练集和测试集中各类别样本的比例与原始数据集中相同。

举个例子,假设有一个特征矩阵 X 和一个目标向量 y,可以使用 model_selection.train_test_split 将数据集拆分为训练集和测试集:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

这将会把特征矩阵 X 和目标向量 y 按照 8:2 的比例拆分为训练集和测试集,并且使用随机种子 42 来确保拆分结果的可重复性。

实战

# 导入模块
from sklearn import model_selection
import statsmodels.api as sm
import numpy as np 
import pandas as pd 
from scipy.stats import f # 导入数据
Profit = pd.read_excel(r'Predict to Profit.xlsx')
# 生成由State变量衍生的哑变量
dummies = pd.get_dummies(Profit.State)
# 将哑变量与原始数据集水平合并
Profit_New = pd.concat([Profit,dummies], axis = 1)
# 删除State变量和California变量(因为State变量已被分解为哑变量,New York变量需要作为参照组)
Profit_New.drop(labels = ['State','New York'], axis = 1, inplace = True)
# 拆分数据集Profit_New
train, test = model_selection.train_test_split(Profit_New, test_size = 0.2, random_state=1234)
# 建模
model2 = sm.formula.ols('Profit~RD_Spend+Administration+Marketing_Spend+Florida+California', data = train).fit()
print('模型的偏回归系数分别为:\n', model2.params)模型的偏回归系数分别为:Intercept             58068.048193
Florida[T.True]        1440.862734 
California[T.True]      513.468310 
RD_Spend                  0.803487 
Administration           -0.057792 
Marketing_Spend           0.013779 
dtype: float64

相关文章:

model_selection.train_test_split函数介绍

目录 model_selection.train_test_split函数实战 model_selection.train_test_split函数 model_selection.train_test_split 是 Scikit-Learn 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用,因为在机器学习中,我们通常需要将数据集分为训…...

Springboot 读取 resource 目录下的Excel文件并下载

代码示例: GetMapping("/download") public void download(HttpServletResponse response) {try {String filename "测试.xls";OutputStream outputStream response.getOutputStream();// 获取springboot resource 路径下的文件InputStream inputStream…...

SQL EXISTS 子句的深入解析

SQL EXISTS 子句的深入解析 引言 SQL(Structured Query Language)作为一种强大的数据库查询语言,广泛应用于各种数据库管理系统中。在SQL查询中,EXISTS子句是一种非常实用的工具,用于检查子查询中是否存在至少一行数…...

33.Java冒泡排序

冒泡排序: 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序. package Javase;import sun.security.util.ByteArrayTagOrder…...

Docker容器ping不通外网问题排查及解决

Docker容器ping不通外网问题排查及解决 解决方案在最下面,不看过程的可直接拉到最下面。 一台虚拟机里突然遇到docker容器一直访问外网失败,网上看到这个解决方案,这边记录一下。 首先需要明确docker的网桥模式,网桥工作在二层…...

JavaScript 库 number-precision 如何使用?

number-precision 是一个 JavaScript 库,主要用于处理 JavaScript 中的数字精度问题。它提供了一些方法,帮助你进行数字运算时保持精度,尤其是在涉及到浮点数运算时,它能够避免传统 JavaScript 中精度丢失的问题。 例如&#xff…...

faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-2

文件ScalarQuantizer.h 主要介绍这里面的枚举以及一些函数内容:QuantizerType、RangeStat、ScalarQuantizer、train、compute_codes、decode、SQuantizer、FlatCodesDistanceComputer、get_distance_computer、select_InvertedListScanner QuantizerType 量化类型…...

性能测试工具Grafana、InfluxDB和Collectd的搭建

一、性能监控组成简介 1、监控能力分工:这个系统组合能够覆盖从数据采集、存储到可视化的整个监控流程。Collectd可以收集各种系统和应用的性能指标,InfluxDB提供高效的时序数据存储,而 Grafana 则将这些数据以直观的方式呈现出来。2,实时性能监控:对于需要实时了解系统状…...

【ruby on rails】dup、deep_dup、clone的区别

一、区别 dup 浅复制:dup 方法创建对象的浅复制。 不复制冻结状态:dup 不会复制对象的冻结状态。 不复制单例方法:dup 不会复制对象的单例方法。 deep_dup 深复制:deep_dup 方法创建对象的深复制,递归复制嵌套的对象。…...

原生微信小程序画表格

wxml部分&#xff1a; <view class"table__scroll__view"><view class"table__header"><view class"table__header__item" wx:for"{{TableHeadtitle}}" wx:key"index">{{item.title}}</view></…...

Python实现IP代理池

文章目录 Python实现IP代理池一、引言二、步骤一&#xff1a;获取代理IP1、第一步&#xff1a;爬取代理IP2、第二步&#xff1a;验证代理IP的有效性 三、步骤二&#xff1a;构建IP代理池四、使用示例1、完整的使用示例2、注意事项3、处理网络问题 五、总结 Python实现IP代理池 …...

互联网直播/点播EasyDSS视频推拉流平台视频点播有哪些技术特点?

在数字化时代&#xff0c;视频点播应用已经成为我们生活中不可或缺的一部分。监控技术与视频点播的结合正悄然改变着我们获取和享受媒体内容的方式。这一变革不仅体现在技术层面的进步&#xff0c;更深刻地影响了我们。 EasyDSS视频直播点播平台是一款高性能流媒体服务软件。E…...

32.4 prometheus存储磁盘数据结构和存储参数

本节重点介绍 : prometheus存储磁盘数据结构介绍 indexchunkshead chunksTombstoneswal prometheus对block进行定时压实 compactprometheus 查看支持的存储参数 prometheus存储示意图 内存和disk之间的纽带 wal WAL目录中包含了多个连续编号的且大小为128M的文件&#xff0c…...

C7.【C++ Cont】范围for的使用和auto关键字

目录 1.知识回顾 2.范围for 格式 使用 运行结果 运行过程 范围for的本意 作用 注意 3.底层分析范围for的执行过程 反汇编代码 分析 4.auto关键字 格式 基本用法 在范围for中使用auto 1.知识回顾 for循环的使用参见25.【C语言】循环结构之for文章 2.范围for C…...

联通云服务器部署老项目tomcat记录

1.先在服务器上安装mysql和tomcat 2.tomcat修改端口 3.在联通云运控平台配置tomcat访问端口&#xff08;相当于向外部提供可访问端口&#xff09; 4.将tomcat项目放在服务器tomcat的webapps里面 5.在mysql里创建项目数据库&#xff0c;运行sql创建表和导入数据 6.在配置文…...

剪映自动批量替换视频、图片素材教程,视频批量复刻、混剪裂变等功能介绍

一、三种批量替换模式的区别 二、混剪裂变替换素材 三、分区混剪裂变替换素材 四、按组精确替换素材 五、绿色按钮教程 &#xff08;一&#xff09;如何附加音频和srt字幕 &#xff08;二&#xff09;如何替换固定文本的内容和样式 &#xff08;三&#xff09;如何附加…...

el-dialog中调用resetFields()方法重置表单报错

前言 在开发中&#xff0c;弹框和表单是两个常见的组件&#xff0c;它们通常一起使用以实现用户交互和数据输入。然而&#xff0c;当我们尝试在弹框中调用表单的 resetFields() 方法时&#xff0c;有时会遇到报错的情况。 一、用法错误 确保 this.$refs[ruleForm].resetFields…...

分布式系统接口,如何避免重复提交

分布式系统接口&#xff0c;如何避免重复提交 1、基于Token的幂等设计原理实现步骤技术选型 2、基于Token的幂等设计原理实现步骤适用场景 3、幂等性设计原理实现方式 4、分布式锁原理实现方式适用场景 5、请求去重原理实现方式 6.前端防护原理实现方式适用场景 7.延迟队列原理…...

AI 声音:数字音频、语音识别、TTS 简介与使用示例

在现代 AI 技术的推动下&#xff0c;声音处理领域取得了巨大进展。从语音识别&#xff08;ASR&#xff09;到文本转语音&#xff08;TTS&#xff09;&#xff0c;再到个性化声音克隆&#xff0c;这些技术已经深入到我们的日常生活中&#xff1a;语音助手、自动字幕生成、语音导…...

【论文速读】| 人工智能驱动的网络威胁情报自动化

基本信息 原文标题&#xff1a;AI-Driven Cyber Threat Intelligence Automation 原文作者&#xff1a;Shrit Shah, Fatemeh Khoda Parast 作者单位&#xff1a;加拿大圭尔夫大学计算机科学学院 关键词&#xff1a;网络威胁情报&#xff0c;AI自动化&#xff0c;攻击技术和…...

Navicat重置终极指南:macOS数据库管理工具无限试用方案

Navicat重置终极指南&#xff1a;macOS数据库管理工具无限试用方案 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 你是否在为…...

终极免费方案:ctfileGet一键破解城通网盘下载限速

终极免费方案&#xff1a;ctfileGet一键破解城通网盘下载限速 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘下载速度慢如蜗牛而烦恼吗&#xff1f;下载一个大文件要等上好几个小时&…...

5分钟解决Windows热键冲突:Hotkey Detective完全指南

5分钟解决Windows热键冲突&#xff1a;Hotkey Detective完全指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经…...

Python: Condition Variable Pattern

项目结构&#xff1a; # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ # 许可信息查看&#xff1a;言語成了邀功盡責的功臣&#xff0c;還需要行爲每日來值班嗎 # 描述&#xff1a;Condition Variable Pattern 条件变量模式 # Author : geovindu,Geovin Du …...

调试STM32双CAN通信的5个常见坑:从TJA1050供电到过滤器配置的避坑指南

STM32双CAN通信实战&#xff1a;从硬件陷阱到软件优化的深度排错指南 当你在实验室里搭建好STM32F407VE与两片TJA1050组成的双CAN系统&#xff0c;满心期待看到数据流畅传输时&#xff0c;示波器上却只有死寂的直线——这种挫败感我太熟悉了。双CAN系统调试就像在雷区跳舞&…...

拆解一颗BGA芯片:从X光影像到金相切片,深度剖析焊点失效的微观世界

拆解一颗BGA芯片&#xff1a;从X光影像到金相切片&#xff0c;深度剖析焊点失效的微观世界 走进失效分析实验室的洁净间&#xff0c;空气中弥漫着异丙醇的淡淡气味。工作台上摆放着一块刚送检的通信设备主板——客户反馈在高温环境下频繁出现信号丢失&#xff0c;初步排查锁定在…...

TalkReplay:构建本地化AI编程对话时光机,实现知识持久化管理

1. 项目概述&#xff1a;一个为AI编程对话而生的“时光机”如果你和我一样&#xff0c;日常开发已经离不开Claude、Cursor这类AI编程助手&#xff0c;那你一定遇到过这个痛点&#xff1a;和AI进行了一下午的深度对话&#xff0c;写了几百行代码&#xff0c;解决了几个关键问题。…...

终极Zotero插件管理指南:如何一键安装数百个学术研究工具

终极Zotero插件管理指南&#xff1a;如何一键安装数百个学术研究工具 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons …...

AI代理规则引擎:构建安全可控的智能体管控系统

1. 项目概述&#xff1a;当AI代理需要“交通规则”最近在折腾AI代理&#xff08;Agent&#xff09;的开发&#xff0c;发现一个挺有意思但又普遍头疼的问题&#xff1a;你给一个代理下达指令&#xff0c;比如“帮我分析一下这个季度的销售数据”&#xff0c;理论上它应该能调用…...

ESPAsyncWebServer库在Arduino IDE下的完整安装与避坑指南(附依赖库下载)

ESPAsyncWebServer库在Arduino IDE下的完整安装与避坑指南 第一次接触ESPAsyncWebServer时&#xff0c;我花了整整一个下午才把环境配置成功。作为过来人&#xff0c;我深知新手在Arduino IDE中安装这个库会遇到哪些"坑"——从依赖库版本不匹配到文件路径错误&#x…...