將神經網路結果中的項目提取出來並報告大家好:
我正在使用神經網路預測汙染物與汙染源的關係,我在討論區中有找到類似的文章,但因為從來沒學習過腳本及不知道該如何搜尋精準的關鍵字,所以在編輯上還是有些困難,在此尋求各位的協助。
我的想法是這樣的:依序使用不同的種子碼去執行神經網路,然後創建一個表格,將其中的"R² Training"和"R² Validation"提取出來並紀錄(如果執行10個就將10種需要的結果記錄起來),以找出最好的結果。
另外有辦法不顯示每次執行的神經網路視窗嗎?因為執行10次就會新增10次的視窗。
如果有任何建議或幫助,敬請糾正,謝謝各位!
以下是我目前寫好可正常執行的部分(依序種子碼1~10):
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 ))
);
);
ScriptingRe: 將神經網路結果中的項目提取出來並報告非常感謝您,幫了我一個大忙!
我將會搜尋每個函數的說明瞭解其用途,以讓我需要編輯時更得心應手。
再次感謝,祝你有愉快的一天!回复:將神經網路結果中的項目提取出來並報告這是腳本的修改,捕獲了您要查找的兩個R2。
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>
您需要研究以上腳本,並使用《腳本指南》和《腳本索引》來幫助您了解其功能。