Ich glaube, Sie dieses Stück Code bedeuten
f <- as.formula(paste("pred_con ~", paste(n[!n %in% "pred_con"], collapse = " + ")))
lässt also diese brechen Stück für Stück.
f der Variablenname ist.
as.formula erzwingt den Variablentyp zu einem "Formel" -Typ. Welche hat die allgemeine Form von Response ~ Variable_1 + Variable_2. Was heißt: Verwenden Sie Variable 1 und Variable 2, um den Response-Wert vorherzusagen.
paste ist eine Funktion, die Saitenstücke verkettet. Also
würde geben "String", mit sep = "" sagen, geben Sie mir eine Trennung zwischen den Eingängen von "". Was ist nichts
In dem Code, den Sie haben, ist es mit collapse = "+", die ein Pluszeichen zwischen den Werten, in der zweiten Einfügefunktion setzt.
paste(n[!n %in% "pred_con"], collapse = " + ")
n die Namen der Spalten in der train_
gesetzt
n <- names(train_)
So fügen (n, kollabieren = "+") würde mit der Verwendung jeder Spaltennamen geben ein + zwischen ihnen unterschreiben.
Allerdings wollen wir nicht "pred_con" den Wert, den wir versuchen zu prognostizieren. Dies wird im früheren Teil dieser Codezeile behandelt.
Also n [! N% in% "pred_con"] sagt jeden Namen, der NICHT "pred_con" ist.
So von
paste(n[!n %in% "pred_con"], collapse = " + ")
Wir bekommen jeden Spaltennamen mit einem Pluszeichen zwischen ihnen, anders als "pred_con"
wir die Formel wollen aus der Y ~ X1 + X2
So Fügen Sie das "pred_con" vor der Liste der Spaltennamen, die wir gerade erstellt haben, ein, indem Sie eine andere paste-Anweisung verwenden. Geben Sie uns:
paste("pred_con ~", paste(n[!n %in% "pred_con"], collapse = " + "))
Und schließlich machen wir es vom Typ Formel anstelle von String, so dass wir es mit der as.formula Funktion wickeln.
Was uns jetzt auf die volle Linie bringt von:
f <- as.formula(paste("pred_con ~", paste(n[!n %in% "pred_con"], collapse = " + ")))
Die letzten beiden Zeilen sind nur das neuronale Netz Paket Zeug mit so würde nicht ich darauf konzentrieren.
nn <- neuralnet(f,data=train_,hidden=c(5,3),linear.output=T)
Dies ist nur Ihr neurales Netzwerk trainieren. Und speichert es als „nn“
pr.nn <- compute(nn,test_[,1:5])
Dies wird den Wert der „test_“ set Vorhersage mit „nn“ und speichert sie in „pr.nn“