Numpy Polyfit

Numpy Polyfit
Regresja liniowa jest pierwszym krokiem do nauki nauki danych. Więc nawet jeśli jesteś nowy w tej dziedzinie, musisz zrozumieć te pojęcia, ponieważ te algorytmy są głównie wykorzystywane przez badaczy nauki o danych. Te algorytmy są również łatwe do zrozumienia, aby rozpocząć podróż maszynową.

W tym samouczku zobaczymy model regresji Numpy (PolyFit).

Funkcja Numpy.PolyFit () znajduje najlepszą linię dopasowania, minimalizując sumę błędu kwadratowego. Ta metoda akceptuje trzy parametry:

  1. X - dane wejściowe
  2. Dane wyjściowe Y
  3. Wielomianowa wartość stopnia (liczba całkowita)

Zacznijmy więc krok po kroku, aby użyć metody PolyFit.

Krok 1: Zaimportuj wszystkie wymagane bibliotekę i pakiety, aby uruchomić ten program.

Linia 91: Importujemy bibliotekę Numpy i Matplotlib. Polyfit Automatycznie znajduje się pod Numpy, więc nie trzeba importować. Matplotlib służy do wykreślania danych i MATPLOTLIB wbudowany służy do narysowania wykresu wewnątrz samego notebooka Jupyter.

importować Numpy jako NP
importować matplotlib.Pyplot as Plt
%MATPlotlib erline

Krok 2: Teraz naszym następnym krokiem jest utworzenie zestawu danych (x i y).

Linia 83: losowo generujemy dane x i y.

x = [28, 8, 11, 37, 15, 25, 51, 11, 32, 34, 43, 2, 40, 16, 40, 25, 40, 17, 21, 57]
y = [8, 8, 9, 72, 22, 51, 85, 4, 75, 48, 72, 1, 62, 37, 75, 42, 75, 47, 57, 95]

Krok 3: Po prostu zamierzamy wykreślić funkcję (x) i cel (y) na wykresie, jak pokazano poniżej:

plt.rozproszenie (x, y)

Krok 4: W tym kroku zamierzamy dopasować linię do danych X i Y.

Ten krok jest bardzo łatwy, ponieważ użyjemy koncepcji metody PolyFit. Metoda PolyFit jest dostarczana bezpośrednio z Numpy, jak pokazano powyżej. Ta metoda akceptuje trzy parametry:

  1. X - dane wejściowe
  2. Dane wyjściowe Y
  3. Wielomianowa wartość stopnia (liczba całkowita)

W tym programie stosujemy wielomianową wartość stopnia 1, która mówi, że jest to wielomian pierwszego stopnia. Ale możemy go również użyć dla wielomianu drugiego i trzeciego stopnia.

1 model = NP.Polyfit (x, y, 1)

Po naciśnięciu Enter, polifit oblicza model regresji liniowej i przechowuje model zmiennej po prawej stronie.

Logika za linią dopasowania

Widzimy więc, że tylko trafienie w klawisz Enter i dostaliśmy model regresji liniowej. Więc teraz myślimy o tym, co właściwie działa za tą metodą i jak dopasowują linię.

Metoda, która działa za metodą Polyfit, nazywa się Zwykła metoda najmniejszych kwadratów. Niektórzy nazywali to krótką nazwą OLS. Jest powszechnie używany przez użytkowników do dopasowania linii. Powodem jest to, że jest bardzo łatwy w użyciu, a także daje dokładność powyżej 90%.

Zobaczmy, jak działa OLS:

Najpierw musimy wiedzieć o błędach. Błąd oblicza różnicę między danymi x i y.

Na przykład, Pasujemy do linii do modelu regresji, który wygląda jak poniżej:

Niebieskie kropki to punkty danych i czerwona linia, którą dopasowujemy do punktów danych za pomocą metody PolyFit.

Załóżmy, że x = 24 i y = 58

Kiedy dopasowujemy linię, linia oblicza wartość Y = 44.3. Różnica między wartością rzeczywistą a obliczoną jest błąd dla określonego punktu danych.

Tak więc metoda OLS (zwykła najmniej kwadratowa) oblicza dopasowanie za pomocą poniższych kroków:

1. Oblicza błąd między dopasowanym modelem a punktami danych.

2. Następnie wyrównujemy każdy błąd punktów danych.

3. Sumuj wszystkich błędów punktów kwadratowych.

4. Na koniec określ linię, w której ta suma błędu kwadratowego jest minimalna.

Tak więc Polyfit wykorzystuje powyższe metody dopasowania linii.

Krok 5: Model

Zrobiliśmy naszą część kodowania uczenia maszynowego. Teraz możemy sprawdzić wartości x i y, które są przechowywane w zmiennych modelu. Aby sprawdzić wartość x i y, musimy wydrukować model, jak pokazano poniżej:

Wreszcie otrzymaliśmy równanie zarysowe:

y = 1.75505212 * x - 1.27719099

Korzystając z tego równania liniowego, możemy uzyskać wartość Y.

Powyższe równanie liniowe można również rozwiązać za pomocą metody Ploy1d () takiej jak poniżej:

Przewiduj = NP.poli1d (model)
x_value = 20
przewidy (x_value)

Dostaliśmy wynik 33.82385131766588.

Otrzymaliśmy ten sam wynik z obliczeń ręcznych:

y = 1.75505212 * 20 - 1.27719099

y = 33.82385131766588

Tak więc oba powyższe wyniki pokazują, że nasz model poprawnie pasuje do linii.

Krok 6: Dokładność modelu

Możemy również sprawdzić dokładność modelu, albo daje prawidłowe wyniki, albo nie. Dokładność modelu można obliczyć na podstawie kwadratowej (R2). Wartość R-kwadratu (R2) wynosi od 0 do 1. Wynik bliski 1 pokaże, że dokładność modelu jest wysoka. Sprawdźmy więc powyższą dokładność modelu. Zaimportujemy inną bibliotekę, Sklearn, jak pokazano poniżej:

ze Sklearn.Wskaźniki importu R2_Score
R2_SCORE (Y, PREDICT (X))

Wynik pokazuje, że jest on blisko 1, więc jego dokładność jest wysoka.

Krok 7: Wykreślenie modelu

Wykreślenie jest metodą wizualnego wizu. Daje jasny obraz modelu.

x_axis = zakres (0, 60)
y_axis = przewidy (x_axis)
plt.rozproszenie (x, y)
plt.wykres (x_axis, y_axis, c = 'g')

Szybkie wyjaśnienie powyższej metody wykresu podano poniżej:

Linia 1: Jest to zakres, który chcemy wyświetlić na działce. W naszym kodzie używamy wartości zakresu od 0 do 60.

Linia 2: Wszystkie wartości zakresu od 0 do 60 zostaną obliczone.

Linia 3: Przekazujemy te oryginalne zestawy danych x i y do metody rozproszenia.

Linia 4: W końcu wykreślamy nasz wykres, a zielona linia to linia dopasowania, jak pokazano na powyższym wykresie.

Wniosek

W tym artykule nauczyliśmy się modelu regresji liniowej, który jest początkiem podróży uczenia maszynowego. Istnieje wiele modeli regresji, które są wyjaśnione w innym artykule. Tutaj mamy czysty zestaw danych, ponieważ był to manekin, ale w prawdziwych projektach możesz uzyskać brudny zestaw danych i musisz wykonać inżynierię funkcji, aby wyczyścić zestaw danych do użycia w modelu. Jeśli nie do końca rozumiesz ten samouczek, nawet to pomaga łatwo nauczyć się innego modelu regresji.

Model regresji linii jest najczęstszym algorytmem używanym przez Data Science. Musisz mieć pomysły na temat modelu regresji, jeśli chcesz mieć swoją karierę w tej dziedzinie. Tak więc pozostań w kontakcie, a wkrótce wrócimy z nowym artykułem na temat danych.

Kod tego artykułu jest dostępny pod linkiem GitHub:
https: // github.com/shekharpandey89/liniowy-regresja-in-python-użytkowanie-numpy-polyfit