如何打印出拆分的索引?
How to print out the index of the split?
所以我有一些 8 列和许多行的数据,我想执行具有 5 个拆分的 K 折拆分。我已经做到了,但我现在想做的是对于每个拆分,打印出它所在的拆分编号。请参阅代码以获得更好的解释。
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..
您可以使用 enumerate
为您提供索引加上值
# Iterate through each feature in
for idx, kf_vals in enumerate(kf.split(df)):
print('Split #%s' % idx)
kf_train, kf_test = kf_vals
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')
添加 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.
所以我有一些 8 列和许多行的数据,我想执行具有 5 个拆分的 K 折拆分。我已经做到了,但我现在想做的是对于每个拆分,打印出它所在的拆分编号。请参阅代码以获得更好的解释。
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..
您可以使用 enumerate
为您提供索引加上值
# Iterate through each feature in
for idx, kf_vals in enumerate(kf.split(df)):
print('Split #%s' % idx)
kf_train, kf_test = kf_vals
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')
添加 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.