Python 交叉验证模型评估

1 声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。

2 交叉验证模型评估简介

交叉验证(Cross Validation)是机器学习里模型评估的常见方法,它用于检查模型的泛化能力。计算过程是将数据分为n 组,每组数据都要作为一次验证集进行一次验证,而其余的 n-1 组数据作为训练集。这样一共要循环 n 次,得到 n 个模型。通过对这些模型的误差计算均值,得到交叉验证误差。

3 交叉验证模型评估代码示例

from numpy import nan
from pandas import read_csv
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
# 加载数据集
dataset = read_csv('../input/pima-indians-diabetes.csv', header=None)
# 用0替换空值
dataset[[1,2,3,4,5]] = dataset[[1,2,3,4,5]].replace(0, nan)
# 删除缺失值
dataset.dropna(inplace=True)
# 定义X和y
values = dataset.values
X = values[:,0:8]
y = values[:,8]
# 用LDA定义模型
model = LinearDiscriminantAnalysis()
# 定义模型评估的方法(n_splits即训练集被分的份数)
cv = KFold(n_splits=3, shuffle=True, random_state=1)
# 评估模型(按照accuracy排序)
result = cross_val_score(model, X, y, cv=cv, scoring='accuracy')
# 打印模型表现
print(result)
print('Accuracy: %.3f' % result.mean())

4 总结

Python 交叉验证模型评估相关推荐

  1. python 交叉验证后获取模型_Python机器学习:6.2 K折交叉验证评估模型性能

    训练机器学习模型的关键一步是要评估模型的泛化能力.如果我们训练好模型后,还是用训练集取评估模型的性能,这显然是不符合逻辑的.一个模型如果性能不好,要么是因为模型过于复杂导致过拟合(高方差),要么是模型 ...

  2. 5折交叉验证_交叉验证:评估模型表现

    注明:本文章所有代码均来自scikit-learn官方网站 在实际情况中,如果一个模型要上线,数据分析员需要反复调试模型,以防止模型仅在已知数据集的表现较好,在未知数据集上的表现较差.即要确保模型的泛 ...

  3. python交叉验证函数_python – 在sklearn中使用交叉验证和AUC-ROC作为逻辑回归模型...

    我正在使用sklearn包来构建逻辑回归模型,然后对其进行评估.具体来说,我想使用交叉验证,但无法通过cross_val_score函数找出正确的方法. 根据我看到的documentation和exa ...

  4. python交叉验证结合线性回归_多元线性回归模型的特征选择:全子集回归、逐步回归、交叉验证...

    在多元线性回归中,并不是所用特征越多越好:选择少量.合适的特征既可以避免过拟合,也可以增加模型解释度.这里介绍3种方法来选择特征:最优子集选择.向前或向后逐步选择.交叉验证法. 最优子集选择 这种方法 ...

  5. python交叉验证结合线性回归_Python数据分析-线性回归、逻辑回归

    一.机器学习 1.什么是机器学习? 输入:训练数据,特征,标签 机器学习算法会自动学习其中的规律 这时,如果我们输入测试数据,就会输出关于测试数据特征的结果. 输入的特征指的是:数据的属性/特点 输出 ...

  6. Python机器学习之模型评估及选择

    1. 评估方法 1.回归:RMSE(平方根误差).MAE(平均绝对误差).MSE(平均平方误差).Coefficient of determination (决定系数R2). MAPE(平均绝对百分误 ...

  7. python交叉验证结合线性回归_Python机器学习之交叉验证

    交叉验证是一种非常常用的对于模型泛化能力进行评估 方法,交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题.常用的交叉验证方法有:简单交叉验证(HoldOut检验,例如train_t ...

  8. python交叉验证法_详解python实现交叉验证法与留出法

    在机器学习中,我们经常在训练集上训练模型,在测试集上测试模型.最终的目标是希望我们的模型在测试集上有最好的表现. 但是,我们往往只有一个包含m个观测的数据集D,我们既要用它进行训练,又要对它进行测试. ...

  9. python 交叉验证后获取模型_Pysal:如何使用Pysal回归模型进行交叉验证? - python

    我正在使用pysal进行空间回归.这就是我在做什么.我首先将训练和验证集分开 import pysal as ps m_train = ps.model.spreg.GM_Lag(ytrain, xt ...

最新文章

  1. python安装教程win8-python 2.7在win8.1上安装的方法
  2. Elasticsearch5.X IN Windows 10 系列文章(1)
  3. Python爬虫百度搜索
  4. LeetCode - 4. 寻找两个正序数组的中位数
  5. 博士选题的态度:商量着来
  6. 推荐Datawhale整理的秋招求职攻略
  7. python代码质量检查工具_python代码检查工具pylint 让你的python更规范
  8. 微服务设计 读书笔记 一
  9. Mybatis之加载mybatis-config.xml
  10. 边缘计算精华问答 | 5G是否会“逼退”4G?
  11. 管程由哪三部分组成_黄蜀葵烘干机是由哪几个部分组成的
  12. 贪吃蛇小游戏(C语言)
  13. SSH——Hibernate简单配置
  14. linux服务器关闭web,linux关闭防火墙后还访问不了Web?已解决,关闭防火墙及清除防火墙策略...
  15. html一像素等于多少px,pt和px换算(一pt等于多少像素)
  16. Chrome浏览器更新后,无法调用Lodop打印
  17. vue-cli2.x旧版本卸载不掉的问题解决方案(亲测+踩坑)附Vue脚手架安装教程
  18. java ean13 计算_实训java第三课 for 逻辑运算符 条件判断 商品条形码Ean-13验证码生成...
  19. 2023春节祝福系列第一弹(下)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)
  20. 辉煌一时的金立如今却沦为山寨机?只因做错了这一点

热门文章

  1. OpenCASCADE绘制测试线束:图形命令之AIS 查看器——显示命令
  2. OpenCASCADE:Mac OS X平台使用Xcode构建OCCT
  3. Boost.SmartPtr 的快速 (CI) 测试
  4. boost::ptr_container::ptr_inserter相关的测试程序
  5. boost::hana::is_valid用法的测试程序
  6. boost::dag_shortest_paths用法的测试程序
  7. GDCM:gdcm::FileChangeTransferSyntax的测试程序
  8. Boost:bimap双图项目的测试程序
  9. ITK:从灰度图像计算直方图
  10. ITK:与矢量型图像应用GradientRecursiveGaussianImageFilter