一、介绍

1.留一法

留一法(Leave-One-Out)是S折交叉验证的一种特殊情况,当S=N时交叉验证便是留一法,其中N为数据集的大小。该方法往往比较准确,但是计算量太大,比如数据集有10万个样本,那么就需要训练10个模型。

2.自助法

给定包含N个样本的数据集TTT,有放回的采样N次,得到采样集Ts" role="presentation" style="position: relative;">TsTsT_s。数据集TTT中样本可能在Ts" role="presentation" style="position: relative;">TsTsT_s中多次,也可能不出现在TsTsT_s。一个样本始终不在采样集中出现的概率是(1−1N)N(1−1N)N(1-\frac{1}{N})^N。根据:limN→∞(1−1N)N=1e=0.368limN→∞(1−1N)N=1e=0.368lim_{N\rightarrow\infty}(1-\frac{1}{N})^N=\frac{1}{e}=0.368,因此TTT中约有63.2%的样本出现在Ts" role="presentation" style="position: relative;">TsTsT_s中。将TsTsT_s用作训练集,T−TsT−TsT-T_s用作测试集。

二、LeaveOneOut

1.原型

sklearn.model_selection.LeaveOneOut()

2.参数(无)

3.实例代码

from sklearn.model_selection import LeaveOneOut
import numpy as np
X = np.array([[1,2,3,4],[11,12,13,14],[21,22,23,24],[31,32,33,34]])
y = np.array([1,1,0,0])
loo = LeaveOneOut()
for train_index,test_index in loo.split(X,y):print("Train Index:",train_index)print("Test Index:",test_index)print("X_train:",X[train_index])print("X_test:",X[test_index])print("")
Train Index: [1 2 3]
Test Index: [0]
X_train: [[11 12 13 14][21 22 23 24][31 32 33 34]]
X_test: [[1 2 3 4]]Train Index: [0 2 3]
Test Index: [1]
X_train: [[ 1  2  3  4][21 22 23 24][31 32 33 34]]
X_test: [[11 12 13 14]]Train Index: [0 1 3]
Test Index: [2]
X_train: [[ 1  2  3  4][11 12 13 14][31 32 33 34]]
X_test: [[21 22 23 24]]Train Index: [0 1 2]
Test Index: [3]
X_train: [[ 1  2  3  4][11 12 13 14][21 22 23 24]]
X_test: [[31 32 33 34]]

三、自助法

构造数据

from sklearn.model_selection import LeaveOneOut
import numpy as np
import pandas as pd
import random
data = pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
data['y'] = [random.choice([0,1]) for i in range(10)]
print(data)
          A         B         C         D  y
0  0.704388  0.586751  0.931694  0.992170  0
1  0.887570  0.648561  0.959472  0.573279  0
2  0.403431  0.356454  0.780375  0.987747  1
3  0.793327  0.377768  0.008651  0.583467  1
4  0.493081  0.455021  0.352437  0.971354  1
5  0.706505  0.650936  0.532032  0.791598  1
6  0.414343  0.424478  0.802620  0.584577  1
7  0.017409  0.267225  0.740127  0.050121  1
8  0.654652  0.673884  0.582909  0.428070  0
9  0.515559  0.262651  0.339282  0.394977  1

自助法划分数据集

train = data.sample(frac=1.0,replace=True)
test = data.loc[data.index.difference(train.index)].copy()
print(train)
          A         B         C         D  y
8  0.654652  0.673884  0.582909  0.428070  0
1  0.887570  0.648561  0.959472  0.573279  0
1  0.887570  0.648561  0.959472  0.573279  0
4  0.493081  0.455021  0.352437  0.971354  1
0  0.704388  0.586751  0.931694  0.992170  0
3  0.793327  0.377768  0.008651  0.583467  1
8  0.654652  0.673884  0.582909  0.428070  0
8  0.654652  0.673884  0.582909  0.428070  0
4  0.493081  0.455021  0.352437  0.971354  1
3  0.793327  0.377768  0.008651  0.583467  1
print(test)
          A         B         C         D  y
2  0.403431  0.356454  0.780375  0.987747  1
5  0.706505  0.650936  0.532032  0.791598  1
6  0.414343  0.424478  0.802620  0.584577  1
7  0.017409  0.267225  0.740127  0.050121  1
9  0.515559  0.262651  0.339282  0.394977  1

机器学习:模型评估与sklearn实现(三)_留一法与自助法(booststrapping)相关推荐

  1. 老卫带你学---sklearn实现留一法与自助法(booststrapping)

    一.介绍 1.留一法 留一法(Leave-One-Out)是S折交叉验证的一种特殊情况,当S=N时交叉验证便是留一法,其中N为数据集的大小.该方法往往比较准确,但是计算量太大,比如数据集有10万个样本 ...

  2. 机器学习模型评估指标总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:太子长琴,Datawhale优秀学习者 本文对机器学习模型评估指标 ...

  3. 机器学习模型评估与超参数调优详解

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤  深圳大学,Datawhale高校群成员 机器学习分为两类 ...

  4. 【机器学习基础】非常详细!机器学习模型评估指标总结!

    作者:太子长琴,Datawhale优秀学习者 本文对机器学习模型评估指标进行了完整总结.机器学习的数据集一般被划分为训练集和测试集,训练集用于训练模型,测试集则用于评估模型.针对不同的机器学习问题(分 ...

  5. 二、机器学习模型评估

    二.机器学习模型评估 2.1 模型评估:基本概念 错误率(Error Rate) 预测错误的样本数a占样本总数的比例m E = a m E=\frac{a}{m} E=ma​ 准确率(Accuracy ...

  6. 机器学习——模型评估,选择与验证

    文章目录 机器学习--模型评估,选择与验证 训练集与测试集 为什么要有训练集与测试集 如何划分训练集与测试集 欠拟合与过拟合 欠拟合 过拟合 偏差与方差 模型误差来源 偏差与方差 验证集与交叉验证 为 ...

  7. 周志华机器学习--模型评估与选择

    周志华机器学习–模型评估与选择 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周 ...

  8. python基于sklearn的SVM和留一法(LOOCV)进行二分类

    基于sklearn的SVM和留一法(LOOCV)进行二分类 需要的导入包 import numpy as np from sklearn.model_selection import LeaveOne ...

  9. kmeans及模型评估指标_机器学习模型评估指标总结

    常用机器学习算法包括分类.回归.聚类等几大类型,以下针对不同模型总结其评估指标 一.分类模型 常见的分类模型包括:逻辑回归.决策树.朴素贝叶斯.SVM.神经网络等,模型评估指标包括以下几种: (1)二 ...

最新文章

  1. 为AI从业者/研究生/研究员专门定制的全网唯一高端AI训练营
  2. mybaits十一:使用association分步查询
  3. 周报速递丨中国 5G 基站全球占比 70% ;360 宣布转型数字安全公司
  4. super 与 this 关键字
  5. python实现气象数据分析统计服_Python数据分析实战:降雨量统计分析报告分析
  6. pual_bot 天气插件编写
  7. pannel添加的子窗体很大_超简单的地瓜粉焖子做法全解,零失败
  8. R语言第九讲 验证集法
  9. WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题
  10. 【转】精华!图解局域网共享设置步骤 - 李小虎
  11. 解决<c:if>无else的问题
  12. 5.被动回复用户消息
  13. 昆仑通态触摸屏如何把参数由触摸屏传递到PLC_西门子PLC与触摸屏、变频器的恒压供水分享...
  14. 【ZZULIOJ】1097: 计算平均成绩(函数专题)
  15. 新手学习开源项目zheng环境部署
  16. LCD高抗干扰液晶段码屏显示驱动芯片:VK2C21A/B/BA/C/D 大量应用于音箱/音响面板LCD显示驱动
  17. return function和return function()的区别
  18. 分析ERP审单失败,提示:库存不足的原因及应对方案
  19. java操作word生成水印升级版
  20. ROS-3DSLAM(5):雷达部分交流分析A

热门文章

  1. VS如何引入数据库模型(Model)
  2. 转: 现代英军陆军军衔超低到高用英文怎么说
  3. EDIUS Pro 6.55 注册版
  4. 继 Linux 上火星之后,树莓派计算机飞往国际空间站
  5. ITIL 4 Foundation知识体系-第五章:ITIL14个通用管理实践
  6. 新一代虚拟现实数据手套 FOHEART H1
  7. 微位科技获首批区块链备案 中国电信积极布局
  8. 《初等数论及其应用》第七章 乘性函数
  9. 迈瑞CL6000i全自动化学发光免疫分析仪【双向通讯】
  10. 触摸屏登录的几种方式