In JMP 12.1 I have trained a neural network and saved the formula as columns in the table by using the options of the red triangle. When I let jump reevaluate the formula it yields the same result.
Now I would like to apply the model to new data which is not in the table yet. So I copied the formula from table A to columns (equally named) of another table B which includes rows of table A and some more. Of course, it has the same columns, too. Unfortunately, the formula results changed, even for rows which are in table A as well.
Second approach: I vertically merged the rows from table B which are not yet available in table A to that table. After the formula reevaluated, results changed even for rows which were already there.
What is happening and what am I doing wrong? I tried it several times and it is reproducible.
I frequently save neural network prediction formulas and have not observed that behavior, can you try to reproduce the problem using sample data?
This script copies neural network columns from one table to another. Predictions in the two tables should be identical to eachother each time the script runs, although they will change each time the script runs.
Names default to here( 1);
//Open two copies of a table
dt = Open( "$Sample_data/iris.jmp" );
dt2 = Eval( dt << Get Script );
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']"));
( 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 ) ) )