我有一个包含223行和11列的矩阵。我想将这个矩阵拆分成数据包(每个数据包将有10行来自矩阵)所以最后我应该有22个数据包(我将忽略最后3个数据包)行)。在我收到数据包后,我想对我的数据包执行交叉验证算法,我想把所有数据包都放在一个HaskMap
中,这个数据包将作为一个关键数据包并重新计算其余数据包。所以它看起来像这样
key = pack1, value = pack2,...,pack22
key = pack2, values = pack1, pack3,...pack22
.............................................
key = pack22, values = pack1,...,pack21
在创建地图之前,我在将矩阵拆分成数据包时遇到了问题 这是我的代码:
int k = 0;
ArrayList<ArrayList<double[]>> allPacks = new ArrayList<ArrayList<double[]>>();
ArrayList<double[]> batch = new ArrayList<double[]>();
for (int i=0;i<matrix.length;i+=10) {
System.out.println(i);
batch.add(matrix[i]);
k++;
if (k % 10 == 0) {
allPacks.add(batch);
batch.clear();
}
}
如果我打印allPacks
的大小为2.我不明白。有什么帮助?
答案 0 :(得分:2)
您的主要问题是您每次都要添加相同的eatfood_db, websiteco_db
。
这应该解决它:
batch