Ich habe Schwierigkeiten, einen Weg zu finden, um die Gleichung für ein lineares SVM-Modell im Regressionsfall zu bekommen, da die meisten Fragen mit Klassifizierung befassen ... Ich habe es mit Caret-Paket passen .Gleichung der linearen SVM-Regressionslinie
1- univariaten Fall
set.seed(1)
fit=train(mpg~hp, data=mtcars, method="svmLinear")
plot(x=mtcars$hp, y=predict(fit, mtcars), pch=15)
points(x=mtcars$hp, y=mtcars$mpg, col="red")
abline(lm(mpg~hp, mtcars), col="blue")
, die das Grundstück mit rot = aktueller, schwarz gibt = ausgestattet und blaue Linie ist klassisch Regression. In diesem Fall weiß ich, dass ich die SVM-Vorhersagelinie manuell aus 2 Punkten berechnen kann, aber gibt es eine Möglichkeit, die Gleichung direkt aus der Modellstruktur zu erhalten? Ich brauche eigentlich die Gleichung so y = a + b x (hier mpg =? +? * Hp) mit Werten im Originalmaßstab.
2-multivariate
gleiche Frage, aber mit zwei abhängigen Variablen (mpg~hp+wt
) Danke,
OK @danielson Dank für die Eingabe wenn ich nicht zufrieden bin noch, was ich wirklich suchen, ist die * y = a + bx * (oder * y = a + b.x1 + c.x2 * im zweiten Fall) Gleichung der svm Regressionslinie, mit coef im Originalmaßstab ... etwas, das ich dem Klienten präsentieren kann ... (und in Ihrem Antwort Ich verstehe nicht, wie aus meinem ersten 2D-Plot ein 1-D-Plot wurde ohne y ..?) :-) – agenis
Entschuldigung. Ich glaube, ich habe die Frage falsch verstanden, als ich die Entscheidungsgrenze festlegte. Die Modellkoeffizienten werden nicht im Objekt gespeichert, also wäre der schnellste/einfachste/sauberste Weg, um es zu erhalten, "Zusammenfassung (lm (Vorhersage (Fit) ~ mtcars $ hp))". Suchen Sie nach einer Methode, um die Koeffizienten direkt aus den Vektoren zu generieren? – danielson
OK, die 'lm' auf dem vorhergesagten Vektor ist ein netter Trick. Hätte nicht gedacht, wenn das, danke das war was ich brauchte. Wenn du willst, kannst du das zu deiner Antwort hinzufügen und ich akzeptiere es – agenis