Machine learning 在Scikit学习中使用近似近邻进行分类
我有一个带标签的数据集,有一个46D特征集和大约5000个样本,我想用近似近邻分类 因为我熟悉Scikit Learn,所以我想利用它来实现这个目标Machine learning 在Scikit学习中使用近似近邻进行分类,machine-learning,scikit-learn,classification,nearest-neighbor,Machine Learning,Scikit Learn,Classification,Nearest Neighbor,我有一个带标签的数据集,有一个46D特征集和大约5000个样本,我想用近似近邻分类 因为我熟悉Scikit Learn,所以我想利用它来实现这个目标 scikit文档将LSHForest列为ANN的可能方法之一,但我不清楚如何将其应用于分类目的。这是一个很好的问题。不幸的是,scikit learn现在似乎不支持自定义邻居模型,但您可以自己实现简单的包装器,例如 from sklearn.neighbors import LSHForest import numpy as np from sci
scikit文档将LSHForest列为ANN的可能方法之一,但我不清楚如何将其应用于分类目的。这是一个很好的问题。不幸的是,scikit learn现在似乎不支持自定义邻居模型,但您可以自己实现简单的包装器,例如
from sklearn.neighbors import LSHForest
import numpy as np
from scipy.stats import mode
class LSH_KNN:
def __init__(self, **kwargs):
self.n_neighbors = kwargs['n_neighbors']
self.lsh = LSHForest(**kwargs)
def fit(self, X, y):
self.y = y
self.lsh.fit(X)
def predict(self, X):
_, indices = self.lsh.kneighbors(X, n_neighbors = self.n_neighbors)
votes, _ = mode(self.y[indices], axis=1)
return votes.flatten()
谢谢你的回复。我一定会查一查。你也能告诉我,是否有任何方法可以集成该系统的近似邻居查找机制。我的主要问题是,我有所有这些ANN库供我使用,它们可以计算距离和索引,我如何在sklearn中利用它们进行分类?你必须编写自己的包装,比如任何东西的包装,以便输入。这真的很有帮助:)