✅ 今日目标

  • 掌握建模前常见准备步骤
  • 学会使用 train_test_split() 将数据划分为训练集和测试集
  • 理解特征(X)与标签(y)的区分
  • 学习常见建模流程的输入要求(格式、维度)

📘 一、建模前准备流程概览

  1. 数据清洗(缺失值、异常值处理)✅
  2. 特征工程(编码、标准化、派生)✅
  3. 数据集划分(训练 / 测试)✅
  4. 模型选择与训练(下一阶段)
  5. 模型评估与调参

📚 二、提取特征列与标签列

import pandas as pddf = pd.read_csv("data/processed/students_featured.csv")# 特征列(可以自定义选择)
X = df[["成绩_标准化", "性别_女", "性别_男", "是否及格_数值"]]# 标签列(以是否及格为预测目标)
y = df["是否及格_数值"]

📘 三、划分训练集与测试集

from sklearn.model_selection import train_test_split# 按 80% 训练 / 20% 测试,随机种子保持一致性
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42
)print("训练集样本数:", len(X_train))
print("测试集样本数:", len(X_test))

📘 四、保存拆分结果(供建模使用)

X_train.to_csv("data/model/X_train.csv", index=False)
X_test.to_csv("data/model/X_test.csv", index=False)
y_train.to_csv("data/model/y_train.csv", index=False)
y_test.to_csv("data/model/y_test.csv", index=False)

📊 可选探索:类别平衡性检查

print("训练集是否及格分布:")
print(y_train.value_counts(normalize=True))print("测试集是否及格分布:")
print(y_test.value_counts(normalize=True))

🧪 今日练习建议

  1. 从增强后的数据中提取合适的特征列(X)和目标列(y)

  2. 使用 train_test_split 按比例划分训练 / 测试集

  3. 将结果分别保存到 CSV 文件

  4. 检查样本比例是否合理、是否存在类别不平衡问题(特别是分类任务)

    import pandas as pd
    from sklearn.model_selection import train_test_split
    import os# 1. 加载数据
    input_path = "data/processed/students_featured.csv"
    if not os.path.exists(input_path):raise FileNotFoundError("❌ 请先运行 feature_engineering.py 生成 students_featured.csv")df = pd.read_csv(input_path)
    print("✅ 已加载数据:", input_path)
    print(df)# 2. 提取特征列和标签列
    feature_cols = ["成绩_标准化", "性别_女", "性别_男", "是否及格_数值"]
    label_col = "是否及格_数值"X = df[feature_cols]
    y = df[label_col]print("\n🔍 特征维度:", X.shape)
    print("🔍 标签维度:", y.shape)# 3. 划分训练集和测试集(80% / 20%)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42
    )print(f"\n📦 拆分完成:训练集 {len(X_train)} 条,测试集 {len(X_test)} 条")# 4. 可选:检查类别平衡性
    print("\n📊 训练集类别分布:")
    print(y_train.value_counts(normalize=True))print("\n📊 测试集类别分布:")
    print(y_test.value_counts(normalize=True))# 5. 保存拆分结果
    os.makedirs("data/model", exist_ok=True)
    X_train.to_csv("data/model/X_train.csv", index=False)
    X_test.to_csv("data/model/X_test.csv", index=False)
    y_train.to_csv("data/model/y_train.csv", index=False)
    y_test.to_csv("data/model/y_test.csv", index=False)print("\n✅ 拆分后的数据已保存至 data/model/ 文件夹")
    

    运行输出:

✅ 已加载数据: data/processed/students_featured.csv姓名    成绩   是否及格  性别编码   性别_女   性别_男    成绩_标准化    成绩_归一化  是否及格_数值 成绩等级        考试时间  考试月  考试周      考试星期
0  张三  88.0   True     1  False   True  1.166997  1.000000        12024-06-01    6   22  Saturday
1  李四  78.0   True     0   True  False  0.214346  0.655172        12024-06-01    6   22  Saturday
2  王五  59.0  False     1  False   True -1.595690  0.000000        0  不及格  2024-06-01    6   22  Saturday
3  田七  78.0   True     0   True  False  0.214346  0.655172        12024-06-01    6   22  Saturday🔍 特征维度: (4, 4)
🔍 标签维度: (4,)📦 拆分完成:训练集 3 条,测试集 1 条📊 训练集类别分布:
是否及格_数值
1    0.666667
0    0.333333
📊 测试集类别分布:
是否及格_数值
1    1.0
✅ 拆分后的数据已保存至 data/model/ 文件夹

在这里插入图片描述
x测试集:
在这里插入图片描述
x训练集:
在这里插入图片描述
y测试集:
在这里插入图片描述
y训练集:
在这里插入图片描述


🧾 今日总结

步骤工具说明
特征提取Pandas DataFrame自定义特征列
数据拆分train_test_split来自 sklearn
保存格式CSV便于后续建模使用
类别分析value_counts()检查是否严重偏斜

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89768.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89768.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/89768.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Swagger 安装使用教程

一、Swagger 简介 Swagger 是一套开放源代码的 API 文档生成工具链,现归属于 OpenAPI 规范。它支持 RESTful API 的定义、生成、测试和文档自动化。常见的使用工具包括 Swagger UI、Swagger Editor、Swagger Codegen 以及 SpringFox(Spring 集成库&…

【seismic unix相速度分析-频散曲线】

介绍Seismic Unix Seismic Unix(SU)是一个开源的地震数据处理软件包,主要用于地震数据的处理、分析和可视化。它由科罗拉多矿业学院的Center for Wave Phenomena开发,广泛应用于学术研究和工业领域。SU提供了一系列命令行工具&am…

3.前端和后端参数不一致,后端接不到数据的解决方案

目录 1.问题背景: (1).前端代码: (2).后端代码: (3).问题分析: [1]前端参数构造错误: [2].Api请求配置错误: 2.解决方案 (1).修改 role.js 中的 API 方法 (2).前端组件中的调用方式改成下面的而不是继续拼接了 3.总结: 1.问题背景: 我在接口开发过程中,前…

SpringBoot:整合quartz实现定时任务-MisFire的处理

文章目录 一、什么是MisFire二、MisFire发生的情况三、MisFire的补偿策略四、代码实现 一、什么是MisFire 简单理解为:定时任务,所错过的触发 二、MisFire发生的情况 1、资源紧张,定时任务请求不到对应的线程。 2、调度器关闭。 3、设置定…

返回json,优雅处理转换(如 0.85 → “85.00%“)

核心解决方案 通过 自定义序列化器 JsonSerialize 注解,实现 BigDecimal 到百分比字符串的自动转换。 1.1 自定义序列化器代码 java import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterx…

大语言模型LLM在训练/推理时的padding

讨论的是在训练大型语言模型(Transformer-based models,比如GPT等)时,文本序列的填充(padding)问题,即训练和推理时分辨填充在序列的左侧(left padding)或右侧&#xff0…

50 个常用 Docker 命令

1. Docker 基础命令 查看 Docker 版本 docker --version查看 Docker 运行状态 systemctl status docker查看 Docker 信息 docker info查看帮助信息 docker help2. 镜像管理 拉取镜像 docker pull <镜像名>查看本地镜像 docker images删除镜像 docker rmi <镜…

纹理贴图算法研究论文综述

纹理贴图&#xff08;Texture Mapping&#xff09;是计算机图形学和计算机视觉中的核心技术&#xff0c;广泛应用于三维重建、游戏渲染、虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;等领域。对其算法的研究涵盖了纹理生成、映射、缝合、优化等多个…

关于使用cursor tunnel链接vscode(避免1006 issue的做法)

详细步骤 第 1 步&#xff1a;在你的本地机器上准备好 Cursor 这一步很简单&#xff0c;你可能已经完成了。只需确保你的本地电脑上已经安装了 Cursor 桌面应用程序。 要做的事&#xff1a;无&#xff0c;只需确保 Cursor 已安装。 第 2 步&#xff1a;在远程服务器上安装 Curs…

Redis常见性能问题和解决方案有哪些

Redis 作为高性能的内存数据库&#xff0c;在电商等高并发场景中广泛使用&#xff0c;但可能因配置、使用不当或环境限制出现性能问题。以下是 Redis 常见的性能问题及其解决方案&#xff0c;结合电商场景&#xff0c;用中文简洁说明&#xff1a;### 1. **高延迟&#xff08;响…

明远智睿RK3588:创新了高性能,让顾虑烟消云散

在科技浪潮的推动下&#xff0c;高性能开发已经成为众多行业发展的核心驱动力。从智能交通的车路协同&#xff0c;到医疗领域的影像诊断&#xff1b;从智能家居的智能控制&#xff0c;到工业互联网的智能制造&#xff0c;每一个领域都对模块的性能提出了极高的要求。然而&#…

I Data Lab

万事开头难&#xff0c;尤其是和 0 与 1 打交道&#xff0c;和后面的实验相比&#xff0c;这次只能算个热身。但是喜欢运动的都知道&#xff0c;热身很重要&#xff01;任务目标我们先来看看 Datalab 需要我们做什么。主要是通过这次的作业来熟悉整型及浮点数的位表达形式&…

SQLite 安装使用教程

一、SQLite 简介 SQLite 是一个轻量级的关系型数据库管理系统&#xff0c;嵌入式、零配置、无需安装服务器&#xff0c;广泛应用于移动端开发&#xff08;如 Android&#xff09;、桌面应用、小型网站等场景。 二、下载安装 2.1 官方网站下载 访问 SQLite 官网 下载适用于操…

Python-Word文档、PPT、PDF以及Pillow处理图像详解

Python操作Word和PowerPoint文件操作Word文档命令来安装python-docx三方库。pip install python-docxfrom docx import Document from docx.shared import Inches, Pt, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMEN…

高可扩展属性建模设计:架构师的全局思考与落地方案

在复杂业务系统中&#xff0c;动态属性扩展始终是架构设计的核心难题之一。传统方案如宽表设计和EAV&#xff08;实体-属性-值&#xff09;模型分别在性能与扩展性上各有优势与劣势&#xff0c;但也都有明显局限。 为了兼顾性能、扩展性、维护成本&#xff0c;需要引入更灵活的…

数据结构入门:链表

链式存储结构通过使用指针将分散的存储单元链接起来&#xff0c;每个元素由数据部分和指针部分组成。 链式表的定义和特点 链式表的每个节点包含两个部分&#xff1a; 数据域&#xff1a;存储数据元素。指针域&#xff1a;存储下一个节点的内存地址。 链式表的头指针指向第一个…

达梦数据库DMHS介绍及安装部署

目录 概述 安装规划 安装步骤 上传安装包 更改权限 执行安装命令 源端和目的端处理 开启归档 开启逻辑日志 创建测试表 生成测试数据 配置目的端文件 配置源端文件 启动目的端 启动源端 装载数据 源端开启cpt模块 数据同步验证 随机数据验证 概述 达梦数据实时同…

BERT 模型详解:结构、原理解析

前言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;已经成为理解类任务的标配模型。相比 GPT 更擅长文本生成&#xff0c;BERT 则在语言理解任务上展现出卓越的能力。本文…

一、bfv_basics

目录 一、加密参数 EncryptionParameters类1. 三个重要的参数2. 参数的作用3. 同态加密方案4. 多项式模数的度 poly_modulus_degree (n)5. 密文模数 coeff_modulus (q)6. 明文模数 plain_modulus (t&#xff0c;这是 BFV 方案才有的&#xff0c;CKKS 没有) 二、上下文 SEALCont…

AI大模型LangChain架构介绍及其在环保领域的应用

1.LangChain 概述与架构 LangChain 是一个面向大型语言模型&#xff08;LLM&#xff09;应用的开发框架&#xff0c;其核心理念是将复杂的基于语言的 AI 系统拆分为可复用的模块&#xff0c;简化 LLM 与数据源的集成。LangChain 官方文档将其定义为“一个用于开发以 LLM 为驱动…