Hallo zusammen:
Ich verwende neuronale Netze, um die Beziehung zwischen Schadstoffen und Verschmutzungsquellen vorherzusagen. Ich habe ähnliche Artikel im Diskussionsforum gefunden. Da ich jedoch noch nie Skripte gelernt habe und nicht weiß, wie ich nach präzisen Schlüsselwörtern suchen soll, habe ich immer noch einige Bearbeitungsschwierigkeiten. Hier, um deine Hilfe zu suchen.
Meine Idee ist folgende: Verwenden Sie verschiedene Seed-Codes, um das neuronale Netzwerk nacheinander auszuführen, und erstellen Sie dann eine Tabelle, extrahieren Sie das "R²-Training" und die "R²-Validierung" und zeichnen Sie sie auf (wenn 10 ausgeführt werden, 10 Notieren Sie die Ergebnisse, die Sie benötigen, um die besten Ergebnisse zu erzielen.
Gibt es außerdem eine Möglichkeit, das neuronale Netzwerkfenster nicht jedes Mal anzuzeigen, wenn es ausgeführt wird? Da es 10 Mal ausgeführt wird, werden 10 Fenster hinzugefügt.
Wenn Sie Anregungen oder Hilfe haben, korrigieren Sie mich bitte, danke!
Die folgenden Teile habe ich geschrieben und können normal ausgeführt werden (Startcodes 1 ~ 10 in der Reihenfolge):
For( i = 1, i <=10, i++,
Neural(
Y( :NH4 ),
X(
:aver_NH4_kg_per_day 2,
:num_livestock,
:weighted_NH4,
:weighted_num,
:Name( "2weighted_nh4" ),
:Name( "2weighted_num" )
),
Informative Missing( 0 ),
Validation Method( "KFold", 5 ),
Set Random Seed( i ) ,
Fit(NTanH( 3 ))
);
);
Hier ist eine Modifikation Ihres Skripts, die die beiden gesuchten R2 erfasst.
names default to here(1);
dt = current data table();
dto = New Table("Output",
New Column("Training R2"),
New Column("Validation R2"),
Add Rows(10)
);
For( i = 1, i <= 10, i++,
neu = dt << Neural(
Y( :NH4 ),
X(
:aver_NH4_kg_per_day 2,
:num_livestock,
:weighted_NH4,
:weighted_num,
:Name( "2weighted_nh4" ),
:Name( "2weighted_num" )
),
Informative Missing( 0 ),
Validation Method( "KFold", 5 ),
Set Random Seed( i ),
Fit( NTanH( 3 ) )
);
dto:Training R2[i] = (report(neu)["Training"][NumberColBox(1)] << get)[1];
dto:Validation R2[i] = (report(neu)["Validation"][NumberColBox(1)] << get)[1];
neu(report)<<CLOSE window=""></CLOSE>
Sie müssen das obige Skript studieren und das Skripthandbuch und den Skriptindex verwenden, um zu verstehen, was es tut.