import numpy as np
class NearestNeighbor:
def __init__(self):
pass
def train(self, X, y):
self.Xtr = X
self.ytr = y
def predict(self, X):
num_test = X.shape[0]
Ypred = np.zeros(num_tset, dtype=self.ytr.dtype)
for i in range(num_test):
distance = np.sum(np.abs(self.Xtr - [i,:]), axis=1)
min_index = np.argmin(distance)
Ypred[i] = self.ytr[min_index]
return Ypred
当有N个样本的时候训练速度与预测速度分别是:
train O(1)
predict O (N)
本文介绍了一个基于Python的近邻算法实现,通过定义NearestNeighbor类,该类包含训练和预测方法,实现对输入数据的分类预测。文章详细展示了算法的工作原理,包括距离计算和类别预测过程,以及算法的时间复杂度分析。
7455

被折叠的 条评论
为什么被折叠?



