返回顶部
首页 > 资讯 > 后端开发 > Python >python实现K折交叉验证
  • 346
分享到

python实现K折交叉验证

2024-04-02 19:04:59 346人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python实现K折交叉验证的具体代码,供大家参考,具体内容如下 用KNN算法训练iris数据,并使用K折交叉验证方法找出最优的K值 import numpy

本文实例为大家分享了python实现K折交叉验证的具体代码,供大家参考,具体内容如下

用KNN算法训练iris数据,并使用K折交叉验证方法找出最优的K值


import numpy as np
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import KFold # 主要用于K折交叉验证

# 导入iris数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
print(X.shape,y.shape)

# 定义想要搜索的K值,这里定义8个不同的值
ks = [1,3,5,7,9,11,13,15]

# 进行5折交叉验证,KFold返回的是每一折中训练数据和验证数据的index
# 假设数据样本为:[1,3,5,6,11,12,43,12,44,2],总共10个样本
# 则返回的kf的格式为(前面的是训练数据,后面的验证集):
# [0,1,3,5,6,7,8,9],[2,4]
# [0,1,2,4,6,7,8,9],[3,5]
# [1,2,3,4,5,6,7,8],[0,9]
# [0,1,2,3,4,5,7,9],[6,8]
# [0,2,3,4,5,6,8,9],[1,7]
kf = KFold(n_splits = 5, random_state=2001, shuffle=True)

# 保存当前最好的k值和对应的准确率
best_k = ks[0]
best_score = 0

# 循环每一个k值
for k in ks:
    curr_score = 0
    for train_index,valid_index in kf.split(X):
        # 每一折的训练以及计算准确率
        clf = KNeighborsClassifier(n_neighbors=k)
        clf.fit(X[train_index],y[train_index])
        curr_score = curr_score + clf.score(X[valid_index],y[valid_index])
        
    # 求一下5折的平均准确率
    avg_score = curr_score/5
    if avg_score > best_score:
        best_k = k
        best_score = avg_score
    print("current best score is :%.2f" % best_score,"best k:%d" %best_k)
    
print("after cross validation, the final best k is :%d" %best_k)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: python实现K折交叉验证

本文链接: https://lsjlt.com/news/124027.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现K折交叉验证
    本文实例为大家分享了python实现K折交叉验证的具体代码,供大家参考,具体内容如下 用KNN算法训练iris数据,并使用K折交叉验证方法找出最优的K值 import numpy...
    99+
    2024-04-02
  • python留一交叉验证的实例
    目录python 留一交叉验证基本原理代码实现留一法交叉验证 Leave-One-Out Cross Validation我们用SKlearn库来实现一下LOOpython 留一交叉...
    99+
    2024-04-02
  • R语言交叉验证的实现代码
    k-折交叉验证 k-折交叉验证(K-fold cross-validation)是交叉验证方法里一种。它是指将样本集分为k份,其中k-1份作为训练数据集,而另外的1份作为验证数据集。...
    99+
    2024-04-02
  • R语言逻辑回归、ROC曲线与十折如何实现交叉验证
    本篇内容主要讲解“R语言逻辑回归、ROC曲线与十折如何实现交叉验证”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言逻辑回归、ROC曲线与十折如何实现交叉验证”吧!1. 测试集和训练集3、7分...
    99+
    2023-06-08
  • Python中交叉验证的方法有哪些
    这篇文章主要介绍“Python中交叉验证的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中交叉验证的方法有哪些”文章能帮助大家解决问题。一、什么是交叉验证?交叉验证是一种用于估...
    99+
    2023-06-29
  • 分享Python 中的 7 种交叉验证方法
    目录一、什么是交叉验证?二、它是如何解决过拟合问题的?1、HoldOut 交叉验证2、K 折交叉验证3、分层 K 折交叉验证4、Leave P Out 交叉验证5、留一交叉验证6、蒙...
    99+
    2024-04-02
  • R语言逻辑回归、ROC曲线与十折交叉验证详解
    自己整理编写的逻辑回归模板,作为学习笔记记录分享。数据集用的是14个自变量Xi,一个因变量Y的australian数据集。 1. 测试集和训练集3、7分组 australian ...
    99+
    2024-04-02
  • 交叉验证之KFold和StratifiedKFold的使用(附案例实战)
    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬...
    99+
    2023-08-31
    python 机器学习 决策树 数据挖掘
  • C++实现LeetCode(98.验证二叉搜索树)
    [LeetCode] 98. Validate Binary Search Tree 验证二叉搜索树 Given a binary tree, determine if it is ...
    99+
    2024-04-02
  • C++实现验证二叉搜索树代码
    本篇内容主要讲解“C++实现验证二叉搜索树代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++实现验证二叉搜索树代码”吧!验证二叉搜索树Given a binary tree, determ...
    99+
    2023-06-20
  • C++如何实现验证二叉搜索树
    本文小编为大家详细介绍“C++如何实现验证二叉搜索树”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++如何实现验证二叉搜索树”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。验证二叉搜索树Example 1:In...
    99+
    2023-06-19
  • Flex如何实现表单提交验证
    这篇文章给大家分享的是有关Flex如何实现表单提交验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex表单提交验证一、定义Flex表单提交验证条件,如:source为要绑定的文本框,trigger为绑定提交...
    99+
    2023-06-17
  • sklearn交叉验证函数cross_val_score用法及参数解释
    文章目录 一 、使用示例二、参数含义三、常见的scoring取值1.分类、回归和聚类scoring参数选择2.f1_micro和f1_macro区别3.负均方误差和均方误差 一 、使用...
    99+
    2023-09-07
    sklearn 机器学习 python
  • 如何使用Python实现极验验证码识别验证码
    这篇“如何使用Python实现极验验证码识别验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Python实现极验...
    99+
    2023-07-05
  • 原生js实现表单的正则验证(验证通过后才可提交)
    实现了如下功能: 1.用户名:onfouc显示msg规则;onkeyup计算字符,其中中文为两个字符;onblur,验证是否通过 2.邮箱:onblur 正则匹配,正则是根据自己的...
    99+
    2024-04-02
  • Pyspark线性回归梯度下降交叉验证知识点详解
    我正在尝试在 pyspark 中的 SGD 模型上执行交叉验证,我正在使用pyspark.mllib.regression,ParamGridBuilder和CrossValidat...
    99+
    2024-04-02
  • Python实现简单登录验证
    本文实例为大家分享了简单的Python登录验证,供大家参考,具体内容如下 编写登录接口 要求:1、输入用户名密码    2、认证成功后显示欢迎信息    3、输错三次后锁定 #coding=utf-8 ...
    99+
    2022-06-04
    简单 Python
  • Python中的行为验证码验证功能怎么实现
    本篇内容主要讲解“Python中的行为验证码验证功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的行为验证码验证功能怎么实现”吧!验证类型概述滑动拼图创新行为式验证,轻松...
    99+
    2023-07-05
  • python中k-means和k-means++原理及实现
    目录前言k-means原理k-means++原理k-means及k-means++代码实现k-means实现k-means++实现参考文档前言 k-means算法是无监督的聚类算法,...
    99+
    2024-04-02
  • K-MEANS聚类——Python实现
    一、概述 (1)物以类聚,人以群分,聚类分析是一种重要的多变量统计方法,但记住其实它是一种数据分析方法,不能进行统计推断的。当然,聚类分析主要应用在市场细分等领域,也经常采用聚类分析技术来实现对抽样框的分层。它和分类不同,它属于无监督问题。...
    99+
    2023-09-18
    聚类 python kmeans
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作