Python实现 交叉验证

交叉验证是常用的机器学习训练手段,可有效检验模型泛化能力。它需将原始数据集平等划分,如5 - folds CV将数据集分为5份,进行5次训练,每次取一份作测试集,其余作训练集,最后对5个模型预测值求平均。其第一步是划分数据集。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

交叉验证

交叉验证(Cross Validation)是常用的机器学习训练手段,可以有效检验一个模型的泛化能力。交叉验证需要将原始数据集平等地划分为若干份,例如 5-folds CV 指的是将数据集分为5份,然后进行5次训练,每次取出一份数据作为测试集,剩下的作为训练集,得到5个模型,最终将5个模型的预测值做一个平均。

CV的第一步就是划分数据集

trainingSet :储存训练集索引
index :数据集总数
all_data:储存测试集索引

trainingSet = list(range(all_data))		       #创建存储训练集的索引值的列表

testSet = []            			       #储存测试集的索引值的列表                           

for i in range(test_num):                              #从all_data个数据中,随机挑选出(all_data- test_num)个作为
							#训练集,test_num个做测试集        

	randIndex = int(random.uniform(0, len(trainingSet)))   #随机选取索索引值        

	testSet.append(trainingSet[randIndex])                 #添加测试集的索引值        

	del(trainingSet	[randIndex])                           #在训练集列表中删除添加到测试集的索引值

然后testSet就可以用作测试集了

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值