Problem bei der Ausgabe der neuronalen NetzwerkformelIn JMP 12.1 habe ich ein neuronales Netzwerk trainiert und die Formel mit den Optionen des roten Dreiecks als Spalten in der Tabelle gespeichert. Wenn ich die Formel durch Jump neu bewerten lasse, ergibt sich dasselbe Ergebnis.
Nun möchte ich das Modell auf neue Daten anwenden, die noch nicht in der Tabelle enthalten sind. Also habe ich die Formel von Tabelle A in Spalten (gleichnamig) einer anderen Tabelle B kopiert, die Zeilen von Tabelle A und einige weitere enthält. Natürlich hat es auch die gleichen Spalten. Leider haben sich die Formelergebnisse geändert, selbst für Zeilen, die sich ebenfalls in Tabelle A befinden.
Zweiter Ansatz: Ich habe die Zeilen aus Tabelle B, die in Tabelle A noch nicht verfügbar sind, vertikal mit dieser Tabelle zusammengeführt. Nach der Neubewertung der Formel änderten sich die Ergebnisse sogar für Zeilen, die bereits vorhanden waren.
Was ist los und was mache ich falsch? Ich habe es mehrmals ausprobiert und ist reproduzierbar.
Danke im Voraus
Robert
Re: Problem mit der Ausgabeformel für neuronale NetzwerkeIch speichere häufig Formeln für neuronale Netzwerke und habe dieses Verhalten nicht beobachtet. Können Sie versuchen, das Problem anhand von Beispieldaten zu reproduzieren?
Dieses Skript kopiert neuronale Netzwerkspalten von einer Tabelle in eine andere. Die Vorhersagen in den beiden Tabellen sollten bei jeder Ausführung des Skripts identisch sein, obwohl sie sich bei jeder Ausführung des Skripts ändern.
Names default to here( 1);
//Open two copies of a table
dt = Open( "$Sample_data/iris.jmp" );
dt2 = Eval( dt << Get Script );
//Neural Network
nn = dt << Neural(
Y( :Sepal length ),
X( :Sepal width, :Petal length, :Petal width ),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit( NTanH( 3 ) )
);
//Find the report
nn_fit = (nn << XPath("//OutlineBox[@helpKey='Neural Model Report']"))[1];
//Save Formulas
( nn_fit << Get Scriptable Object ) << Save Formulas;
//Copy Formulas to second table
For( i = 6, i <= 9, i++,
Eval( Eval Expr( dt2 << Expr( Column( dt, i ) << Get Script ) ) )
);