Объясненная дисперсия в машинном обучении
В машинном обучении дисперсия (отклонение) – это разница между фактическими выборками набора данных и прогнозами, сделанными моделью. При работе над задачей машинного обучения на основе регрессии очень полезно знать, какая часть дисперсии объясняется моделью машинного обучения. Итак, если вы хотите узнать, как рассчитать объясненную дисперсию модели машинного обучения, эта статья для вас. В этой статье я расскажу вам, что такое объясненная дисперсия в машинном обучении и как ее вычислить с помощью Python.
Объясненная дисперсия
Объясненная дисперсия используется для измерения доли изменчивости прогнозов модели машинного обучения. Проще говоря, это разница между ожидаемым значением и прогнозируемым значением. Очень важно понимать, сколько информации мы можем потерять, сверяя набор данных.
Надеюсь, теперь вы понимаете концепцию объясненной дисперсии в машинном обучении. Не забывайте использовать ее при работе с задачами на основе регрессии, чтобы измерить разницу между выборками и прогнозами. В следующем разделе я расскажу вам о ее реализации с использованием Python.
Объясненная дисперсия с использованием Python
Чтобы вычислить объясненную дисперсию модели машинного обучения, я сначала обучу модель машинного обучения, используя алгоритм линейной регрессии, а затем вычислю ее, используя язык программирования 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 Explained Variance from sklearn.model_selection import cross_val_score print(cross_val_score(linear_regression, x, y, cv=10, scoring="explained_variance").mean())
Результат:
0.8274789442218667
Модель машинного обучения должна иметь не менее 60% объясненной дисперсии.
Резюме
Проще говоря, это – доля вариативности разницы между фактическими выборками набора данных и прогнозами, сделанными моделью. При ее использовании всегда помните, что концепция объясненной дисперсии используется для измерения доли изменчивости прогнозов модели машинного обучения на основе регрессии. Надеюсь, вам понравилась эта статья о концепции объяснения дисперсии в машинном обучении и ее реализации с использованием Python.