Numpy liniowa regresja

Numpy liniowa regresja

„Żyjemy w erze, w której jesteśmy otoczeni nauką o danych, większymi zestawami danych, komputerami o wysokiej mocy obliczeniowej i sztucznej inteligencji. Nauki danych i sztuczna inteligencja trafiły do ​​autonomicznej nawigacji pojazdów; Obrazy są przez nich rozpoznawane, decydując o sektorach energii i finansów, sektorach giełdowych, a nasze kręgi społeczne zostały również zrewolucjonizowane przez uczenie maszynowe, a następnie rozwój nauk biomedycznych. Regresja liniowa jest jedną z najważniejszych technik uczenia maszynowego, która pozwala nam przeprowadzać analizę danych statystycznych lub obliczenia naukowe, i niezależnie od tego, czy chcemy sztucznie inteligentnie, napotkamy regresję liniową.

Regresja liniowa jest metodą uczenia maszynowego, która służy do nauki relacji między jedną zmienną zależną, powiedzmy „y” i różnymi zmiennymi niezależnymi „x”. Na podstawie tej związku między zmiennymi regresja liniowa przewiduje przyszłe zdarzenia dla „Y”. Zmienne w regresji liniowej to cechy reprezentujące atrybuty obserwacji, a obserwacja jest jednym punktem danych w zestawie danych. Przewidywane wyjście zależy od tych obserwacji i cech. Zastosowania regresji liniowej obejmują przewidywanie cen domów w zależności od funkcji (takich jak obszar domu, sypialnie, wnętrze domu), prognozę pogody, prognozę giełdową itp."

Procedura

Artykuł pokaże metodę implementacji dla modeli regresji liniowej. Zastosujemy ten model do zestawu danych, a aby zaimplementować ten model, wykonamy kilka kroków, aby najpierw wyszkolić model, aby nauczyć się przewidywać, a następnie przetestujemy model, aby sprawdzić, jak blisko przewidywania modelu jest rzeczywiste wyjście.

Składnia

Składnia modelu regresji jest następująca:

$ model = regresja liniowa ()


Użyjemy wyżej wymienionej funkcji do wdrożenia modelu regresji poprzez dopasowanie zestawu danych do tego modelu. Będziemy wyszkolił dane dotyczące modelu regresji liniowej, aby oszacować wartość wyników za pomocą hipotezy i funkcji straty jako:

Y_predict (h (x) = b0 + b1*x), co jest przewidywaną wartością dla odpowiedzi wyjściowej „y” z modelu.

Funkcja straty = faktyczna_y - y_predict

Wartość zwracana

Wartość zwracana dla modelu regresji jest ciągła, ponieważ regresja ma jedną zmienną zależną ciągłą jako wyjście, „y” i wiele zmiennych, „x”, które mogą być dyskretne lub ciągłe.

Przykład nr 01

Zacznijmy wdrażać model regresji liniowej. Do wdrożenia tej funkcji będziemy używać tłumacza „Spyder” z Pythona. Aby rozpocząć wdrażanie modelu, musielibyśmy zastosować określone funkcje i klasy z różnych pakietów bibliotecznych. Pierwszą i najważniejszą biblioteką tej implementacji byłaby „Numpy”. Wszyscy znamy tę bibliotekę Numpy, ponieważ pozwala to na operacje i wdrożenie macierzy wielowymiarowych i macierzy, i jest to pakiet open source. Zostanie to wykorzystane w programie do wdrożenia tablicy o różnych wymiarach.

Kolejnym ważnym pakietem jest „scikit-learn” ten pakiet opiera się na Numpy i umożliwia wstępne przetwarzanie danych i redukcję wymiarów oraz implementuje modele regresji, klasyfikacje i klastrowanie. Będziemy używać tego pakietu do wdrożenia modelu regresji liniowej w Python. Aby zaimportować ten pakiet, użyjemy polecenia „Importuj” Numpy z prefiksem o nazwie „NP”, a następnie z pakietu Scikit Learn, zaimportujemy model regresji liniowej jako „ze Sklearn.Linear_model import liniowy ”.

Po zaimportowaniu tych pakietów jest teraz czas na stworzenie danych, z którymi chcemy pracować i to zrobić, zdefiniujemy zmienną zależną (wyjście) jako „Y” i zmienną niezależną (regresor) jako „x”. W tym przykładzie zapewnimy te zmienne proste jako obiekt tablicy 1-D, a to oznacza najprostsze dane dotyczące regresji. Zadeklarujemy „X” jako „NP”. tablica ([2, 12, 22, 32, 42, 52]). przekształcić (-1, 1) ”i„ y ”jako„ np. tablica ([2, 10, 14, 20, 32, 36]) ”. Y jest jednarwenowy i zmieniliśmy X (-1, 1), ponieważ chcemy, aby X miał tylko jedną kolumnę i kilka wierszy, więc ma dwa wymiary, ponieważ kształt X jest (6, 6, 1).

Teraz dopasujemy te zmienne do modelu regresji liniowej i aby to zrobić, nazwiemy metodę „regresją liniową (). Fit (x, y) ”i przypisz go do zmiennej„ model ”. Gdy teraz zamontujemy model, sprawdźmy, czy model działa, czy nie, dzwoniąc i stosując „.wynik ”w modelu jako„ model. Wynik (x, y) ”. .wynik przyjmuje również predyktor jako „x” i odpowiedź jako „y”, i daje R^2, który jest współczynnikiem determinacji, co oznacza, że ​​mówi, jak dobrze model może dokonać prognozowania.

Teraz, aby sprawdzić wartości atrybutów „Hipoteza = B0 +B1*x”, użyjemy „Model. przechwyty ”, które da„ B0 ”i„ Model. COEF_ ”, który zwróci wartość dla„ B1 ”, które są szacowanymi wartościami z modelu„ Y ”. Teraz, po uzyskaniu tych wartości, przewidujemy przy użyciu modelu wywołującego „model. Przewiduj (x) ”i zapisz go w uprawnieniu Y_. Odpowiedź zostanie przewidziana przez model, a zatem przeszkoliliśmy nasz model; Teraz, aby sprawdzić, jak działa model w zestawie danych testowych, przekazamy nowe wartości x do parametrów „modelu„. przewidy (x_new) ”. Model poda przewidywane wartości jako odpowiedź na wyjście dla nowo zdefiniowanego „x”. Kod szkolenia, a następnie testowanie modelu regresji liniowej, podano poniżej na rysunku.


Wniosek

Przeszkoliliśmy model, który jest „regresją liniową”, z Numpy i Scikit Dowiedz się na zestawie danych, aby przewidzieć odpowiedź dla zestawu danych, a następnie przetestowaliśmy ten model, aby przewidzieć odpowiedź dla nowego zestawu danych.