我對scikit學習中的精度和召回值有疑問。我正在使用功能SGDClassifier
來分類我的數據。 爲了評估性能,我使用了精度和召回函數precision_recall_fscore_support
,但是每次運行程序時,我在精度和召回矩陣中都有不同的值。我怎樣才能擁有真正的價值? 我的代碼是:Scikit學習SGDClassifier:精度和召回每次更改值
scalerI = preprocessing.StandardScaler()
X_train = scalerI.fit_transform(InputT)
X_test = scalerI.transform(InputCross)
clf = SGDClassifier(loss="log", penalty="elasticnet",n_iter=70)
y_rbf = clf.fit(X_train,TargetT)
y_hat=clf.predict(X_test)
a= clf.predict_proba(X_test)
p_and_rec=precision_recall_fscore_support(TargetCross,y_hat,beta=1)
謝謝
哦,謝謝你!我不明白隨機狀態的含義。所以現在的問題可能是如何選擇最好的數字來獲得最好的結果 – PSan
不用擔心,請測試,如果它解決了您的問題,請記住接受我的答案,我的答案左上角會有一個空的刻度標記。這會捕獲很多人,包括我自己,總是檢查分類器的構造函數是否具有'random_state'參數。 – EdChum
只是檢查,它的工作原理!謝謝 – PSan