NearestNeighbors
NearestNeighbors可以说是机器学习中最为简单粗暴的算法,即所谓的近邻算法。
NearestNeighbors 无监督的近邻搜索
NearestNeighbors
是最简单的能够进行无监督近邻搜索的类,他的构造参数包括:
n_neighbors
: 最近邻的数量radius
: 用于半径搜索的邻居数algorithm
: 用于搜索的算法(auto/ball_tree/kd_tree/brute)metric
: 距离度量的算法(euclidean/manhattan/cosine)
他提供了几个主要的方法:
fit(X)
: 输入训练模型的数据集(他是惰性的并不立即执行训练)kneighbors(simple_X, n_neighbors=int) -> (array(距离), array(数据集中近邻索引))
: 返回给定样本的最近邻及其距离radius_neighbors(simple_X, radius=1)
: 返回给定样本在指定半径内的邻居
通常我们会敲定需要使用 algorithm 和 metric 来创建 NearestNeighbors 对象,然后使用 fit 输入训练数据集。之后将需要匹配近邻的样本集传入调用 k/radius_neighbors 方法来真正的开启训练。
Tips
训练只有通过 kneighbors 和 radius_neighbors 才会启动