数据集划分方法

本文介绍了机器学习中模型评估的三种常见方法:留出法、交叉验证法和自助法。留出法将数据集划分为训练集和测试集;交叉验证法通过k折交叉验证获取更稳定的评估结果;自助法适用于数据集较小的情况,但会改变数据分布。
摘要由CSDN通过智能技术生成

1 模型评估方法

在现实任务中,往往有很多模型可供选择,一般我们是通过对候选模型的泛化误差进行估计,选择泛化误差最小的那个模型。因此,需要一个“测试集”来检测学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似,这里我们假设测试集也是从样本真实分布中独立同分布采样得到的。

假设学习任务中的有一个包含 m m m个样本的数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D=\{(\textbf{x}_1,y_1),(\textbf{x}_2,y_2),\cdots,(\textbf{x}_m,y_m)\} D={ (x1,y1),(x2,y2),,(xm,ym)},我们可以通过适当的处理,从中产生出训练集 S S S和测试集 T T T,要求 T T T S S S尽可能互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。下面介绍几种常见的划分方式。

1.1 留出法

“留出法”直接将数据集 D D D划分为两个互斥的集合,一个为训练集 S S S,一个为测试集 T T T,即 D = S ∪ T , S ∩ T = ∅ . D=S\cup T,S\cap T=\emptyset. D=ST,ST=. S S S上进行模型学习,然后用 T T T来评估其测试误差,作为对泛化误差的估计。

单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行模型评估后取平均值作为留出法的评估结果。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 25 10:57:29 2019

@author: lihui
"""

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC #导入支持向量机分类算法
from sklearn.metr
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值