Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
В аналізі даних ключовими факторами впливу є змінні, які мають значний вплив на залежну змінну. Іншими словами, це фактори, які найбільше сприяють результату, що цікавить. У Python лінійна регресія використовується для визначення ключових впливових факторів у наборі даних, а також для вимірювання сили та напрямку зв’язку між різними змінними. Ви можете переглянути повне відео цього підручника внизу цього блогу .
Виявлення ключових впливових осіб може бути корисним для розуміння базових зв’язків у наборі даних і для прогнозування майбутніх результатів.
бібліотеки надають ряд інструментів і функцій для виконання регресійного аналізу та визначення ключових впливових осіб у наборі даних.
Зміст
Використання моделі лінійної регресії
У цій статті я покажу, як можна використовувати модель лінійної регресії для імітації деяких ключових впливових факторів LuckyTemplates. Наша мета полягає в тому, щоб використовувати всі наші змінні, щоб мати можливість описати те, що змінюється в іншій змінній.
Ключові фактори впливу LuckyTemplates — модель лінійної регресії. Часто ми використовуємо це, хоча точно не знаємо, що знаходиться під капотом. У цьому посібнику я використовую це для визначення факторів, що впливають на страхові збори.
Давайте подивимося на набір даних про страхові збори. Я хочу, щоб це було пояснено статусом курця, статтю, регіоном, дітьми, ІМТ та віком.
Наразі ключові впливові особи демонструють найвпливовішу змінну. Коли курець стверджує, середня плата на 23 615 доларів США вища порівняно з усіма іншими цінностями курця.
Це чудовий візуал, але він не дає нам жодних інших змінних, які можуть вплинути на витрати.
Давайте глибше зануримося в це, змінивши спадне меню зі Збільшення на Зменшення .
Цього разу все навпаки. Якщо ви не курите, середня плата на 23 615 доларів нижча в порівнянні з усіма іншими цінностями курця.
Як бачите, це лінійна регресійна модель, яку я побудував за допомогою деяких кодів Python і передав у LuckyTemplates з minimal .
Що стосується кодування, ми маємо повний контроль над ним, і ви побачите, як я створив це як альтернативу або доповнення до візуалу ключових впливових осіб.
Давайте перестрибнемо до зошита Юпітера. Для кращого розуміння дозвольте мені пояснити ці частини по частинах.
Використані бібліотеки Python
У першій частині я завантажив усі бібліотеки, які хочу використовувати. Якщо ви не знайомі з бібліотеками, це колекції кодів і функцій, які розробники створили для нас.
Я імпортував pandas як pd, яка є бібліотекою обробки даних, і numpy як np, щоб ми могли виконувати лінійні обчислення та умовні вирази.
Використані моделі
Поговоримо про моделі, якими я користувався. Я привів sklearn.linear_model , який є , і використав модель лінійної регресії. На випадок, якщо нам це знадобиться, я також запровадив sklearn.preprocessing import StandardScaler , який дозволить нам масштабувати наші дані.
Інша модель, яку я використовую, називається xgboost import XGBRegressor . Це регресійна модель із деревом рішень та іншими корисними аспектами.
Крім того, я також використовував train_set_split , тому що хочу мати можливість розділити дані між набором для навчання та набором для навчання. У машинному навчанні нам потрібен набір тренувальних даних, щоб алгоритм навчався перед тим, як виконувати будь-які прогнози.
Я також вніс mean_squared_error для визначення моделі та бібліотеки matplotlib.pyplot на випадок, якщо ми захочемо створити візуальні елементи.
Ми можемо використовувати не всі з них, але це може бути корисним, тому я додаю їх усі.
Використаний набір даних
Далі швидко розглянемо набір даних. Я використовував функцію df = pd.read_csv , щоб додати набір даних страхування, а потім перетворив дані на фіктивні змінні за допомогою df1 = pd.get_dummies (df, drop_first = True) .
Для цього давайте створимо нову комірку, натиснувши Esc + B на клавіатурі, а потім введемо df.head , щоб оцінити дані.
У нас є вік, стать, ІМТ, діти, курці, регіон і витрати, які ми хочемо передбачити як нашу залежну змінну. Це дані, які надходять непідготовленими до машинного навчання.
У машинному навчанні ми не зможемо використовувати такі категориальні змінні, як жіночий, чоловічий, південний захід і північний захід. Отже, перше, що нам потрібно зробити, якщо це типова регресійна модель, це перевести категоріальні змінні в числові дані.
Для цього я використав функцію pd.get_dummies , а потім також змінив це на числовий стовпець, змінивши df.head на df1.head . Давайте натиснемо кнопку «Виконати» , щоб показати, як це виглядає.
Тепер ми можемо бачити цю нову колекцію стовпців, таких як sex_male , smoker_yes , region_northwest тощо. Алгоритм автоматично визначає, що якщо 1, це означає так, а 0 означає ні.
Помітно, що тут немає sex_female і region_northeast , тому що ми не хочемо надто ускладнювати модель. Ми відкинули їх за допомогою функції drop_first = True .
Наступне, що я зробив, це включив функцію LinearRegression і зберіг її в моделі змінної.
Я також створив змінні X і Y для прогнозування наших змінних Y, а потім додав усі інші стовпці для наших предикторів, використовуючи той самий набір даних, який ми використовували раніше.
Для змінної X ми використали df1.drop ('charges', axis=1) , щоб скинути заряди. З іншого боку, нам потрібні витрати для змінної Y, тому ми вставляємо df1['charges'] .
За допомогою наведених нижче функцій я створив навчальні та тестові набори для X і Y за допомогою функції train_test_split і передав їх у змінні X і Y.
Крім того, я використовував model.fit , щоб адаптувати навчальні дані до нашої моделі. Це означає, що модель лінійної регресії вивчатиме навчальні дані.
Цього разу давайте подивимось на наші прогнози. Ми бачимо це за допомогою коефіцієнтів, оскільки вони описують, як кожна з цих характеристик або змінних впливає на заряди.
Також помітно, що число коефіцієнта для smoker_yes дуже близько, якщо порівняти його з числом, яке ми маємо для ключових впливових осіб і в нашій моделі.
Щоб створити таблицю, де ми маємо функції та коефіцієнти, я використав pd.DataFrame , щоб додати коефіцієнти в таблицю та створити візуал.
Візуальне використання різних моделей для ключових впливових осіб
Також доцільно використовувати різні моделі, щоб отримати ключових впливових осіб, залучивши XGB.Regressor .
Коли ми представляємо модель, це просто лінійна регресія; але коли ми запровадили XGB.Regressor, з’явилося багато параметрів, які ми можемо використовувати для оптимізації моделі.
Я також скопіював ці функції, коли створював кадр даних нижче. Ці коефіцієнти дуже відрізняються від тих, що ми бачили в лінійній регресії.
У цій таблиці цифри точні. Наприклад, якщо ви курите, ваші витрати зростуть на 23 787 доларів. Якщо у вас одна дитина, вона збільшиться на 472 долари і так далі.
Ці фактори впливу також важливі, оскільки вони відображають те, що ми маємо в таблиці лінійної регресії. Це дещо інше, але дуже близьке, тому що ці впливові особи підсумовуються до одного. Це просто інший погляд на впливових осіб.
Перевірка точності лінійного регресійного аналізу
Після цього ми хочемо побачити точність нашої моделі, тому ми використали y_pred = model.predict (X_test) . Він придумав прогноз, що він був вимкнений до 5885,7.
Це лише тестовий набір даних, і ми все ще повинні оцінити, чи хороший прогноз чи поганий. Ми не збираємося робити це прямо зараз, оскільки ми зосереджуємося лише на наших ключових впливових особах.
Повертаючись до LuckyTemplates, я покажу вам, як я це дуже легко вставляю. Це окрема таблиця, де ви можете побачити функції та впливові особи.
Я зробив це, перейшовши до Transform data .
Потім я скопіював свій набір даних і зміг створити цю таблицю. Ми також можемо перейти до Applied Steps , щоб побачити код і переглянути змінні, які ми використали.
Давайте відкриємо, двічі клацнувши на ньому.
Ми привезли наші бібліотеки. Ми перетворили його на набір даних машинного навчання з попередньою обробкою, який складався лише з нулів і одиниць.
Крім того, ми ввели регресійну модель, створили наші X і Y відповідно до даних, а потім зберегли таблицю як результат. Модель досить хороша, тому я не використовував навчальний тестовий набір.
Інша річ, яку я зробив, це перемкнув набір даних на df , тому що це просто легше писати. Набір даних є змінною для вихідних даних.
Цю таблицю я зберіг як результат, тому ми маємо ці коефіцієнти.
Щоб зробити це візуальним, натисніть «Закрити та застосувати» .
Тепер у нас є . Я також використовував умовне форматування, щоб показати позитивні та негативні сторони.
Висновок
Підсумовуючи, розуміння ключових впливових факторів і впровадження лінійної регресії в Python можуть бути потужним інструментом для аналізу даних і прогнозування.
Визначивши ключові фактори, які впливають на залежну змінну, і використовуючи лінійну регресію для моделювання їх зв’язків, ми можемо краще зрозуміти та передбачити майбутні результати .
Використовуючи потужні бібліотеки Python, легко впроваджувати лінійну регресію та отримувати значущу інформацію з даних.
Все найкраще,
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.