首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有自身距离函数的k-NN算法

具有自身距离函数的k-NN算法
EN

Stack Overflow用户
提问于 2016-01-12 21:37:10
回答 1查看 145关注 0票数 1

我想使用科学学习中的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)

代码语言:javascript
复制
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的输出是:

代码语言:javascript
复制
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载体:

代码语言:javascript
复制
[[ 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.]]

下面是代码示例

代码语言:javascript
复制
import numpy as np
from sklearn.neighbors import NearestNeighbors  


def tanimoto(x,b):

    print "X  OUTPUT\n  ",x,"B OUTPUT\n",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

和整个输出,如果我打印出x,b在tanimoto函数中

代码语言:javascript
复制
------------ 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个样本

我只是复制粘贴了我的样本和属性提取的测试向量,但是我得到了这些,同样的问题。Problem= X和B没有1和0,X也应该只包含1和0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 07:01:45

你用的是一棵球树。如文献资料所述

球树递归地将数据划分为由质心C和半径r定义的节点。使用此设置,测试点和质心之间的单个距离计算就足以确定节点内所有点之间距离的上下界。

换句话说,球树不只是计算点之间的距离,它通常计算点与某一组点的质心之间的距离。虽然你所有的点都有坐标0或1,但其中一些点的质心通常不会。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34754243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档