概述
from sklearn.neighbors import NearestNeighbors
import numpy as np
# X为6个点的数据
X = np.array([[3, 2], [-2, -1], [-1, -1], [1, 1], [2, 1], [3, 2]])
# 以 X[i] 为参考点,找(n_neighbors - 1)个与之最近的点
nbrs = NearestNeighbors(n_neighbors = 3 , algorithm = 'ball_tree').fit(X)
# 返回值 indices 第0列元素为参考点的索引,后面是(n_neighbors - 1)个与之最近的点的索引
# 返回值 distances 第0列元素为与自身的距离,后面是(n_neighbors - 1)个与之最近的点与参考点的距离
distances, indices = nbrs.kneighbors(X)
indices
array([[0, 5, 4],
[1, 2, 3],
[2, 1, 3],
[3, 4, 0],
[4, 3, 0],
[0, 5, 4]], dtype=int64)
distances
array([[ 0. , 0. , 1.41421356],
[ 0. , 1. , 3.60555128],
[ 0. , 1. , 2.82842712],
[ 0. , 1. , 2.23606798],
[ 0. , 1. , 1.41421356],
[ 0. , 0. , 1.41421356]])
#输出的是求解n个最近邻点后的矩阵图,1表示是最近点,0表示不是最近点
print (nbrs.kneighbors_graph(X).toarray())
[[ 1. 0. 0. 0. 1. 1.]
[ 0. 1. 1. 1. 0. 0.]
[ 0. 1. 1. 1. 0. 0.]
[ 1. 0. 0. 1. 1. 0.]
[ 1. 0. 0. 1. 1. 0.]
[ 1. 0. 0. 0. 1. 1.]]
最后
以上就是心灵美裙子为你收集整理的机器学习教程之-近邻法的全部内容,希望文章能够帮你解决机器学习教程之-近邻法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复