因此,我有一些8列和许多行的数据,我想执行K折拆分,其中有5个拆分。我已经这样做了,但我现在要做的是,对于每个拆分,打印出它所在的拆分数字。有关更好的解释,请参阅代码。
kf = KFold(n_splits=5) #Define the split - into 5 folds
#Define empty arrays for each technique
kf_train = []
kf_test = []
#Iterate through each feature in
for kf_train, kf_test in kf.split(df):
print('Split # ????')
for col_name, col_data in df.iteritems():
print('Feature: ', col_name)
print('Mean: ', np.mean(col_data))
print('Standard Deviation: ', np.std(col_data))
print('\n')所以它说print('Split # ????')就是我遇到问题的地方。为了得到下面的输出,我应该写什么:
Split #1
Feature: XXX
Mean: 3.3
Std: 3.3
Split #2
etc..发布于 2020-03-19 19:36:01
添加enumerate应该可以解决您的问题:
for i, (kf_train, kf_test) in enumerate(kf.split(df)):
print('Split #{}'.format(i))
for col_name, col_data in df.iteritems():
print('Feature: ', col_name)
print('Mean: ', np.mean(col_data))
print('Standard Deviation: ', np.std(col_data))
print('\n')参考:docs。
https://stackoverflow.com/questions/60756287
复制相似问题