Regresja liniowa w Pythonie

W analizie danych kluczowymi czynnikami wpływającymi są zmienne, które mają znaczący wpływ na zmienną zależną. Innymi słowy, są to czynniki, które w największym stopniu przyczyniają się do wyniku będącego przedmiotem zainteresowania. W Pythonie regresja liniowa służy do identyfikowania kluczowych czynników wpływających na zbiór danych oraz do mierzenia siły i kierunku zależności między różnymi zmiennymi. Możesz obejrzeć pełny film tego samouczka na dole tego bloga .

Identyfikacja kluczowych czynników wpływających może być przydatna do zrozumienia podstawowych relacji w zbiorze danych i do prognozowania przyszłych wyników.

Biblioteki Pythona udostępniają szereg narzędzi i funkcji do przeprowadzania analizy regresji i identyfikowania kluczowych czynników wpływających na zbiór danych.

Spis treści

Korzystanie z modelu regresji liniowej

W tym artykule pokażę, jak możesz użyć modelu regresji liniowej , aby naśladować niektóre kluczowe czynniki mające wpływ na LuckyTemplates. Naszym celem jest wykorzystanie wszystkich naszych zmiennych, aby móc opisać, co zmienia się w innej zmiennej.

Kluczowe elementy mające wpływ na usługę LuckyTemplates to model regresji liniowej. Często używamy tego, chociaż nie wiemy dokładnie, co jest pod maską. W tym samouczku używam tego, aby zidentyfikować czynniki wpływające na opłaty ubezpieczeniowe.

Regresja liniowa w Pythonie

Przyjrzyjmy się zbiorowi danych o opłatach ubezpieczeniowych. Chcę to wyjaśnić statusem palacza, płcią, regionem, dziećmi, BMI i wiekiem.

Regresja liniowa w Pythonie

Obecnie kluczowi influencerzy pokazują najbardziej wpływową zmienną. Kiedy palacz jest twierdzący, średnia opłata jest o 23 615 USD wyższa w porównaniu do wszystkich innych wartości palacza.

To świetna wizualizacja, ale nie daje nam żadnych innych zmiennych, które mogłyby wpłynąć na ładunki.

Regresja liniowa w Pythonie

Zagłębmy się w to, zmieniając listę rozwijaną z Zwiększenie na Zmniejszenie .

Tym razem jest odwrotnie. Jeśli nie jesteś palaczem, średnia opłata jest o 23 615 USD niższa w porównaniu do wszystkich innych wartości palacza.

Regresja liniowa w Pythonie

Jak widać, jest to model regresji liniowej, który zbudowałem przy użyciu niektórych kodów Pythona i potokiem do usługi LuckyTemplates przy minimalnym formatowaniu warunkowym .

Jeśli chodzi o kodowanie, mamy nad tym pełną kontrolę, a zobaczysz, jak to zbudowałem jako alternatywę lub uzupełnienie wizualizacji kluczowych influencerów.

Regresja liniowa w Pythonie

Przejdźmy do notatnika Jupiter. Dla lepszego zrozumienia wyjaśnię je część po części.

Regresja liniowa w Pythonie

Używane biblioteki Pythona

W pierwszej części załadowałem wszystkie biblioteki, których chcę użyć. Jeśli nie znasz bibliotek, są to zbiory kodów i funkcji, które zbudowali dla nas programiści.

Zaimportowałem pandy jako pd , która jest biblioteką do manipulacji danymi, i numpy jako np, aby umożliwić nam wykonywanie obliczeń liniowych i warunkowych.

Używane modele

Porozmawiajmy o modelach, z których korzystałem. Przyniosłem sklearn.linear_model , która jest i użyłem modelu regresji liniowej. Na wypadek, gdybyśmy tego potrzebowali, przyniosłem również sklearn.preprocessing import StandardScaler , który pozwoli nam skalować nasze dane.

Inny model, którego używam, nazywa się xgboost import XGBRegressor . Jest to model regresji z drzewem decyzyjnym i innymi pomocnymi aspektami.

Ponadto użyłem także train_set_split , ponieważ chcę mieć możliwość podziału danych między zestawem treningowym a zestawem uczącym. W uczeniu maszynowym potrzebujemy zestawu danych treningowych, aby algorytm nauczył się, zanim wykona jakiekolwiek prognozy.

Wprowadziłem również mean_squared_error, aby określić model i bibliotekę matplotlib.pyplot na wypadek, gdybyśmy chcieli zrobić wizualizacje.

Być może nie wykorzystamy wszystkich z nich, ale może to być pomocne, więc umieściłem je wszystkie.

Regresja liniowa w Pythonie

Wykorzystany zestaw danych

Następnie rzućmy okiem na zestaw danych. Użyłem funkcji df = pd.read_csv , aby wprowadzić zestaw danych ubezpieczeniowych, a następnie przekonwertowałem dane na fikcyjne zmienne, używając df1 = pd.get_dummies (df, drop_first = True) .

Regresja liniowa w Pythonie

Aby to zrobić, utwórzmy nową komórkę, naciskając Esc + B na naszej klawiaturze, a następnie wpisz df.head , aby ocenić dane.

Mamy wiek, płeć, BMI, dzieci, palacza, region i opłaty, które chcemy przewidzieć jako zmienną zależną. Są to dane, które przychodzą nieprzygotowane do uczenia maszynowego.

W uczeniu maszynowym nie będziemy mogli używać zmiennych kategorycznych, takich jak kobiety, mężczyźni, południowy zachód i północny zachód. Dlatego pierwszą rzeczą, którą musimy zrobić, jeśli jest to typowy model regresji, jest przetłumaczenie zmiennych kategorialnych na dane liczbowe. 

Regresja liniowa w Pythonie

Aby to zrobić, użyłem funkcji pd.get_dummies , a następnie zmieniłem ją na kolumnę liczbową, zmieniając df.head na df1.head . Kliknijmy przycisk Uruchom , aby pokazać, jak to wygląda.

Regresja liniowa w Pythonie

Teraz możemy zobaczyć tę nową kolekcję kolumn, takich jak sex_male , smoker_yes , region_northwest i tak dalej. Algorytm automatycznie wie, że jeśli jest to 1, oznacza to tak, a 0 oznacza nie.

Zauważalnie, nie ma sex_female i region_northeast , ponieważ nie chcemy zbytnio komplikować modelu. Porzuciliśmy je za pomocą funkcji drop_first = True .

Następną rzeczą, którą zrobiłem, było wprowadzenie funkcji LinearRegression i zapisanie jej w modelu zmiennych. 

Stworzyłem również zmienne X i Y, aby przewidzieć nasze zmienne Y, a następnie wprowadziłem wszystkie inne kolumny dla naszych predyktorów, używając tego samego zestawu danych, którego używaliśmy wcześniej.

Regresja liniowa w Pythonie

W przypadku zmiennej X użyliśmy df1.drop („opłaty”, oś=1) , aby zrzucić ładunki. Z drugiej strony potrzebujemy opłat za zmienną Y, dlatego wstawiliśmy df1['charges'] .

Za pomocą poniższych funkcji utworzyłem zestawy treningowe i testowe zarówno dla X, jak i Y, używając funkcji train_test_split i przekazałem je do zmiennych X i Y.

Ponadto użyłem model.fit , aby dopasować dane treningowe do naszego modelu. Oznacza to, że model regresji liniowej będzie uczył się danych treningowych. 

Regresja liniowa w Pythonie

Tym razem przyjrzyjmy się naszym predyktorom. Widzimy to za pomocą współczynników, ponieważ opisują one, w jaki sposób każda z tych cech lub zmiennych wpływa na ładunki.

Zauważalne jest również, że liczba współczynnika dla smoker_yes jest bardzo zbliżona, jeśli porównamy ją z liczbą, jaką mamy dla kluczowych influencerów iw naszym modelu. 

Aby utworzyć tabelę, w której mamy cechy i współczynniki, użyłem pd.DataFrame w celu wprowadzenia współczynników do tabeli i stworzenia wizualizacji.

Regresja liniowa w Pythonie

Regresja liniowa w Pythonie

Używanie różnych modeli dla wizualizacji kluczowych influencerów

Wskazane jest również użycie różnych modeli w celu pozyskania kluczowych influencerów poprzez wprowadzenie XGB.Regressor

Kiedy przedstawiamy model, jest to po prostu prosta regresja liniowa; ale kiedy wprowadziliśmy XGB.Regressor, jest wiele parametrów, których możemy użyć do optymalizacji modelu.

Regresja liniowa w Pythonie

Zreplikowałem również te funkcje, tworząc poniższą ramkę danych. Współczynniki te są bardzo różne w porównaniu z tym, co widzieliśmy w regresji liniowej.

Regresja liniowa w Pythonie

W tej tabeli liczby są dokładne. Na przykład, jeśli jesteś palaczem, Twoje opłaty wzrosną o 23 787 USD. Jeśli masz jedno dziecko, wzrośnie ono o 472 dolary i tak dalej.

Regresja liniowa w Pythonie

Te osoby mające wpływ są również ważne, ponieważ odzwierciedlają to, co mamy w tabeli regresji liniowej. Jest nieco inny, ale bardzo zbliżony, ponieważ te influencerki sumują się do jednego. To po prostu inny sposób patrzenia na influencerów.

Regresja liniowa w Pythonie

Testowanie dokładności analizy regresji liniowej

Następnie chcemy zobaczyć dokładność naszego modelu, dlatego użyliśmy y_pred = model.predict (X_test) . Wymyślił prognozę, że był wyłączony o 5885,7. 

To tylko testowy zestaw danych i niezależnie od tego, czy prognoza jest dobra, czy zła, nadal musimy to ocenić. Nie zamierzamy tego teraz robić, ponieważ skupiamy się tylko na naszych kluczowych influencerach. 

Regresja liniowa w Pythonie

Wracając do LuckyTemplates, pokażę ci, jak bardzo łatwo to ująłem. To osobna tabela, w której możesz zobaczyć funkcje i osoby mające wpływ. 

Regresja liniowa w Pythonie

Zrobiłem to, przechodząc do Transform data .

Regresja liniowa w Pythonie

Następnie zduplikowałem swój zestaw danych i mogłem utworzyć tę tabelę. Możemy również przejść do zastosowanych kroków , aby zobaczyć kod Pythona i przejrzeć zmienne, których użyliśmy.

Regresja liniowa w Pythonie

Otwórzmy skrypt Pythona , klikając go dwukrotnie. 

Regresja liniowa w Pythonie

Przywieźliśmy nasze biblioteki. Przekształciliśmy go w zestaw danych do wstępnego przetwarzania oparty na uczeniu maszynowym, który składał się tylko z zer i jedynek. 

Ponadto wprowadziliśmy model regresji, stworzyliśmy nasze X i Y, aby dopasować je do danych, a następnie zapisaliśmy tabelę jako dane wyjściowe. Model jest wystarczająco dobry, więc nie korzystałem z zestawu testów treningowych.

Inną rzeczą, którą zrobiłem, było przełączenie zestawu danych na df , ponieważ po prostu łatwiej jest pisać. Zbiór danych jest zmienną dla oryginalnych danych.

Za pomocą tej tabeli zapisałem ją jako wynik, dlatego mamy te współczynniki.

Regresja liniowa w Pythonie

Aby wyświetlić to w formie wizualnej, kliknij Zamknij i zastosuj .

Regresja liniowa w Pythonie

Mamy teraz wykres słupkowy . Użyłem również formatowania warunkowego, aby pokazać pozytywy i negatywy.

Regresja liniowa w Pythonie


Jak zainstalować DAX Studio i edytor tabelaryczny w usłudze LuckyTemplates
Konfigurowanie ustawień zapytań w usłudze LuckyTemplates DAX Studio
Parametry usługi LuckyTemplates za pośrednictwem edytora zapytań

Wniosek

Podsumowując, zrozumienie kluczowych czynników wpływających i wdrożenie regresji liniowej w Pythonie może być potężnym narzędziem do analizy danych i przewidywania.

Identyfikując kluczowe czynniki wpływające na zmienną zależną i wykorzystując regresję liniową do modelowania ich zależności, możemy lepiej zrozumieć i przewidzieć przyszłe wyniki .

Korzystając z potężnych bibliotek Pythona, łatwo jest zaimplementować regresję liniową i wyodrębnić znaczące spostrzeżenia z danych.

Wszystkiego najlepszego,

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.