Entscheidungsfunktion von SVM manuell berechnen

Ich versuche, die decision_function eines SVC-Klassifikators mit der Python-Bibliothek SKLearn manuell zu berechnen (im Gegensatz zur eingebauten Methode).

Ich habe verschiedene Methoden ausprobiert, aber ich kann die manuelle Berechnung immer nur abgleichen, wenn ich nicht Meine Daten skalieren.

z ist ein Testdatum (das skaliert wurde) und ich denke, die anderen Variablen sprechen für sich selbst (außerdem verwende ich einen rbf-Kernel, wenn das aus dem Code nicht ersichtlich ist).

Hier sind die Methoden, die ich ausprobiert habe:

1 Schleifenmethode:
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
2 Vektorisierte Methode
diff = sup_vecs - z
norm2 = np.sum(np.sqrt(diff*diff), 1)**2
dec_func = dual_coefs.dot(np.exp(-gamma_params*norm2)) + intercept

Keiner dieser Werte gibt jedoch den gleichen Wert wie @ zurücdecision_function. Ich denke, es könnte etwas mit der Neuskalierung meiner Werte zu tun haben oder eher etwas Dummes, nach dem ich schon lange gesucht habe!

Jede Hilfe wäre dankbar.