您的位置:首页 > 编程语言 > Java开发

十则交叉验证语料的划分

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() + "**************");
}
}
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java思想