十则交叉验证语料的划分
2015-12-06 21:01
591 查看
package com.test; import java.util.ArrayList; import java.util.List; public class TenFolders { public static void main(String[] args) throws Exception { int sentNum = 90/10; int remainder = 90%10; System.out.println(sentNum); System.out.println(remainder); List allData = new ArrayList(); for(int k = 0; k < 90; k++) { allData.add("rr"+k); } if(remainder == 0) { int startIndex = 0; int endIndex = sentNum; for(int i = 0; i < 10; i++) { int num = sentNum; List trainData = new ArrayList(); List testData = new ArrayList(); testData = allData.subList(startIndex, endIndex); trainData.addAll(allData.subList(0, startIndex)); trainData.addAll(allData.subList(endIndex, allData.size())); startIndex += num; endIndex += num; System.out.println(testData.size()+"%%%%%%%%%%%%%%%%%"); System.out.println(trainData.size()+"%%%%%%%%%%%%%%%%%"); } }else { int startIndex = 0; int endIndex = sentNum+1; for(int i = 0; i < remainder; i++) { int num = sentNum + 1; List trainData = new ArrayList(); List testData = new ArrayList(); testData = allData.subList(startIndex, endIndex); trainData.addAll(allData.subList(0, startIndex)); trainData.addAll(allData.subList(endIndex, allData.size())); if(i < remainder -1) //也就是i= remainder-1时不用更新startIndex和endIndex { startIndex += num; endIndex += num; } System.out.println(testData.size()+"%%%%%%%%%%%%%%%%%"); System.out.println(trainData.size()+"%%%%%%%%%%%%%%%%%"); } for(int j = 0; j < 10-remainder; j++) { List trainData = new ArrayList(); List testData = new ArrayList(); int num = sentNum; if(j == 0) { startIndex = endIndex; endIndex += num; } testData = allData.subList(startIndex, endIndex); trainData.addAll(allData.subList(0, startIndex)); trainData.addAll(allData.subList(endIndex, allData.size())); startIndex += num; endIndex += num; System.out.println(testData.size() + "**************"); System.out.println(trainData.size() + "**************"); } } } }
相关文章推荐
- 两个并行 for 循环 的问题
- 集合中元素两两配对
- 关于hashcode()的作用
- 努力学好java,阅读源码
- 设计模式学习
- java面向对象思想的认识与理解
- 【LWJGL官方教程】纹理
- Eclipse快捷键
- JAVA的序列化和反序列化(转)
- Java-对象排序
- 对Java中内部类的理解
- eclipse 在复制/粘贴 时很卡
- 《java并发编程实战》读书笔记——线程池
- SSH整合
- guava之Multiset、Multimap、BiMap与Table_成绩表行转列JAVA136-137
- Basic--Java基本语法
- SpringMVC中在web.xml中配置DispatcherServlet与中文乱码配置
- Day_6重载
- Day_5面向对象
- Struts2框架学习(三) 数据处理