Оценка F-Beta в машинном обучении
F-beta – это взвешенное среднее гармоническое значение точности и отзыва. Оно используется в качестве меры оценки эффективности для моделей машинного обучения на основе классификации. Если вы никогда раньше не использовали этот показатель эффективности для оценки своих моделей классификации, эта статья для вас. Эта статья познакомит вас с оценкой F-beta в машинном обучении и ее реализацией с использованием Python.
Оценка F-Beta
F-beta – это взвешенное среднее гармоническое значение между точностью и отзывом. Когда оценка F-beta вашей модели машинного обучения будет ближе к 1, это означает, что модель обучена хорошо, а если она ближе к 0, это означает, что модель недостаточно обучена. Используя ее для оценки производительности модели машинного обучения, вы должны знать, что:
- если вы установите значение beta больше 1, это придаст большее значение отзыву при оценке производительности вашей модели;
- если вы установите значение beta меньше 1, это придаст большее значение точности;
Таким образом, значение beta, равное 1, обеспечивает идеальный баланс между точностью и отзывчивостью. Надеюсь, вы теперь поняли, что такое оценка F-beta в машинном обучении. В следующем разделе я расскажу вам о ее реализации с использованием Python.
Оценка F-Beta с использованием Python
Чтобы рассчитать оценку F-beta модели машинного обучения с использованием Python, я сначала обучу модель классификации, а затем вычислю ее F-beta, как показано в приведенном ниже коде:
import numpy import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier data = pd.read_csv("https://biconsult.ru/img/datascience-ml-ai/social.csv") x = np.array(data[["Age", "EstimatedSalary"]]) y = np.array(data[["Purchased"]]) xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size=0.10, random_state=42) model = DecisionTreeClassifier() model.fit(xtrain, ytrain) predictions = model.predict(xtest) # Calculation of F-beta Score from sklearn.metrics import fbeta_score print(fbeta_score(ytest, predictions, beta=1))
Результат:
0.7407407407407408
Резюме
Вот как вы можете оценить производительность своей модели машинного обучения с помощью F-beta. Это взвешенное среднее гармоническое значение между точностью и отзывом. Когда оценка F-beta вашей модели машинного обучения ближе к 1, это означает, что модель обучена хорошо, а если она ближе к 0, это означает, что модель недостаточно обучена. Надеюсь, вам понравилась эта статья о введении в F-beta в машинном обучении и ее реализации с использованием Python.