Hier ist das Beispiel.Warum ist keine Matrixzuweisung, z. p (1) = 1, funktioniert in Octave wie andere Programmiersprachen?
Dies funktioniert nicht ---
m = size(X, 1); % Number of training examples
p = zeros(m, 1);
p = sigmoid(X * theta); % sigmoid returns a mx1 dimensional vector
for i = 1:m
if (p(i) >= 0.5)
p(i) = 1; % overwrite whatever value in p(i)
endif
end
Die folgenden Werke ---
m = size(X, 1); % Number of training examples
p = zeros(m, 1);
sig = sigmoid(X * theta);
for i = 1:m
if (sig(i) >= 0.5)
p(i) = 1;
endif
end
Erstes Beispiel gibt Float-Zahlen eher als 1 oder 0 Das Ziel ist es, 1 in 'p' von m-Zeilen für jeden Eintrag zu speichern, der die Bedingung erfüllt. Mit der Programmierlogik sollten die erste und die zweite das gleiche Ergebnis liefern, da ich gerade Einträge überschreibe, die die if-Bedingung erfüllen, richtig? Fehle ich etwas?
ich die Etiketten 'Maschinen learning' bin Entfernen' neural-Netz ' "Logistikregression", weil sie nichts mit der Frage zu tun haben. –