Линейная регрессия Scikit-Learn не возвращает скорректированный R в квадрате. Однако из R-квадрата вы можете рассчитать скорректированный R-квадрат по формуле:
Где p - количество предикторов (также называемых признаками или пояснительными переменными), а n - количество точек данных Поэтому, если ваши данные находятся в кадре данных, называемом train, и у вас есть r2
, формула будет иметь вид
adj_r2 = 1 - (1 - r2 ** 2) * ((train.shape[1] - 1) / (train.shape[0] - train.shape[1] - 1))
train.shape[0]
- количество наблюдений, а train.shape[1]
- количество признаков.
Библиотека StatsModels имеет метод линейной регрессии, который возвращает скорректированный квадрат R (среди многих других метрик). Вот документация.
Приведенная выше формула взята из этого ответа на стек , в котором говорится, что он известен как формула вишни - 1 . Существует ряд различных формул, используемых для расчета скорректированного R-квадрата, но этот метод используется в R. Для получения дополнительной информации о различиях между скорректированными R-квадратами см. Ответ, связанный с документом, или документ Оценка
R ^ 2 Усадка в регрессии