我想使用scikit learn中的k-NN算法。对于距离函数,我想使用我自己的函数。这些应该通过tanimoto系数来计算。
我编写了tanimo函数,并将其交给scikit-learn中的度量参数。
我的数据只包含1和0(因此所有功能都只有1或0)。
对于tanimo,im计算x和y中的所有1,并返回skalar=系数。KNN函数的调用方式如下:KNeighborsClassifier(metric=tanimoto).fit(X_train,y_train)
def tanimoto(x,y):
print x
print y
a=x.tolist()
b=y.tolist()
c=np.count_nonzero(x==y)
a1=a.count(1.0)
b1=b.count(1.0)
return float(c)/(a1 + b1 - c)
如果我打印x和y,它们实际上应该只有1和0?
tanimoto中打印x,y的输出为:
X:
[ 0.6371319 0.54557285 0.30214217 0.14690307 0.49778446 0.89183238
0.52445514 0.63379164 0.71873681 0.55008567]
Y:
[ 0.6371319 0.54557285 0.30214217 0.14690307 0.49778446 0.89183238
0.52445514 0.63379164 0.71873681 0.55008567]
X:
[ 0. 0. 0. 0.02358491 0.00471698 0. 0.
0. 0. 0.00471698 0.00471698 0.00471698 0.02830189
0.00943396 0. .............................52358491 0.53773585
0.63207547 0.51886792 0.66037736 0.75 0.57075472 0.59433962
0.63679245 0.8490566 0.71698113 0.02358491]
Y:
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.
1. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.
0. 0. 0. 0. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1. 0. 1. 1. 0.
1. 1. 1. 1. 0.]
# and so on ... X is always a skalar vector and y the vector how it should be. (only 1 and 0)
我的X_train矢量:
[[ 0. 0. 0. ..., 1. 1. 0.]
[ 0. 0. 0. ..., 1. 1. 0.]
[ 0. 0. 0. ..., 1. 1. 0.]
...,
[ 0. 0. 0. ..., 1. 1. 0.]
[ 0. 0. 0. ..., 0. 1. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
这是的代码示例
import numpy as np
from sklearn.neighbors import NearestNeighbors
def tanimoto(x,b):
print "X OUTPUTn ",x,"B OUTPUTn",b
c=np.sum(x==b)
a1 = np.sum(x)
b1 = np.sum(b)
if (a1 + b1 - c)==0:
return 0
else:
return float(c)/(a1 + b1 - c)
tests=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]
classifiers=NearestNeighbors( n_neighbors=4,algorithm='ball_tree',metric=tanimoto).fit(tests)
#example
以及整个输出,如果我在tanimoto函数中打印出x,b
------------ new Fingerprint ------------
fingerprint: macc
-----------------------------------------
X OUTPUT
[ 0.86899132 0.85534082 0.21453329 0.24435568 0.32321695 0.6926369
0.5124301 0.98725159 0.01685611 0.58985301] B OUTPUT
[ 0.86899132 0.85534082 0.21453329 0.24435568 0.32321695 0.6926369
0.5124301 0.98725159 0.01685611 0.58985301]
X OUTPUT
[ 0. 0. 0. 0.09090909 0. 0. 0.
0. 0. 0.09090909 0. 0. 0.09090909
0. 0. 0. 0.09090909 0. 0.
0.09090909 0. 0. 0.09090909 0.09090909 0. 0.
0. 0. 0. 0. 0.09090909 0.09090909
0.09090909 0.09090909 0. 0. 0.09090909 0.
0.09090909 0.09090909 0.09090909 0. 0.09090909 0.09090909
0. 0. 0. 0.09090909 0.09090909 0.18181818
0. 0. 0.09090909 0. 0. 0.09090909
0. 0.09090909 0.09090909 0. 0.09090909 0.09090909
0.09090909 0. 0.09090909 0.36363636 0.18181818 0.18181818
0.09090909 0.18181818 0. 0. 0.27272727 0.09090909
0.09090909 0.27272727 0.09090909 0.09090909 0.09090909 0.09090909
0.09090909 0.18181818 0. 0.36363636 0. 0.09090909
0.09090909 0.27272727 0.27272727 0.18181818 0. 0.09090909
0.36363636 0.18181818 0.18181818 0.27272727 0.45454545 0.18181818
0.27272727 0.09090909 0.09090909 0.36363636 0.18181818 0.45454545
0. 0.36363636 0.45454545 0.45454545 0.45454545 0.36363636
0.54545455 0. 0.54545455 0.36363636 0.45454545 0.27272727
0.09090909 0.54545455 0.18181818 0.09090909 0.27272727 0.45454545
0.27272727 0.45454545 0.45454545 0.36363636 0.54545455 0.54545455
0.09090909 0.18181818 0.27272727 0.18181818 0.36363636 0.
0.54545455 0. 0.45454545 0.54545455 0.18181818 0.18181818
0.18181818 0.36363636 0.18181818 0.54545455 0.45454545 0.36363636
0.54545455 0.18181818 0.45454545 0.54545455 0.54545455 0.18181818
0.45454545 0.45454545 0.63636364 0.54545455 0.54545455 0.63636364
0.45454545 0.72727273 0.63636364 0.54545455 0.54545455 0.63636364
0.90909091 0.63636364 0.18181818] B OUTPUT
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.
0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 0. 1. 0. 1. 1. 0.
0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 1. 0. 1. 0. 1. 1. 1.
1. 1. 1. 0. 0. 1. 1. 0. 0. 1. 0. 0. 1. 1. 1. 1. 0. 1.
1. 1. 0. 1. 0. 0. 1. 0. 1. 0. 1. 1. 1. 0. 0. 0. 0. 1.
1. 0. 1. 0. 1. 0. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 0.]
X OUTPUT
[ 0. 0. 0. 0.09090909 0. 0. 0.
0. 0. 0.09090909 0. 0. 0.09090909
0. 0. 0. 0.09090909 0. 0.
0.09090909 0. 0. 0.09090909 0.09090909 0. 0.
0. 0. 0. 0. 0.09090909 0.09090909
0.09090909 0.09090909 0. 0. 0.09090909 0.
0.09090909 0.09090909 0.09090909 0. 0.09090909 0.09090909
0. 0. 0. 0.09090909 0.09090909 0.18181818
0. 0. 0.09090909 0. 0. 0.09090909
0. 0.09090909 0.09090909 0. 0.09090909 0.09090909
0.09090909 0. 0.09090909 0.36363636 0.18181818 0.18181818
0.09090909 0.18181818 0. 0. 0.27272727 0.09090909
0.09090909 0.27272727 0.09090909 0.09090909 0.09090909 0.09090909
0.09090909 0.18181818 0. 0.36363636 0. 0.09090909
0.09090909 0.27272727 0.27272727 0.18181818 0. 0.09090909
0.36363636 0.18181818 0.18181818 0.27272727 0.45454545 0.18181818
0.27272727 0.09090909 0.09090909 0.36363636 0.18181818 0.45454545
0. 0.36363636 0.45454545 0.45454545 0.45454545 0.36363636
0.54545455 0. 0.54545455 0.36363636 0.45454545 0.27272727
0.09090909 0.54545455 0.18181818 0.09090909 0.27272727 0.45454545
0.27272727 0.45454545 0.45454545 0.36363636 0.54545455 0.54545455
0.09090909 0.18181818 0.27272727 0.18181818 0.36363636 0.
0.54545455 0. 0.45454545 0.54545455 0.18181818 0.18181818
0.18181818 0.36363636 0.18181818 0.54545455 0.45454545 0.36363636
0.54545455 0.18181818 0.45454545 0.54545455 0.54545455 0.18181818
0.45454545 0.45454545 0.63636364 0.54545455 0.54545455 0.63636364
0.45454545 0.72727273 0.63636364 0.54545455 0.54545455 0.63636364
0.90909091 0.63636364 0.18181818] B OUTPUT
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
0. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.]
X OUTPUT
[ 0. 0. 0. 0.09090909 0. 0. 0.
0. 0. 0.09090909 0. 0. 0.09090909
0. 0. 0. 0.09090909 0. 0.
0.09090909 0. 0. 0.09090909 0.09090909 0. 0.
0. 0. 0. 0. 0.09090909 0.09090909
0.09090909 0.09090909 0. 0. 0.09090909 0.
0.09090909 0.09090909 0.09090909 0. 0.09090909 0.09090909
0. 0. 0. 0.09090909 0.09090909 0.18181818
0. 0. 0.09090909 0. 0. 0.09090909
0. 0.09090909 0.09090909 0. 0.09090909 0.09090909
0.09090909 0. 0.09090909 0.36363636 0.18181818 0.18181818
0.09090909 0.18181818 0. 0. 0.27272727 0.09090909
0.09090909 0.27272727 0.09090909 0.09090909 0.09090909 0.09090909
0.09090909 0.18181818 0. 0.36363636 0. 0.09090909
0.09090909 0.27272727 0.27272727 0.18181818 0. 0.09090909
0.36363636 0.18181818 0.18181818 0.27272727 0.45454545 0.18181818
0.27272727 0.09090909 0.09090909 0.36363636 0.18181818 0.45454545
0. 0.36363636 0.45454545 0.45454545 0.45454545 0.36363636
0.54545455 0. 0.54545455 0.36363636 0.45454545 0.27272727
0.09090909 0.54545455 0.18181818 0.09090909 0.27272727 0.45454545
0.27272727 0.45454545 0.45454545 0.36363636 0.54545455 0.54545455
0.09090909 0.18181818 0.27272727 0.18181818 0.36363636 0.
0.54545455 0. 0.45454545 0.54545455 0.18181818 0.18181818
0.18181818 0.36363636 0.18181818 0.54545455 0.45454545 0.36363636
0.54545455 0.18181818 0.45454545 0.54545455 0.54545455 0.18181818
0.45454545 0.45454545 0.63636364 0.54545455 0.54545455 0.63636364
0.45454545 0.72727273 0.63636364 0.54545455 0.54545455 0.63636364
0.90909091 0.63636364 0.18181818] B OUTPUT
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.
1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 1.
1. 1. 1. 0. 1. 1. 1. 1. 1. 1. 1. 0. 0. 1. 0. 1. 0. 1.
1. 1. 0. 0. 0. 0. 1. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1.
0. 1. 1. 1. 0. 1. 0. 0. 1. 1. 1. 1. 1. 1. 0. 1. 1. 1.
1. 1. 1. 1. 0.]
X OUTPUT
[ 0. 0. 0. 0.09090909 0. 0. 0.
0. 0. 0.09090909 0. 0. 0.09090909
0. 0. 0. 0.09090909 0. 0.
0.09090909 0. 0. 0.09090909 0.09090909 0. 0.
0. 0. 0. 0. 0.09090909 0.09090909
0.09090909 0.09090909 0. 0. 0.09090909 0.
0.09090909 0.09090909 0.09090909 0. 0.09090909 0.09090909
0. 0. 0. 0.09090909 0.09090909 0.18181818
0. 0. 0.09090909 0. 0. 0.09090909
0. 0.09090909 0.09090909 0. 0.09090909 0.09090909
0.09090909 0. 0.09090909 0.36363636 0.18181818 0.18181818
0.09090909 0.18181818 0. 0. 0.27272727 0.09090909
0.09090909 0.27272727 0.09090909 0.09090909 0.09090909 0.09090909
0.09090909 0.18181818 0. 0.36363636 0. 0.09090909
0.09090909 0.27272727 0.27272727 0.18181818 0. 0.09090909
0.36363636 0.18181818 0.18181818 0.27272727 0.45454545 0.18181818
0.27272727 0.09090909 0.09090909 0.36363636 0.18181818 0.45454545
0. 0.36363636 0.45454545 0.45454545 0.45454545 0.36363636
0.54545455 0. 0.54545455 0.36363636 0.45454545 0.27272727
0.09090909 0.54545455 0.18181818 0.09090909 0.27272727 0.45454545
0.27272727 0.45454545 0.45454545 0.36363636 0.54545455 0.54545455
0.09090909 0.18181818 0.27272727 0.18181818 0.36363636 0.
0.54545455 0. 0.45454545 0.54545455 0.18181818 0.18181818
0.18181818 0.36363636 0.18181818 0.54545455 0.45454545 0.36363636
0.54545455 0.18181818 0.45454545 0.54545455 0.54545455 0.18181818
0.45454545 0.45454545 0.63636364 0.54545455 0.54545455 0.63636364
0.45454545 0.72727273 0.63636364 0.54545455 0.54545455 0.63636364
0.90909091 0.63636364 0.18181818] B OUTPUT
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.
0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.
0. 0. 0. 0. 0. 0. 1. 0. 1. 1. 0. 1. 0. 1. 0. 1. 0. 1.
0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0.
0. 1. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.
0. 1. 1. 1. 0.]
X OUTPUT
[ 0. 0. 0. 0.09090909 0. 0. 0.
0. 0. 0.09090909 0. 0. 0.09090909
0. 0. 0. 0.09090909 0. 0.
0.09090909 0. 0. 0.09090909 0.09090909 0. 0.
0. 0. 0. 0. 0.09090909 0.09090909
0.09090909 0.09090909 0. 0. 0.09090909 0.
0.09090909 0.09090909 0.09090909 0. 0.09090909 0.09090909
0. 0. 0. 0.09090909 0.09090909 0.18181818
0. 0. 0.09090909 0. 0. 0.09090909
0. 0.09090909 0.09090909 0. 0.09090909 0.09090909
0.09090909 0. 0.09090909 0.36363636 0.18181818 0.18181818
0.09090909 0.18181818 0. 0. 0.27272727 0.09090909
0.09090909 0.27272727 0.09090909 0.09090909 0.09090909 0.09090909
0.09090909 0.18181818 0. 0.36363636 0. 0.09090909
0.09090909 0.27272727 0.27272727 0.18181818 0. 0.09090909
0.36363636 0.18181818 0.18181818 0.27272727 0.45454545 0.18181818
0.27272727 0.09090909 0.09090909 0.36363636 0.18181818 0.45454545
0. 0.36363636 0.45454545 0.45454545 0.45454545 0.36363636
0.54545455 0. 0.54545455 0.36363636 0.45454545 0.27272727
0.09090909 0.54545455 0.18181818 0.09090909 0.27272727 0.45454545
0.27272727 0.45454545 0.45454545 0.36363636 0.54545455 0.54545455
0.09090909 0.18181818 0.27272727 0.18181818 0.36363636 0.
0.54545455 0. 0.45454545 0.54545455 0.18181818 0.18181818
0.18181818 0.36363636 0.18181818 0.54545455 0.45454545 0.36363636
0.54545455 0.18181818 0.45454545 0.54545455 0.54545455 0.18181818
0.45454545 0.45454545 0.63636364 0.54545455 0.54545455 0.63636364
0.45454545 0.72727273 0.63636364 0.54545455 0.54545455 0.63636364
0.90909091 0.63636364 0.18181818] B OUTPUT
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0.
0. 1. 0. 0. 1. 0. 1. 1. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0.
0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 1. 0.
0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 1. 1. 0. 0. 0.
0. 0. 1. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.
0. 0. 1. 0. 1.]
在这些数据中,我只使用了11个样本
我只是从我的样本和属性提取中复制粘贴了测试向量,但我遇到了同样的问题。问题=X和B不是1和0,X也应该只包含1和0的
您使用的是球树。如文件所述:
球树递归地将数据划分为由质心C和半径r[…]定义的节点。通过这种设置,测试点和质心之间的单个距离计算就足以确定到节点内所有点的距离的下限和上限。
换句话说,球树不仅仅计算点之间的距离,它还经常计算点和某组点的质心之间的距离。尽管所有的点都有坐标0或1,但其中某一组点的质心通常不会。