Линейная регрессия в Python

Линейная регрессия в Python

В анализе данных ключевыми факторами влияния являются переменные, оказывающие значительное влияние на зависимую переменную. Другими словами, это факторы, которые в наибольшей степени способствуют интересующему результату. В Python линейная регрессия используется для определения ключевых факторов влияния в наборе данных, а также для измерения силы и направления взаимосвязи между различными переменными. Вы можете посмотреть полное видео этого урока внизу этого блога .

Выявление ключевых факторов влияния может быть полезно для понимания лежащих в основе отношений в наборе данных и для прогнозирования будущих результатов.

Библиотеки Python предоставляют ряд инструментов и функций для выполнения регрессионного анализа и выявления ключевых факторов влияния в наборе данных.

Оглавление

Использование модели линейной регрессии

В этой статье я покажу, как можно использовать модель линейной регрессии для имитации некоторых ключевых факторов влияния LuckyTemplates. Наша цель — использовать все наши переменные, чтобы иметь возможность описать, что меняется в другой переменной.

Ключевые факторы влияния LuckyTemplates — это модель линейной регрессии. Часто мы используем это, хотя точно не знаем, что находится под капотом. В этом уроке я использую это, чтобы определить факторы, влияющие на страховые сборы.

Линейная регрессия в Python

Давайте взглянем на набор данных о страховых сборах. Я хочу, чтобы это объяснялось статусом курильщика, полом, регионом, детьми, ИМТ и возрастом.

Линейная регрессия в Python

В настоящее время ключевые факторы влияния показывают самую влиятельную переменную. Когда курильщик отвечает «да», средняя стоимость на 23 615 долларов выше, чем при всех других значениях курильщика.

Это отличное визуальное представление, но оно не дает нам никаких других переменных, которые могут повлиять на сборы.

Линейная регрессия в Python

Давайте углубимся в это, изменив раскрывающийся список с увеличения на уменьшение .

На этот раз все наоборот. Если вы не курите, средняя стоимость на 23 615 долларов ниже, чем у курильщика со всеми остальными ценностями.

Линейная регрессия в Python

Как видите, это модель линейной регрессии, которую я построил с помощью некоторых кодов Python и передал в LuckyTemplates с минимальным условным форматированием .

Что касается кодирования, у нас есть полный контроль над ним, и вы увидите, как я создал его в качестве альтернативы или дополнения к визуальному изображению ключевых влиятельных лиц.

Линейная регрессия в Python

Давайте перейдем к Блокноту Юпитера. Для лучшего понимания, позвольте мне объяснить это по частям.

Линейная регрессия в Python

Используемые библиотеки Python

В первой части я загрузил все библиотеки, которые хочу использовать. Если вы не знакомы с библиотеками, то это наборы кодов и функций, созданные для нас разработчиками.

Я импортировал pandas как pd , который является библиотекой для обработки данных, и numpy как np, чтобы мы могли выполнять линейные вычисления и условные выражения.

Используемые модели

Расскажу о моделях, которыми я пользовался. Я добавил sklearn.linear_model , библиотеку , и использовал модель линейной регрессии. На всякий случай я также добавил sklearn.preprocessing import StandardScaler , который позволит нам масштабировать наши данные.

Другая модель, которую я использую, называется xgboost import XGBRegressor . Это регрессионная модель с деревом решений и другими полезными аспектами.

Кроме того, я также использовал train_set_split , потому что хочу иметь возможность разделить данные между тренировочным набором и обучающим набором. В машинном обучении нам нужен набор обучающих данных, чтобы алгоритм научился, прежде чем делать какие-либо прогнозы.

Я также добавил mean_squared_error для определения модели и библиотеки matplotlib.pyplot на случай, если мы захотим сделать некоторые визуальные эффекты.

Мы можем не использовать все это, но это может быть полезно, поэтому я вставил их все.

Линейная регрессия в Python

Используемый набор данных

Далее, давайте быстро взглянем на набор данных. Я использовал функцию df = pd.read_csv, чтобы получить набор данных о страховании, а затем преобразовал данные в фиктивные переменные, используя df1 = pd.get_dummies (df, drop_first = True) .

Линейная регрессия в Python

Для этого давайте создадим новую ячейку, нажав Esc + B на клавиатуре, а затем введите df.head для оценки данных.

У нас есть возраст, пол, ИМТ, дети, курильщик, регион и расходы, которые мы хотим предсказать в качестве нашей зависимой переменной. Это данные, которые поступают неподготовленными для машинного обучения.

В машинном обучении мы не сможем использовать категориальные переменные, такие как женщина, мужчина, юго-запад и северо-запад. Следовательно, первое, что нам нужно сделать, если это типичная регрессионная модель, — это преобразовать категориальные переменные в числовые входные данные. 

Линейная регрессия в Python

Для этого я использовал функцию pd.get_dummies , а затем также преобразовал ее в числовой столбец, изменив df.head на df1.head . Давайте нажмем кнопку «Выполнить» , чтобы показать, как это выглядит.

Линейная регрессия в Python

Теперь мы можем видеть этот новый набор столбцов, таких как sex_male , smoker_yes , region_northwest и так далее. Алгоритм автоматически знает, что если он равен 1 , это означает «да», а 0 означает «нет».

Примечательно, что здесь нет sex_female и region_northeast , потому что мы не хотим слишком усложнять модель. Мы удалили их с помощью функции drop_first = True .

Следующее, что я сделал, — это добавил функцию LinearRegression и сохранил ее в переменной модели. 

Я также создал переменные X и Y для прогнозирования наших переменных Y, а затем ввел все остальные столбцы для наших предикторов, используя тот же набор данных, который мы использовали ранее.

Линейная регрессия в Python

Для переменной X мы использовали df1.drop («заряды», ось = 1) , чтобы сбрасывать заряды. С другой стороны, нам нужны заряды для переменной Y, поэтому мы вставляем df1['charges'] .

С помощью приведенных ниже функций я создал обучающие и тестовые наборы для X и Y с помощью функции train_test_split и передал их в переменные X и Y.

Кроме того, я использовал model.fit , чтобы подогнать данные обучения к нашей модели. Это означает, что модель линейной регрессии будет изучать обучающие данные. 

Линейная регрессия в Python

На этот раз давайте посмотрим на наших предикторов. Мы видим это с помощью коэффициентов, потому что они описывают, как каждая из этих характеристик или переменных влияет на расходы.

Также заметно, что число коэффициента для smoker_yes очень близко, если сравнить его с числом того, что у нас есть для ключевых инфлюенсеров и в нашей модели. 

Чтобы создать таблицу, в которой у нас есть функции и коэффициенты, я использовал pd.DataFrame , чтобы внести коэффициенты в таблицу и создать визуализацию.

Линейная регрессия в Python

Линейная регрессия в Python

Использование различных моделей для визуализации ключевых влиятельных лиц

Также рекомендуется использовать разные модели, чтобы получить ключевые факторы влияния, добавив XGB.Regressor

Когда мы представляем модель, это просто простая линейная регрессия; но когда мы ввели XGB.Regressor, появилось множество параметров, которые мы можем использовать для оптимизации модели.

Линейная регрессия в Python

Я также воспроизвел эти функции, когда создавал фрейм данных ниже. Эти коэффициенты сильно отличаются от того, что мы видели в линейной регрессии.

Линейная регрессия в Python

С этой таблицей цифры точные. Например, если вы курите, ваши расходы увеличатся на 23 787 долларов США. Если у вас есть один ребенок, он увеличится на 472 доллара и так далее.

Линейная регрессия в Python

Эти факторы влияния также важны, потому что они отражают то, что мы имеем в таблице линейной регрессии. Это немного отличается, но очень близко, потому что эти влиятельные лица в сумме составляют одно. Это просто другой взгляд на инфлюенсеров.

Линейная регрессия в Python

Проверка точности анализа линейной регрессии

После этого мы хотим увидеть точность нашей модели, поэтому мы использовали y_pred = model.predict(X_test) . Было сделано предсказание, что он отклонился на 5885,7. 

Это всего лишь тестовый набор данных, и хороший прогноз или плохой, нам еще нужно его оценить. Мы не собираемся делать это прямо сейчас, поскольку мы сосредоточены только на наших ключевых влиятельных лицах. 

Линейная регрессия в Python

Возвращаясь к LuckyTemplates, я покажу вам, как я очень легко выразился. Это отдельная таблица, где вы можете увидеть особенности и факторы влияния. 

Линейная регрессия в Python

Я сделал это, перейдя в Transform data .

Линейная регрессия в Python

Затем я продублировал свой набор данных и смог создать эту таблицу. Мы также можем перейти к Applied Steps , чтобы увидеть код Python и просмотреть переменные, которые мы использовали.

Линейная регрессия в Python

Давайте откроем скрипт Python , дважды щелкнув по нему. 

Линейная регрессия в Python

Мы привезли свои библиотеки. Мы преобразовали его в набор данных с машинным обучением и предварительной обработкой, в котором были только нули и единицы. 

Кроме того, мы ввели модель регрессии, создали наши X и Y для соответствия данным, а затем сохранили таблицу в качестве выходных данных. Модель достаточно хороша, поэтому я не использовал обучающий тестовый набор.

Еще одна вещь, которую я сделал, это переключить набор данных на df , потому что так проще писать. Набор данных является переменной для исходных данных.

С этой таблицей я сохранил ее как вывод, поэтому у нас есть эти коэффициенты.

Линейная регрессия в Python

Чтобы сделать это визуально, нажмите «Закрыть и применить» .

Линейная регрессия в Python

Теперь у нас есть гистограмма . Я также использовал условное форматирование, чтобы показать положительные и отрицательные стороны.

Линейная регрессия в Python


Как установить DAX Studio и табличный редактор в LuckyTemplates
Настройка параметров запроса в LuckyTemplates
Параметры DAX Studio LuckyTemplates через редактор запросов

Заключение

В заключение, понимание ключевых факторов влияния и реализация линейной регрессии в Python могут стать мощным инструментом для анализа данных и прогнозирования.

Определив ключевые факторы, влияющие на зависимую переменную, и используя линейную регрессию для моделирования их отношений, мы можем лучше понять и предсказать будущие результаты .

С помощью мощных библиотек Python легко реализовать линейную регрессию и извлечь из данных ценную информацию .

Всего наилучшего,


Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать