Автор оригинала: Pankaj Kumar.
Регрессия Лассо в Python
Здравствуйте, читатели! В нашей последней статье мы сосредоточены на регрессии Ridge в программировании Python, подробно. Теперь мы говорим о Регрессия Лассо в питоне.
Итак, давайте начнем!
Во-первых, что такое регрессия Лассо?
В области науки о науке и машине наша главная цель заключается в том, чтобы сделать прогнозы по реальным проблемам с помощью различных алгоритмов на основе типа значений данных.
Линейная регрессия – один из таких алгоритмов. С помощью этого алгоритма мы можем определить лучшую подходящую линию для нашей модели I.e. Понимать корреляцию между переменными набора данных.
Это помогает нам выяснить взаимосвязь между зависимой переменной и независимыми переменными набора данных для создания предполагаемой модели для прогнозов.
Вопросы с линейной регрессией :
- Как мы все знаем, линейная регрессия рассчитывает коэффициенты каждой переменной модели. Поскольку сложность данных увеличивается, ценность коэффициентов оказывается более высоким значением, которое, по очереди, делает модель, чувствительную к дальнейшим вводам.
- Это в свою очередь делает модель немного нестабильной!
Решение – регрессия Лассо
Итак, здесь мы идем с решением. Регрессия Лассо, также известная как L1 регрессия
хватает цели. С регрессией Лассо мы склонны наказывать модель против ценности коэффициентов. Таким образом, он манипулирует функцию потери, включая дополнительные расходы на переменные модели, которая происходит, имеет большое значение коэффициентов.
Это наказывает модель против Абсолютный коэффициент значения. При этом он позволяет ценить коэффициенты (которые не вносят вклад в переменную предикторов) стать нулевым. Дальше к этому, Это удаляет эти функции ввода из модели Отказ
Таким образом, можно сказать,
Lasso + (лямбда * l1_penaltyty)
Здесь лямбда Является ли гиперпараметр, который имеет проверку при взвешивании штрафных значений.
Регрессия Лассо – практический подход
В этом примере мы использовали набор данных прогноза проката велосипедов. Вы можете найти набор данных здесь !
Изначально мы загружаем набор данных в среду Python, используя read_csv () функция. Кроме того, мы выполняем расщепление набора данных в тренировку и тестовые данные, используя rain_test_split () функция.
Для этого примера мы установили Maпе в качестве метрики ошибки для оценки модели пенальти для регрессии Lasso.
Sklearn.linear_model Библиотека
Python, дает нам lasso ()
Функция для создания модели над набором данных.
Пример:
import os import pandas #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") bike = BIKE.copy() categorical_col_updated = ['season','yr','mnth','weathersit','holiday'] bike = pandas.get_dummies(bike, columns = categorical_col_updated) #Separating the depenedent and independent data variables into two dataframes. from sklearn.model_selection import train_test_split X = bike.drop(['cnt'],axis=1) Y = bike['cnt'] import numpy as np def MAPE(Y_actual,Y_Predicted): mape = np.mean(np.abs((Y_actual - Y_Predicted)/Y_actual))*100 return mape from sklearn.linear_model import Lasso lasso_model = Lasso(alpha=1.0) lasso=lasso_model.fit(X_train , Y_train) lasso_predict = lasso.predict(X_test) Lasso_MAPE = MAPE(Y_test,lasso_predict) print("MAPE value: ",Lasso_MAPE) Accuracy = 100 - Lasso_MAPE print('Accuracy of Lasso Regression: {:0.2f}%.'.format(Accuracy))
Выход:
MAPE value: 16.55305612241603 Accuracy of Lasso Regression: 83.45%.
Заключение
По этому, мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.
Порекомендуйте попробовать концепцию регрессии LASSO с другими наборами набора данных и давайте узнаем свой опыт примерно одинаково в разделе «Комментарий»!
Для большего количества таких постов, связанных с Python, оставаться настроенными, а до тех пор, как потом, счастливое обучение !! 🙂.