私自身の相互検証機能を実装しようとしています。私はこのlinkのクロスバリデーションについて読んで、私のデータセットをトレーニングとテストに分けることができました。しかし、私はどのように折り目を定義することができますか? たとえば、私のデータフレームは次のようになります。パンダ:scikitを使用せずにクロスバリデーションを行うにはどうすればよいですか?
Dataframe:
MMC MET_lep MASS_Vis Pt_H Y
0 138.70 51.65 97.82 0.91 0
1 160.93 68.78 103.23 -999.00 0
2 -999.00 162.17 125.95 -999.00 0
3 143.90 81.41 80.94 -999.00 1
4 175.86 16.91 134.80 -999.00 0
5 -999.00 162.17 125.95 -999.00 0
6 143.90 81.41 80.94 -999.00 1
7 175.86 16.91 134.80 -999.00 0
8 -999.00 162.17 125.95 -999.00 0
9 143.90 81.41 80.94 -999.00 1
そして、このように出力したい:以下
For K=3 (Folds)
When K=1
Training:
MMC MET_lep MASS_Vis Pt_H Y
0 138.70 51.65 97.82 0.91 0
1 160.93 68.78 103.23 -999.00 0
2 -999.00 162.17 125.95 -999.00 0
3 143.90 81.41 80.94 -999.00 1
4 175.86 16.91 134.80 -999.00 0
5 -999.00 162.17 125.95 -999.00 0
6 143.90 81.41 80.94 -999.00 1
Test:
7 175.86 16.91 134.80 -999.00 0
8 -999.00 162.17 125.95 -999.00 0
9 143.90 81.41 80.94 -999.00 1
When K=2
Training:
MMC MET_lep MASS_Vis Pt_H Y
0 138.70 51.65 97.82 0.91 0
1 160.93 68.78 103.23 -999.00 0
2 -999.00 162.17 125.95 -999.00 0
6 143.90 81.41 80.94 -999.00 1
7 175.86 16.91 134.80 -999.00 0
8 -999.00 162.17 125.95 -999.00 0
9 143.90 81.41 80.94 -999.00 1
Test:
3 143.90 81.41 80.94 -999.00 1
4 175.86 16.91 134.80 -999.00 0
5 -999.00 162.17 125.95 -999.00 0
When K=3
Training:
MMC MET_lep MASS_Vis Pt_H Y
0 138.70 51.65 97.82 0.91 0
1 160.93 68.78 103.23 -999.00 0
2 -999.00 162.17 125.95 -999.00 0
3 143.90 81.41 80.94 -999.00 1
7 175.86 16.91 134.80 -999.00 0
8 -999.00 162.17 125.95 -999.00 0
9 143.90 81.41 80.94 -999.00 1
Test:
4 175.86 16.91 134.80 -999.00 0
5 -999.00 162.17 125.95 -999.00 0
6 143.90 81.41 80.94 -999.00 1
が、それは分割の仕事をしていませんが、折り目をしない、私のコードです:
split = math.floor(dataset.shape[0]*0.8)
data_train = dataset[:split]
data_test = dataset[split:]
は、事前にありがとうこれを助ける。