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

本文介绍了如何使用Python实现十次交叉验证,特别是在机器学习数据准备阶段。通过算法详细解释了如何处理数据,确保数据尽可能均分,以提高模型的测试精度。涉及到的数据包括1400条电影评论数据,作者自定义了fwalker和bfile包来简化文件操作。
摘要由CSDN通过智能技术生成

摄于 2017年4月21日 台湾垦丁船帆石海滩

前言

这两天本来打算开始写朴素贝叶斯分类器的算法的,由于上一篇博文python实现贝叶斯推断——垃圾邮件分类在实现时,在数据划分训练集和测试集的时候遇到两个问题,第一是数据量太少,只有50条数据,解决方法就是扩大数据量咯。第二个,也是今天写这篇博文的目的,就是在训练的时候,我先把数据文件进行随机乱序,然后抽取了乱序后前10个数据文件,这个目的实际上就是为了随机从中抽取10个数据文件作为测试集,剩下的40个数据文件作为训练集。这种方法在机器学习的数据准备过程中是非常常见的。但是,为了能够更好的测试模型,尽可能的排除外在因素的干扰,消除偏好,同时获得最好的精度,所以这里则引入交叉验证(Cross-Validation),而交叉验证的次数一般取10次,所以一般也叫十次交叉验证。从stackoverflow上找到一张图,一看即明,原图网站。

算法思路

如果数据量为10的倍数,则分离数据是非常方便的,即直接均分十份,依次轮流存入test和train两个文件夹中。

但是如果不是10的倍数呢?

思路如下:

1.获取数据数量,余除10,获得余数,例如现在有24个数据文件,24%10=4

2.根据余数拆分数据,即将数据拆分成20和4两份。

3.将拆分数据后能够整除10的一份均分十份,即将数据量为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值