我正在尝试使用 python 库 SKLearn 手动计算 SVC 分类器的决策函数(而不是使用内置方法)。
我已经尝试了几种方法,但是,当我不缩放我的数据时,我只能让手动计算匹配。
z 是一个测试数据(已缩放),我认为其他变量不言自明(此外,如果代码中不明显,我正在使用 rbf 内核)。
以下是我尝试过的方法:
dec_func = 0
for j in range(np.shape(sup_vecs)[0]):
norm2 = np.linalg.norm(sup_vecs[j, :] - z)**2
dec_func = dec_func + dual_coefs[0, j] * np.exp(-gamma*norm2)
dec_func += intercept
Run Code Online (Sandbox Code Playgroud)
diff = sup_vecs - z
norm2 = np.sum(np.sqrt(diff*diff), 1)**2
dec_func = dual_coefs.dot(np.exp(-gamma_params*norm2)) + intercept
Run Code Online (Sandbox Code Playgroud)
但是,这些都不会返回与decision_function. 我认为这可能与重新调整我的价值观有关,或者更有可能是我一直在寻找的一些愚蠢的事情!
任何帮助,将不胜感激。