Оценка R2 в машинном обучении
Оценка R2 – это один из показателей оценки эффективности моделей машинного обучения на основе регрессии. Она также известна как коэффициент детерминации. Если вы хотите узнать, как оценить производительность модели машинного обучения, используя оценку R в квадрате, эта статья для вас. В этой статье я расскажу вам об оценке R2 в машинном обучении и ее реализации с использованием Python.
Оценка R2
Оценка R2 – очень важный показатель, который используется для оценки производительности модели машинного обучения на основе регрессии. Он произносится как R в квадрате и также известен как коэффициент детерминации. Суть его работы заключается в измерении количества отклонений в прогнозах, объясненных набором данных. Проще говоря, это разница между выборками в наборе данных и прогнозами, сделанными моделью.
Если вы никогда не использовали оценку R в квадрате при оценке производительности модели машинного обучения на основе регрессии, вы можете узнать больше о ее реализации с помощью Python ниже.
Оценка R2 с использованием Python
Надеюсь, теперь вы понимаете, что такое оценка R2 в машинном обучении. Теперь давайте посмотрим, как рассчитать оценку R2 модели машинного обучения с помощью Python:
import numpy as np import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.utils import shuffle data = pd.read_csv("https://biconsult.ru/img/datascience-ml-ai/student-mat.csv") data = data[["G1", "G2", "G3", "studytime", "failures", "absences"]] predict = "G3" x = np.array(data.drop([predict], 1)) y = np.array(data[predict]) from sklearn.model_selection import train_test_split xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size=0.2) linear_regression = LinearRegression() linear_regression.fit(xtrain, ytrain) predictions = linear_regression.predict(xtest) # Calculation of R2 Score from sklearn.model_selection import cross_val_score print(cross_val_score(linear_regression, x, y, cv=10, scoring="r2").mean())
Результат:
0.8153194100953483
В приведенном выше коде я сначала обучил модель машинного обучения с помощью алгоритма линейной регрессии, а затем вычислил ее результат в квадрате. Показатель модели R2, обученной здесь, составили 0,81, и это неплохо. Если значение оценки R в квадрате равно 1, это означает, что модель идеальна, а если ее значение равно 0, это означает, что модель будет плохо работать с неизвестным набором данных. Это также означает, что чем ближе значение оценки R в квадрате к 1, тем точнее обучается модель.
Резюме
Вот как вы можете реализовать коэффициент детерминации с помощью Python для оценки производительности модели машинного обучения на основе регрессии. Если значение R2 равно 1, это означает, что модель идеальна, а если ее значение равно 0, это означает, что модель будет плохо работать с неизвестным набором данных. Надеюсь, вам понравилась эта статья об оценке R в квадрате в машинном обучении и ее реализации с использованием Python.