Implementacja regresji liniowej w Pythonie: kompletny przewodnik

Opublikowany: 2019-11-18

Niezależnie od tego, czy studiujesz uczenie maszynowe, czy statystyki za pomocą Pythona, natkniesz się na regresję liniową. Regresja liniowa jest jedną z ważnych części kursu certyfikacyjnego uczenia maszynowego.

Co to jest? Jak wykonać regresję liniową w Pythonie?

W tym artykule będziemy odkrywać odpowiedzi na te pytania. Po przeczytaniu tego artykułu zapoznasz się z:

  • Regresje i czym one są
  • Co to jest regresja liniowa
  • Jak wytrenować model regresji liniowej
  • Zastosowania regresji liniowej

Zacznijmy.

Spis treści

Co to jest regresja?

Analiza regresji odnosi się do określonych procesów statystycznych, których używasz do szacowania relacji między zmienną zależną i niezależną.

Jest popularny w wielu branżach, takich jak finanse i bankowość. Korzystając z analizy regresji, możesz zrozumieć związek między dwiema zmiennymi w określonym środowisku.

Załóżmy, że chcesz poznać ceny domów w określonej okolicy. W tym celu będziesz musiał obserwować miasto obszaru, liczbę mieszkańców, dostępność udogodnień i wiele innych rzeczy.

Rzeczy, od których będą zależeć ceny domów, nazywamy cechami . A problemem, w którym czynniki są związane z kosztem każdego domu, jest obserwacja. W tym przykładzie zakłada się, że lokalizacja, udogodnienia i inne czynniki wpływają na cenę każdego domu.

Mówiąc prościej, dokonujesz kilku obserwacji dotyczących konkretnego tematu w analizie regresji. Twoje obserwacje mają kilka cech i pewne przypuszczenia, zanim zaczniesz tworzyć między nimi związek.

W analizie regresji występują dwa rodzaje cech. Oni są:

  • Cechy zależne, zwane wynikami zależnymi, zmiennymi lub odpowiedziami
  • Niezależne cechy, zwane niezależnymi wyjściami, zmiennymi lub odpowiedziami

Ogólnie rzecz biorąc, problem regresji ma jedną ciągłą zmienną zależną. Wejścia są różne.

Możesz oznaczyć wyjścia za pomocą y, a wejścia za pomocą x. Nie ma na to twardych i szybkich reguł, ale powszechną praktyką jest używanie y i x do oznaczania tych danych wyjściowych i wejściowych.

Jeśli masz wiele niezależnych zmiennych, możesz je przedstawić jako x = (x1,…,xr), gdzie r oznacza liczbę wejść.

Uzyskaj najlepsze kursy uczenia maszynowego online z najlepszych uniwersytetów na świecie — studia magisterskie, programy podyplomowe dla kadry kierowniczej oraz program zaawansowanych certyfikatów w zakresie uczenia maszynowego i sztucznej inteligencji, aby przyspieszyć swoją karierę.

Co to jest regresja liniowa?

Regresja liniowa jest najpopularniejszym rodzajem regresji. Jest to statystyczna metoda modelowania relacji między wynikami zależnymi a grupą wyników niezależnych.

W tym artykule niezależne wyjścia będziemy nazywać „cechami”, a wyjścia zależne – „odpowiedziami”.

Jeśli regresja liniowa ma tylko jedną cechę, nazywa się ją jednowymiarową regresją liniową. Podobnie, jeśli ma wiele cech, nazwałbyś to wielokrotną regresją liniową.

Najważniejszą zaletą regresji liniowych jest łatwość interpretacji ich wyników. Pytania do wywiadu z regresją liniową

Jest to najprostsza forma regresji.

Hipoteza

Jeśli y jest wartością przewidywaną, 0 jest składnikiem odchylenia, xn i wartościami cech, a model regresji liniowej reprezentujesz następującym równaniem:

Y = 0 + 1 x 1 + 2 x 2 +…. + n x n

Tutaj n oznacza parametry modelu.

Kod Pythona regresji liniowej

Aby utworzyć model regresji liniowej, na początek potrzebujesz również zestawu danych. Istnieje wiele sposobów wykorzystania kodu Pythona do regresji liniowej.

Sugerujemy studiowanie Pythona i zapoznanie się z bibliotekami Pythona przed rozpoczęciem pracy w tym zakresie.

Może pomóc w stworzeniu podstawowego modelu regresji liniowej.

Trening modelu regresji

Będziesz musiał znaleźć niezbędne parametry dla modelu, aby jak najlepiej pasował do danych. Będziesz musiał znaleźć najlepszą linię dopasowania (lub linię regresji).

Linia regresji to ta, dla której błąd między wartościami obserwowanymi a wartościami przewidywanymi jest minimalny. Inną nazwą tych błędów są reszty.

Aby zmierzyć błąd, musisz zdefiniować funkcję kosztu:

J ( ) = 1 2m i=1 m (h( x i ) – y i ) 2

Tutaj h(x) oznacza funkcję hipotezy, którą oznacza równanie, które omawialiśmy wcześniej:

h(x) = 0 + 1 x 1 + 2 x 2 +…. + ja x ja

m oznacza całkowitą liczbę przykładów w naszym zestawie danych.

Korzystając z tych równań i algorytmu optymalizacji, możesz wytrenować swój model regresji liniowej.

Istnieje wiele innych metod wykonywania analizy regresji Pythona, które omówiliśmy poniżej:

Wykonywanie regresji liniowej za pomocą pakietów Pythona

Możesz użyć NumPy, który jest szeroko rozpowszechnionym i podstawowym pakietem Pythona. Służy do wykonywania operacji o wysokiej wydajności. Jest open-source i ma wiele dostępnych procedur matematycznych.

Możesz sprawdzić podręcznik użytkownika NumPy, aby dowiedzieć się więcej na jego temat. Musiałbyś również nauczyć się o scikit-learn, która jest popularną biblioteką Pythona opartą na NumPy. Jest powszechnie używany do uczenia maszynowego i podobnych działań.

Aby opracować modele regresji liniowej i je wdrożyć, powinieneś również zapoznać się z modelami statystycznymi. Jest to kolejny potężny pakiet Pythona, który służy do wykonywania testów i szacowania modeli statystycznych.

Jakie są zastosowania regresji liniowej?

Regresja liniowa znajduje zastosowanie w wielu branżach. Oto kilka zastosowań regresji liniowej:

1) Zrozumienie trendów

Regresja liniowa może pomóc firmom w zrozumieniu trendów rynkowych. W ten sposób mogą lepiej planować swoje strategie i unikać popełniania błędów. Oprócz firm, handlowcy, a także organizacje badawcze mogą również wykorzystać tę technikę do oceny trendów.

2) Analiza zmian cen

Zmiany cen towarów mogą mieć znaczący wpływ na zyski przedsiębiorstw produkcyjnych. Regresja liniowa może również pomóc firmom w tym zadaniu, ponieważ mogą one znaleźć relacje między zmianami cen a czynnikami, które się do nich przyczyniają.

3) Ocena ryzyka

Firmy ubezpieczeniowe, a także inwestorzy, mogą wykorzystać regresję liniową do wykrywania anomalii. Inwestorzy mogą znaleźć swoje słabe inwestycje i odpowiednio zaplanować swoje strategie, jednocześnie zmniejszając ryzyko.

Myśli końcowe

Regresja liniowa jest jednym z ważnych algorytmów sztucznej inteligencji i mamy nadzieję, że ten przewodnik po regresji liniowej w Pythonie okazał się przydatny. Regresja Pythona może być dość zniechęcająca dla początkującego. Dlatego zalecamy najpierw zapoznanie się z pakietami i algorytmami Pythona.

Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym, sprawdź program IIIT-B i upGrad Executive PG w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznych szkoleń, ponad 30 studiów przypadków i zadań, IIIT Status -B Alumni, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.

Wiedza o tych dwóch jest bardzo przydatna we wdrażaniu regresji liniowej.

Kiedy używamy regresji?

Kiedy w problemie występuje wiele zmiennych, możemy chcieć zrozumieć związek między nimi wszystkimi. Możemy wykorzystać macierze, aby znaleźć potencjalne relacje między określonymi parami zmiennych. Korzystając z metod korelacji, możemy zmierzyć liniową zależność między dowolną parą zmiennych. Jednak ta metoda nie jest odpowiednia, gdy chcemy znaleźć złożone relacje obejmujące kilka zmiennych. W takich przypadkach regresja jest skuteczniejszą metodą zrozumienia złożonych związków między wieloma zmiennymi. Regresja pomaga nam dowiedzieć się, które zmienne wpływają na konkretną odpowiedź i jak mogą wyjaśnić konkretny wynik.

Ile rodzajów regresji wykorzystuje się w uczeniu maszynowym?

Regresja to technika, za pomocą której możemy przewidzieć przyszłe wyniki między zmienną docelową a jedną lub kilkoma niezależnymi zmiennymi predykcyjnymi. Regresja jest bardzo często stosowana w uczeniu maszynowym do modelowania szeregów czasowych, prognozowania i zrozumienia związków przyczynowo-skutkowych między różnymi zmiennymi. Różne typy regresji stosowane w uczeniu maszynowym to regresja liniowa, regresja logistyczna, regresja grzbietowa, regresja wielomianowa i regresja lasso. Możesz spotkać więcej rodzajów metod analizy regresji stosowanych w uczeniu maszynowym. Są to jednak najszerzej stosowane metody spośród wszystkich innych.

Jakie są zalety używania Pythona?

Python jest jednym z najczęściej używanych języków programowania w uczeniu maszynowym. Ma kilka zalet. Po pierwsze, składnia Pythona jest prosta. Jest łatwy do nauczenia i zrozumienia, co czyni go niezwykle popularnym zarówno wśród początkujących, jak i doświadczonych programistów. Następnie jest open-source i darmowy, a także zawiera ogromną społeczność aktywnych programistów i badaczy. Obszerna biblioteka funkcji wbudowana w rdzeń Pythona oferuje wszechstronne wsparcie programistom, więc nie ma potrzeby polegania na bibliotekach zewnętrznych lub zewnętrznych. Co więcej, Python jest wysoce elastyczny i niezależny od systemu, w przeciwieństwie do niektórych innych języków programowania, takich jak C i C++.