Из user guide:
По умолчанию оценки вычисляется на каждом CV итерации является методом оценки оценки , Можно изменить с помощью параметра скоринга:
От DecisionTreeClassifier documentation:
Возвращает точность означает на приведенных данных испытаний и этикеток. В классификации с несколькими метками это точность поднабора, которая является резкой метрикой , так как для каждого образца требуется, чтобы каждый набор меток был правильно предсказанным.
Не путайте «среднюю точность», это просто обычный способ вычисления точности. Последующие ссылки на source:
from .metrics import accuracy_score
return accuracy_score(y, self.predict(X), sample_weight=sample_weight)
теперь source для metrics.accuracy_score
def accuracy_score(y_true, y_pred, normalize=True, sample_weight=None):
...
# Compute accuracy for each possible representation
y_type, y_true, y_pred = _check_targets(y_true, y_pred)
if y_type.startswith('multilabel'):
differing_labels = count_nonzero(y_true - y_pred, axis=1)
score = differing_labels == 0
else:
score = y_true == y_pred
return _weighted_sum(score, sample_weight, normalize)
И если вы still aren't convinced:
def _weighted_sum(sample_score, sample_weight, normalize=False):
if normalize:
return np.average(sample_score, weights=sample_weight)
elif sample_weight is not None:
return np.dot(sample_score, sample_weight)
else:
return sample_score.sum()
Примечание: для accuracy_score
параметров нормализуют по умолчанию True
, таким образом, это просто возвращает np.average
б oolean numpy, поэтому это просто среднее количество правильных прогнозов.
Спасибо juanpa.arrivillaga, если это проблема классификации по двум классам, каждое предсказание является правильным или неправильным. Смутно, что означает средняя точность? –
@LinMa См. Мое редактирование - это просто точность. –
Спасибо juanpa за терпение ответить, отметьте свой ответ как ответ. –