使用KNN进行分类的RBF内核

时间:2015-11-22 06:50:23

标签: python python-2.7 classification similarity knn

以下X是训练矩阵,test_feature是测试数组。

squared_euclidian = np.sum(np.square(X - test_feature), axis=1)

squared_euclidianSquared Euclidian distance

对于具有完整numpy矩阵的输入数组中的欧几里德距离

dist = np.sqrt(squared_euclidian)

和RBF(高斯)内核按this幻灯片5

test_sigma = np.square(np.std(test_feature))
dist = np.exp(-1 * (squared_euclidian / test_sigma))

我在2000个实例的数据集上测试了这些函数,其中我对欧几里得的准确率为91%,而另一个则为54%。

RBF内核的公式是错误的吗?

1 个答案:

答案 0 :(得分:0)

这不是我在幻灯片5中看到的正确公式吗?

repr

查看有关dist = np.exp(-.5 * squared_euclidian / np.square(test_feature.std())) 的估算偏差的说明here