Узнайте частоту ошибок с помощью sklearn

Я хочу узнать частоту ошибок с помощью классификатора svm в python, подход, который я использую для достижения того же:

  1-svm.predict(test_samples).mean()

Однако такой подход не работает. Также функция оценки sklearn дает среднюю точность... однако я не могу ее использовать, так как хочу выполнить перекрестную проверку, а затем найти частоту ошибок. Пожалуйста, предложите подходящую функцию в sklearn, чтобы узнать частоту ошибок.


person Jannat Arora    schedule 25.04.2012    source источник
comment
Разве svm.predict не выводит классификацию? Почему, взяв среднее значение, можно сделать что-то полезное?   -  person dfb    schedule 25.04.2012


Ответы (3)


Предполагая, что у вас есть истинные метки в векторе y_test:

from sklearn.metrics import zero_one_score

y_pred = svm.predict(test_samples)
accuracy = zero_one_score(y_test, y_pred)
error_rate = 1 - accuracy
person Fred Foo    schedule 25.04.2012

Если вы хотите перекрестно проверить оценку, используйте служебную функцию sklearn.cross_validation.cross_val_score и передайте ей понравившуюся функцию оценки из модуля sklearn.metrics:

http://scikit-learn.org/dev/modules/cross_validation.html

person ogrisel    schedule 27.04.2012

Используйте sklearn.metrics.accuracy_score здесь.

from sklearn.metrics import accuracy_score
#create vectors for actual labels and predicted labels...
my_accuracy = accuracy_score(actual_labels, predicted_labels, normalize=False) / float(actual_labels.size)
person tony_tiger    schedule 27.04.2015
comment
это ошибка классификации, насколько правильно классифицирует. - person The Disco Spider; 14.05.2015