我正在尝试验证我的 KNN 算法对电影评分预测的准确性。
我有载体:- 真实的收视率,- 与预测的。
当我使用以下公式计算估计的标准误差(是我需要计算的那个吗?)时:
我得到的结果. 但我以为不可能. 如果不是,那么这个数字对我说了什么?
results = load('first_try.mat');
Y = results(:,1);
Y_predicted = results(:,2);
o = sqrt(sum((Y-Y_predicted).^2)/rows(Y))
我正在尝试验证我的 KNN 算法对电影评分预测的准确性。
我有载体:- 真实的收视率,- 与预测的。
当我使用以下公式计算估计的标准误差(是我需要计算的那个吗?)时:
我得到的结果. 但我以为不可能. 如果不是,那么这个数字对我说了什么?
results = load('first_try.mat');
Y = results(:,1);
Y_predicted = results(:,2);
o = sqrt(sum((Y-Y_predicted).^2)/rows(Y))
K-NN 是距离的度量,因此方程的结果将取决于数据的规模。如果评分在 0 到 100 之间。那么如果你总是预测得很差,那么你的值显然会远大于 1。
例如,对于一个非常糟糕的预测器
import numpy as np
Y = [100, 90, 100, 90]
Y_p = [10, 10, 10, 10]
np.sqrt(np.sum(np.subtract(Y, Y_p)**2)/len(Y))
85.14693182963201