KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。
以下是KNN回归(calendar_strategy_KNN.py)中用到的部分代码:
X = np.array(X)
Y = np.array(Y)
X = X.reshape(-1,1)
Y = Y.reshape(-1,1)
X_test = np.array(OutofExpectation)
clf=knr(n_neighbors=Events_minimum_counts, weights='distance').fit(X,Y)
Y_test = clf.predict(X_test)
其中fit(x,y)表示 :
x作为训练样本,y作为目标值。即找到x最近的k个邻居的y值,将其加权平均(weights=’distance’),将平均后的值作为此样本的y值。
参考文献(K近邻回归算法实现):