2017-05-12 116 views
3

这个标题是指给了我一个问题笔记本:https://github.com/justmarkham/scikit-learn-videos/blob/master/07_cross_validation.ipynbTyperror在机器学习教程,numpy的

from sklearn.cross_validation import KFold 
kf = KFold(25, n_folds=5, shuffle=False) 

# print the contents of each training and testing set 
print('{} {:^61} {}'.format('Iteration', 'Training set observations',    
'Testing set observations')) 
for iteration, data in enumerate(kf, start=1): 
    print('{:^9} {} {:^25}'.format(iteration, data[0], data[1])) 

这是错误我得到:

TypeError: unsupported format string passed to numpy.ndarray.__format__ 

我真的不知道在哪里开始是因为我不熟悉numpy。

回答

1

看来它只是缺少明确的字符串转换:

from sklearn.cross_validation import KFold 
kf = KFold(25, n_folds=5, shuffle=False) 

# print the contents of each training and testing set 
print('{} {:^61} {}'.format('Iteration', 
          'Training set observations', 
          'Testing set observations')) 
for iteration, data in enumerate(kf, start=1): 
    print('{:^9} {} {:^25}'.format(iteration, data[0], str(data[1]))) 

或:

print('{:^9} {} {!s:^25}'.format(iteration, data[0], data[1])) 

!s是将其转换为一个字符串的另一种方式。

一般来说,格式化迷你语言在"Format Specification Mini-Language"