我对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