python实现留一法_机器学习基础

本文介绍了如何使用Python的Scikit-Learn库实现留一验证法,通过选取数据集中每个样本作为测试集,其余作为训练集,评估模型的预测准确率,以此提高模型的稳定性。示例中展示了在鸢尾花数据集上的应用过程。
摘要由CSDN通过智能技术生成

使用留一验证法进行分析

由于交叉验证法每次选取的测试集是随机的,因此每次运算结果未必相同。此时可采用留一验证法进行分析。

选取第0组作为测试集,其它为训练集重新训练模型,对第0组数据进行预测并验证是否正确。

选取第1组作为测试集,其它为训练集重新训练模型,对第1组数据进行预测并验证是否正确。

...

选取第n-1组作为测试集,其它为训练集重新训练模型,对第n-1组数据进行预测并验证是否正确。

统计这n组结果的准确率

from sklearn import datasets #鸢尾花数据集被sklearn的datasets所包含,需要引用

from sklearn.cross_validation import train_test_split

from sklearn.svm import SVC

from numpy import *

def data_svc_test(data, target, index): #3个参数分别为数据、类型编号标签、被选取的编号

x_train = vstack((data[0:index],data[index+1:-1])); #除第index号之外的数据为训练集

x_test = data[index]; #第index号数据为测试集

y_train = hstack((target[0:index],target[index+1:-1])); #除第index号之外标签为训练集

y_test = target[index]; #第index号标签为测试集

SVC_0 = SVC(kernel='rbf'); #建立SVC模型

SVC_0.fit(x_train,y_

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值