news 2026/6/10 23:15:50

机器学习 —— 训练与测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习 —— 训练与测试

摘要:机器学习中,训练集-测试集划分是评估模型性能的关键技术。通过将数据分为训练集(用于模型训练)和测试集(用于性能评估),可以避免过拟合问题,确保模型具有良好的泛化能力。示例使用sklearn的train_test_split函数将鸢尾花数据集按8:2划分,训练逻辑回归模型后获得100%的测试准确率。该方法通过独立测试集验证模型对新数据的预测能力,random_state参数保证了实验可重复性。

目录

机器学习 —— 训练与测试

示例

输出结果

术语说明


机器学习 —— 训练与测试

在机器学习中,训练集 - 测试集划分(train-test split)是一种常用的模型性能评估技术。其核心思想是将现有数据划分为两个数据集:训练集(training set)和测试集(testing set)。训练集用于模型的训练过程,测试集则用于评估模型的性能表现。

训练集 - 测试集划分至关重要,因为它能让我们在模型未见过的数据上进行测试。这一过程的必要性在于:若直接使用训练数据评估模型,可能会出现模型在训练集上表现优异,但对新数据的泛化能力较差的情况。

示例

在 Python 中,可以使用sklearn.model_selection模块中的train_test_split函数实现数据的划分。以下是具体实现示例:

# 导入所需库和数据集 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression # 加载鸢尾花数据集 data = load_iris() X = data.data # 特征数据 y = data.target # 目标标签 # 将数据划分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建逻辑回归模型并在训练集上训练 model = LogisticRegression() model.fit(X_train, y_train) # 在测试集上评估模型性能 accuracy = model.score(X_test, y_test) print(f"准确率: {accuracy:.2f}")

在上述示例中,我们首先加载了鸢尾花(iris)数据集,然后通过train_test_split函数将数据划分为训练集和测试集。接着创建逻辑回归模型并使用训练集进行训练,最后通过模型的score方法在测试集上评估性能。

train_test_split函数中的test_size参数用于指定测试集所占的比例。本示例中该参数设为 0.2,即 20% 的数据用于测试,80% 的数据用于训练。random_state参数用于保证数据划分的可重复性,确保每次运行代码都能得到相同的划分结果。

输出结果

运行上述代码后,将得到以下输出:

plaintext

准确率: 1.00

总而言之,训练集 - 测试集划分是评估机器学习模型性能的关键步骤。通过将数据分离为训练集和测试集,能够有效避免模型对训练数据的过拟合(overfitting),确保模型具备良好的新数据泛化能力。

术语说明

  1. 训练集(training set):用于模型训练的数据集合,模型通过学习该数据集的特征规律构建预测逻辑。
  2. 测试集(testing set):独立于训练集的评估数据集合,用于检验模型对未见过数据的预测能力。
  3. 泛化能力(generalization ability):模型从训练数据中学习到的规律,应用于新数据时的预测准确性。
  4. 过拟合(overfitting):模型过度贴合训练数据的细节(包括噪声),导致在新数据上表现下降的现象。
  5. random_state:控制随机数据划分的种子参数,设定固定值可确保实验结果的可重复验证。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 19:16:26

Java毕设选题推荐:基于Java web的酒店管理系统设计与实现办理入住登记、分配具体房间,系统自动更新房态【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/10 11:41:46

【AI应用】AI与大数据融合:中国品牌出海获客的下一代核心引擎

随着全球贸易格局与数字化进程的深刻变化,传统海外订单获客模式正面临日益凸显的成本与效率瓶颈。数据显示,国际展会单条有效销售线索成本常达2000至5000元人民币;B2B平台竞价激烈,优质询盘转化率普遍低于5%;而搜索引擎…

作者头像 李华
网站建设 2026/6/10 15:38:24

文件上传手动检查步骤:软件测试从业者实用指南

在软件测试领域,文件上传功能是Web应用的核心模块之一,涉及用户数据交互和安全风险。手动检查作为自动化测试的补充,能有效捕捉边界情况和异常行为。本指南将详细列出文件上传的手动检查步骤,涵盖文件类型、大小、路径输入、异常处…

作者头像 李华
网站建设 2026/6/10 15:52:16

django+PythonJavaspingboot的微信奶茶点单小程序

文章目录 技术栈概述核心功能模块技术实现要点部署与优化应用场景 系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 技术栈概述 Django(Python)、Java Spring Boot 与微信小…

作者头像 李华
网站建设 2026/6/10 15:19:32

放弃 RestTemplate 吧,试试更优雅的 OpenFeign 声明式调用!

前言:在 Spring Boot 2.x 时代,RestTemplate 是我们的老伙计。但步入 Spring Boot 3.x 的现代架构时代,如果你还在手写 URL 拼接、手动序列化对象,那你就真的 Out 了!今天,我们聊聊如何利用 OpenFeign 实现…

作者头像 李华