私はPythonで相互検証を実行しようとしています。私のデータセットのサイズは31x9です。私は評価のためにマトリックスをサイズ28と3のマトリックスに分割したいと思っています。さらに、テスト行列では、最後の2つの列をゼロに置き換えたいと考えています。私のコードは次のようである:Pythonの適切な相互検証と行列処理
def printme(training):
train_list = []
test_list = []
num_folds = 10
subset_size = len(training)/num_folds
for i in range(num_folds):
testing_this_round = training[i*subset_size:][:subset_size]
training_this_round = training[:i*subset_size] + training[(i+1)*subset_size:]
train_list.append(training_this_round)
new_test = testing_this_round
new_test[0][8] = 0
new_test[1][8] = 0
new_test[2][8] = 0
new_test[0][7] = 0
new_test[1][7] = 0
new_test[2][7] = 0
test_list.append(new_test)
return train_list, test_list
クロスバリデーションが正常に動作するようです、しかし私はゼロに等しい検査行列の最後の2 columsnを作成しようとしていたとき、私は問題をentounted。私のコードはトレーニングマトリックスにも影響を与えるようです。どうすればこの問題を解決できますか?両方の戻り行列train_listとtest_listで、最後の2つの列がゼロに変更されました。