У меня есть вопрос о точности и значениях отзыва в scikit learn. Я использую функцию SGDClassifier
для классификации моих данных. Чтобы оценить производительность, я использую функцию точности и возврата precision_recall_fscore_support
, но каждый раз, когда я запускаю программу, у меня разные значения в матрице точности и возврата. Как я могу получить истинные значения? Мой код:Scikit learn 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