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

В аналізі даних ключовими факторами впливу є змінні, які мають значний вплив на залежну змінну. Іншими словами, це фактори, які найбільше сприяють результату, що цікавить. У Python лінійна регресія використовується для визначення ключових впливових факторів у наборі даних, а також для вимірювання сили та напрямку зв’язку між різними змінними. Ви можете переглянути повне відео цього підручника внизу цього блогу .

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

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

Зміст

Використання моделі лінійної регресії

У цій статті я покажу, як можна використовувати модель лінійної регресії для імітації деяких ключових впливових факторів LuckyTemplates. Наша мета полягає в тому, щоб використовувати всі наші змінні, щоб мати можливість описати те, що змінюється в іншій змінній.

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

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

Давайте подивимося на набір даних про страхові збори. Я хочу, щоб це було пояснено статусом курця, статтю, регіоном, дітьми, ІМТ та віком.

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

Наразі ключові впливові особи демонструють найвпливовішу змінну. Коли курець стверджує, середня плата на 23 615 доларів США вища порівняно з усіма іншими цінностями курця.

Це чудовий візуал, але він не дає нам жодних інших змінних, які можуть вплинути на витрати.

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

Давайте глибше зануримося в це, змінивши спадне меню зі Збільшення на Зменшення .

Цього разу все навпаки. Якщо ви не курите, середня плата на 23 615 доларів нижча в порівнянні з усіма іншими цінностями курця.

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

Як бачите, це лінійна регресійна модель, яку я побудував за допомогою деяких кодів Python і передав у LuckyTemplates з minimal .

Що стосується кодування, ми маємо повний контроль над ним, і ви побачите, як я створив це як альтернативу або доповнення до візуалу ключових впливових осіб.

Лінійна регресія в 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 ('charges', axis=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

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

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

Інша річ, яку я зробив, це перемкнув набір даних на df , тому що це просто легше писати. Набір даних є змінною для вихідних даних.

Цю таблицю я зберіг як результат, тому ми маємо ці коефіцієнти.

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

Щоб зробити це візуальним, натисніть «Закрити та застосувати» .

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

Тепер у нас є . Я також використовував умовне форматування, щоб показати позитивні та негативні сторони.

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




Висновок

Підсумовуючи, розуміння ключових впливових факторів і впровадження лінійної регресії в Python можуть бути потужним інструментом для аналізу даних і прогнозування.

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

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

Все найкраще,


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.