Параметры для оценки средней точности склеарна при использовании Random Forest - PullRequest
0 голосов
/ 12 февраля 2020

Я пытался поиграть с показателями sklearn, особенно average_precision_score. Тем не менее, я мог найти только один пример вычисления average_precision_score в документации по sklearn и это тоже с использованием SVM. Ниже приведен фрагмент кода, а также ссылка на документацию в качестве справочного материала:

Документация - точный отзыв Sklearn и ссылка на код

# Create a simple classifier
classifier = svm.LinearSVC(random_state=random_state)
classifier.fit(X_train, y_train)
y_score = classifier.decision_function(X_test)
# Computing the avaerage_precision_score
from sklearn.metrics import average_precision_score
average_precision = average_precision_score(y_test, y_score)

Теперь мой вопрос в в вышеприведенном случае y_score - это выходные данные, поступающие через function_function (которая предсказывает доверительные оценки выборок), а y_test - классы. Учитывая, что для RandomForests не существует метода принятия решений, как в случае с SVM, как go вычислить y_score ?

Я пробовал и видел людей, использующих как предикат (self, X) (класс Predict для X), так и Предсказание (self, X) (вероятности класса Predict для X) для вычисления среднего_precision_score. И мои результаты были очень разными, используя оба этих метода. С помощью предиката (self, X) я получаю 0,74 как Average_precision_score, а с помощью предиката_proba я получаю 0,94 . Мой y_test - метки классов со значениями (1, 0). Я немного озадачен тем, что правильно. Когда использовать предикат против предиката_процесса, и почему они приводят к такому разному среднему значению точности. Любая помощь будет принята с благодарностью.

...