留一法 是指只使用原样本中的一个样本作为验证集,其他数据作为训练集。本质上,留一法 与 Jackknife 并无区别。因此下面给出jacknife(刀切法、留一法)的实现代码。

理论解释:
Jackknife 方法由 Quenouille(1949) 提出,并由 Tukey(1958) 创造了 Jackkife 这一术语。Jackknife 是一种再抽样方法,其原始动机是「降低估计的偏差」。
具体来看,对于未知分布的总体,从中抽取样本容量为N的样本,以样本统计量a来估计总体参数A会产生一定误差,尤其在小样本的情况下。为解决这样一个问题,可以将从原样本切去第 i个个体后计算得到的统计量记为xi (也就是去除某一个xi后,用剩余的X作为训练集,将xi作为验证集)。

具体代码如下:

    prediction_list=[]real_list=[]####LOOCVloo = LeaveOneOut()  # 构建 留一法loo.get_n_splits(x_data)for train_index, test_index in loo.split(x_data):X_train, X_test = x_data[train_index], x_data[test_index]y_train, y_test = labels[train_index], labels[test_index]knn = KNeighborsClassifier(n_neighbors=1).fit(X_train, y_train)predicted_y = knn.predict(X_test)prediction_list.append(predicted_y)real_list.append(y_test)

上面就实现一个KNN分类的留一法过程,其它都是相似的过程,只要稍作修改就可以得到应用。

python实现jacknife交叉验证相关推荐

  1. python k折交叉验证,python中sklearnk折交叉验证

    python中sklearnk折交叉验证 发布时间:2018-06-10 11:09, 浏览次数:492 , 标签: python sklearnk 1.模型验证回顾 进行模型验证的一个重要目的是要选 ...

  2. python机器学习——十次交叉验证训练的数据准备算法

    摄于 2017年4月21日 台湾垦丁船帆石海滩 前言 python强大的机器学习包scikit-learn可以直接进行交叉分割,之所以写个相当于锻炼自己思维. 这两天本来打算开始写朴素贝叶斯分类器的算 ...

  3. python随机森林 交叉验证_随机森林算法详解及Python实现

    一 简介 随机森林是一种比较有名的集成学习方法,属于集成学习算法中弱学习器之间不存在依赖的一部分,其因为这个优点可以并行化运行,因此随机森林在一些大赛中往往是首要选择的模型. 随机森立中随机是核心,通 ...

  4. 交叉验证python代码_交叉验证以及python代码实现

    这篇文章介绍的内容是关交叉验证以及python代码实现 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 模型选择的两种方法:正则化(典型方法).交叉验证. 这里介绍交叉验证及其pyth ...

  5. python随机森林 交叉验证_随机森林是否需要交叉验证+特征的重要性

    随机森林不需要交叉验证! 随机森林属于bagging集成算法,采用Bootstrap,理论和实践可以发现Bootstrap每次约有1/3的样本不会出现在Bootstrap所采集的样本集合中.故没有参加 ...

  6. python lasso做交叉验证法_标准方程法_岭回归_LASSO算法_弹性网

    程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8 ...

  7. (python基础)交叉验证

    K折验证交叉验证 总的来说,交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题.这块主要有三种方式:简单交叉验证(HoldOut检验).k折交叉验证(k-fold交叉验证).自助法. ...

  8. python k折交叉验证_机器学习之K折交叉验证

    本文主题:使用 train/test split 进行模型评估的缺点 K-fold cross-validation 如何克服这些缺点 K-fold cross-validation 如何用于参数调优 ...

  9. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr

    python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析.使用标准差信息添加误差区间条yerr 目录

最新文章

  1. python类装饰器详解-Python装饰器详解
  2. 【Python】url基础:网络爬虫技术
  3. Treelabeling 异或性质,位运算,染色法,二分图(2100)
  4. 在浏览器里,从输入 URL 到页面展示,这中间发生了什么?-学习笔记
  5. ABAP Development Tools的语法增强
  6. java 上传 进度条_Ajax上传文件并显示进度条
  7. 【渝粤教育】国家开放大学2018年秋季 1049t金融法规 参考试题
  8. Python最常用的函数、基础语句有哪些?你都知道吗
  9. 手动解除浏览器跨域限制
  10. openstack token
  11. Linux 安装 OFFICE 2007
  12. java基础试题_Java基础测试题带答案
  13. django模板语言使用
  14. 三极管稳压电路仿真分析案例(转)
  15. java since,javadoc:@version和@since
  16. <C++>初识STL —— 标准模板库
  17. html语言让动画停止,如何停止svg动画?
  18. 去除中文版WinRAR的弹窗广告
  19. 报错问题解决:net.sf.json.JSONException: There is a cycle in the hierarchy!
  20. 《软件工程导论》/ 第一章 软件工程学概述 / 1.4软件过程 / 1.4.1瀑布模型

热门文章

  1. safari浏览器的一些兼容性问题总结
  2. 婴幼儿体重在线计算机,【婴儿体重计算器标准_婴儿体重计算器标准专题】- 天鹅到家...
  3. 腾讯T3手把手教你!从底层开始带你了解并发编程,重要概念一网打尽!
  4. twr java_Java7中的try-with-resources(TWR)特性
  5. js 不用onload的loding
  6. 用php做一个相册的程序,搭建自己的相册 50个免费的相册程序(上)
  7. 萌新卷妹带你逃出算法无名岛第五站
  8. Appium服务器初始化参数(Capability)
  9. 【记录+解决】ubuntu服务器显卡驱动安装;Ubuntu20.04重启后找不到Nvidia显卡驱动
  10. 黑马5月就业数据丨人均过万!女生薪资更亮眼!