Acuuracy_score в Python используется для расчета точности фракции или количества правильных прогнозов в обучении Scikit.
Математически он представляет собой соотношение суммы истинных положительных и истинных отрицательных результатов всех прогнозов.
Accuracy Score =(TP+TN)/(TP+FN+TN+FP)
Здесь мы также можем посчитать точность с помощью метода Precision_score из sklearn.
accuracy_score(y_true, y_pred, normalize=False)
При классификации по нескольким меткам функция возвращает точность подмножества. Если весь набор предсказанных меток для выборки точно соответствует истинному набору меток. Тогда точность подмножества равна 1,0, в противном случае его точность равна почти 0,0.
Синтаксис:
sklearn.metrics.accuracy_score(y_true,y_pred,normalize=False,sample_weight=None)
Параметры:
- y_true: массив индикаторов метки/разреженная матрица, правильная метка.
- y_pred: массив индикаторов меток/разреженная матрица, предсказанные метки, возвращаемые классификаторами.
- normalize: содержит логическое значение(True/False). Если значение False, возвращает количество правильно конфиденциальных образцов. В противном случае он возвращает долю правильно конфиденциальных образцов.
Возврат:
- Если normalize == True, возвращается количество правильно конфиденциальных выборок (с плавающей запятой), в противном случае возвращается количество правильно конфиденциальных выборок(int).
- Наилучшая производительность — 1 при нормализации == True и количество выборок при нормализации == False.
Мы также можем записать Accure_score следующим образом:
accuracy_score( y_true, y_pred, normalize: bool=True, sample_weight:__class__ =None )
Примеры
Как мы знаем, библиотека обучения scikit используется для моделирования данных, а не для загрузки и манипулирования данными. Здесь мы можем использовать scikit Learn Precision_score для расчета точности данных.
Пример 1:
- y_pred = [0, 5, 2, 4] используется как прогнозируемое значение, которое мы можем выбрать.
- y_true = [0, 1, 2, 3] используется как истинное значение, которое уже задано.
- Precision_score (y_true, y_pred) используется для проверки Precision_score истинного значения и прогнозируемого значения.
import numpy as np from sklearn.metrics import accuracy_score y_pred = [0, 5, 2, 4] y_true = [0, 1, 2, 3] accuracy_score(y_true, y_pred)
Выход:
После запуска приведенного выше кода мы получаем следующий вывод, в котором мы видим, что здесь нормализованное значение истинно, поэтому мы получаем значение с плавающей запятой.
Пример 2:
- Если normalize == False, возвращается количество правильно конфиденциальных образцов (int).
- y_pred = [0, 5, 2, 4] используется как прогнозируемое значение, которое мы можем выбрать.
- y_true = [0, 1, 2, 3] используется как истинное значение, которое уже задано.
- Precision_score (y_true, y_pred,normalize=False) используется для проверки Precision_score истинного значения и прогнозируемого значения.
import numpy as np from sklearn.metrics import accuracy_score y_pred = [0, 5, 2, 4] y_true = [0, 1, 2, 3] accuracy_score(y_true, y_pred) accuracy_score(y_true, y_pred, normalize=False)
Выход:
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим оценку точности true_value и Precision_score.
Как работает
Программа scikit Learn Accuracy_score работает с классификацией по нескольким меткам, в которой функция Precision_score вычисляет точность подмножества:
- Набор меток, предсказанный для выборки, должен точно соответствовать соответствующему набору меток в y_true.
- Точность, определяющая, как модель выполняет все классы. Полезно, если все классы одинаково важны.
- Точность модели рассчитывается как отношение количества правильных прогнозов к общему количеству прогнозов.
В следующем коде мы импортируем две библиотеки: import numpy и import sklearn.metrics для прогнозирования точности модели:
- y_true = [“положительный”, “отрицательный”, “негативный”, “положительный”, “положительный”, “положительный”, “отрицательный”] это истинное значение модели.
- y_pred = [«положительный», «отрицательный», «положительный», «положительный», «отрицательный», «положительный», «положительный»] — это прогнозируемое значение модели.
- точность =(r[0][0] + r[-1][-1]) / numpy.sum(r) используется для расчета точности csore модели.
- print (accuracy) используется для печати показателя точности на экране.
import numpy import sklearn.metrics y_true = ["positive", "negative", "negative", "positive", "positive", "positive", "negative"] y_pred = ["positive", "negative", "positive", "positive", "negative", "positive", "positive"] r = sklearn.metrics.confusion_matrix(y_true, y_pred) r = numpy.flip(r) accuracy =(r[0][0] + r[-1][-1]) / numpy.sum(r) print(accuracy)
Выход:
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим, что показатель точности модели печатается на экране.
В sklearn.metrics есть функция Precision_score(), которую можно использовать для расчета точности.
accuracy = sklearn.metrics.accuracy_score(y_true, y_pred)