2013-05-13 73 views
0

我有一点麻烦,在这里认识此错误消息......不支持数类型为/:“海峡”和“浮动”

我一直在使用上的一些sklearn机器学习工具我数据最近。我试着输出剪影系数为我的数据,使用下面的下面的代码:

distmat = [] 
for row in distmat_csv: 
    distmat.append(row[1:]) 
in_distmat.close() 

distmat_array = np.array(distmat, dtype=object) 
print distmat_array 


out_metricsfile = open('Influenza A All Subtypes Human Strains %s in %s Clustering Metrics.txt' % (name1, name2), 'w+') 
out_metricsfile.write('%s in %s Clustering Metrics \n' % (name1, name2)) 
out_metricsfile.write('Estimated number of clusters: %d \n' % n_clusters) 
out_metricsfile.write("Silhouette Coefficient: %0.3f \n" 
     % metrics.silhouette_score(distmat_array, labels, metric='precomputed')) 
out_metricsfile.close() 

的distmat阵列只是一个系列,我从一个CSV文件中读取数字。它看起来是这样的:

[[0.000000 0.614841 0.613074 ..., 0.007067 0.007067 0.010601] 
[0.614841 0.000000 0...., 0.616608 0.613074 0.611307] 
[0.613074 0..000000 ..., 0.614841 0.611307 0.609541] 
..., 
[0.007067 0.616608 0.614841 ..., 0.000000 0.010601 0.014134] 
[0.007067 0.613074 0.611307 ..., 0.010601 0.000000 0.010601] 
[0.010601 0.611307 0.609541 ..., 0.014134 0.010601 0.000000]] 

是获取返回看来,这样的错误消息:

Traceback (most recent call last): 
    File "script9-perform-affinity-propagation-and-display.py", line 92, in <module> 
    % metrics.silhouette_score(distmat_array, labels, metric='precomputed')) 
    File "/Library/Python/2.7/site-packages/scikit_learn-0.13.1-py2.7-macosx-10.8-intel.egg/sklearn/metrics/cluster/unsupervised.py", line 84, in silhouette_score 
    return np.mean(silhouette_samples(X, labels, metric=metric, **kwds)) 
    File "/Library/Python/2.7/site-packages/scikit_learn-0.13.1-py2.7-macosx-10.8-intel.egg/sklearn/metrics/cluster/unsupervised.py", line 146, in silhouette_samples 
    for i in range(n)]) 
    File "/Library/Python/2.7/site-packages/scikit_learn-0.13.1-py2.7-macosx-10.8-intel.egg/sklearn/metrics/cluster/unsupervised.py", line 176, in _intra_cluster_distance 
    a = np.mean(distances_row[mask]) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/fromnumeric.py", line 2374, in mean 
    return mean(axis, dtype, out) 
TypeError: unsupported operand type(s) for /: 'str' and 'float' 

我被困在理解的错误消息。我怎么知道我出错的地方?如果有人友善,我在这里出了什么问题?

回答

0

好的......所以我真的找出问题出在哪里。通过将“dtype”从“object”更改为“float”,问题解决了...

相关问题