首页 > Python如何进行cross validation training

Python如何进行cross validation training

以4-fold validation training为例

(1) 给定数据集data和标签集label

样本个数为

sampNum = len(data)

(2) 将给定的所有examples分为10组

每个fold个数为

foldNum = sampNum/10  

(3) 将给定的所有examples分为10组

参考scikit-learn的3.1节:Cross-validation 

 1 import np
 2 from sklearn import cross_validation
 3 # dataset
 4 
 5 data = np.array([[1,3],[2,4],[3.1,3],[4,5],[5.0,0.3],[4.1,3.1]])
 6 label = np.array([0,1,1,1,0,0])
 7 sampNum= len(data)
 8 
 9 # 10-fold (9份为training,1份为validation)
10 kf = KFold(len(data), n_folds=4)
11 iFold = 0
12 for train_index, val_index in kf:
13     iFold = iFold+1
14     X_train, X_val, y_train, y_val = data[train_index], data[val_index], label[train_index], label[val_index] # 这里的X_train,y_train为第iFold个fold的训练集,X_val,y_val为validation set

 

  

给定的数据集如下: 

   

 

所有样本的指标集为:

01234567

每个iFold(共4个)的训练集和validation set的index分别为:

 iFold = 0 (训练集中包含6个examples,validation set 中包含3个examples)

iFold = 1

iFold = 2

iFold = 3

每个iFold的训练集和validation set分别为:

X_train, X_val, y_train, y_val = data[train_index], data[val_index], label[train_index], label[val_index]

  

 

转载于:https://www.cnblogs.com/lutingting/p/5156475.html

更多相关:

  • 0.随机森林的思考   随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的。那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森林建立之后,采用的投票过程能否增加一定的权值呢?在选取样本的时候,我们能否对于分类错误的样本给予更大的权值,使之得到更多的重视呢?...

  • 如果想在训练和验证时监视不同的summary,将train summary ops和val summary ops放进不同的集合中即可。 train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph) val_writer = tf.summary.FileWr...

  • 有时候我们会遇到调整后的模型反而不如调整前表现好的情况,这可能和数据的随机分割有关系。在这个不平衡的数据情况下,最好用层化(stratification)的方法,比如: from sklearn.cross_validation import StratifiedShuffleSplit...ssscv = StratifiedShu...

  • 编译环境Eigen3+CUDA9.2+VS2015 错误如下: 解决方式: 将Eigen中的JacobiSVD and BDCSVD里的Index用Eigen::Index替换 http://eigen.tuxfamily.org/dox-devel/TopicCUDA.html http://eigen.tuxfami...

  • 一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回是true或者false判断是否能够跳跃到结尾 例如: nums = [2, 3, 1, 1, 4] ,可以从nums[0] = 2 跳跃...

  • d定义: pandas是一个强大的Python数据分析的工具包。 pandas是基于NumPy构建的。 安装方法: pip install pandas import pandas as pd pandas的主要功能 具备对其功能的数据结构DataFrame、Series 集成时间序列功能 提供丰富的数学运算和操作 灵活处理缺失数据...

  •   using System; using System.Text; using System.Security.Cryptography; using System.Web; using System.IO;namespace Thinhunan.Cnblogs.Com.RSAUtility {public class PemCo...

  • 错误信息:ORA-01502: index 'VOX_ID' or partition of such index is in unusable state 原因:将表的表空间做了更改,导致索引失效。表移动表空间,需要重建索引。 解决方法:alter index vox_id rebuild   问题查找: SQL> select i...

  • #-*- coding: utf-8 -*-from skimage importio,transformimportglobimportosimporttensorflow as tfimportnumpy as npimporttimepath='D:/code/python/Anaconda3/envs/faces'#将所有的图...