- View
Čo ak sú vaše údaje v skutočnosti zložitejšie ako jednoduchá priamka? Prekvapivo môžete použiť lineárny model na prispôsobenie nelineárnych údajov. Jednoduchý spôsob, ako to urobiť, je pridať výkony každej funkcie ako nové funkcie a potom trénovať lineárny model na tejto rozšírenej množine funkcií. Táto technika sa nazýva polynomiálna regresia.
Polynomiálna regresia je regresný algoritmus, ktorý modeluje vzťah medzi závislou (y) a nezávislou premennou (x) ako polynóm n-tého stupňa. Rovnica polynómovej regresie je uvedená nižšie:
\(y= β_0+β_1x_1^1+ β_2x_1^2+ β_3x_1^3+...... β_nx_1^n\)
Nazýva sa to aj špeciálny prípad viacnásobnej lineárnej regresie v ML. Pretože do rovnice viacnásobnej lineárnej regresie pridáme niekoľko polynomiálnych členov, aby sme ju previedli na polynomiálnu regresiu.
Ide o lineárny model s určitými úpravami za účelom zvýšenia presnosti.
Súbor údajov použitý v polynómovej regresii na trénovanie má nelineárny charakter.
Využíva lineárny regresný model na prispôsobenie komplikovaných a nelineárnych funkcií a súborov údajov.
Preto "Pri polynomiálnej regresii sa pôvodné prvky prevedú na polynomiálne prvky požadovaného stupňa (2,3,..,n) a potom sa modelujú pomocou lineárneho modelu."
Potrebu polynomiálnej regresie v ML možno pochopiť v nasledujúcich bodoch:
- Ak použijeme lineárny model na lineárny súbor údajov, potom nám to poskytne dobrý výsledok, ako sme videli v jednoduchej lineárnej regresii, ale ak použijeme rovnaký model bez akejkoľvek úpravy na nelineárny súbor údajov, potom to vytvorí drastický výstup. Vďaka tomu sa stratová funkcia zvýši, chybovosť bude vysoká a presnosť sa zníži.
- Takže pre takéto prípady, kde sú dátové body usporiadané nelineárnym spôsobom, potrebujeme model polynómovej regresie. Môžeme to lepšie pochopiť pomocou nižšie uvedeného porovnávacieho diagramu lineárneho súboru údajov a nelineárneho súboru údajov.

- Na obrázku vyššie sme vzali súbor údajov, ktorý je usporiadaný nelineárne. Ak sa to teda pokúsime pokryť lineárnym modelom, potom môžeme jasne vidieť, že nepokrýva takmer žiadny dátový bod. Na druhej strane je krivka vhodná na pokrytie väčšiny dátových bodov, čo je z polynomiálneho modelu.
- Ak sú teda súbory údajov usporiadané nelineárnym spôsobom, mali by sme namiesto jednoduchej lineárnej regresie použiť model polynómovej regresie.
Poznámka: Algoritmus polynomiálnej regresie sa nazýva aj polynomiálna lineárna regresia, pretože nezávisí od premenných, ale závisí od koeficientov, ktoré sú usporiadané lineárne.
| Simple Linear Regression equation |
\(y= β_0+β_1x_1\) |
| Multiple Linear Regression equation |
\(y= β_0+β_1x_1 + β_2x_2 + +...... β_nx_n\) |
| Polynomial Regression equation | \(y= β_0+β_1x_1^1 + β_2x_1^2 +...... β_nx_1^n\) |
Implementácia polynómovej regresie pomocou Pythonu:
Tu implementujeme polynomiálnu regresiu pomocou Pythonu. Pochopíme to porovnaním modelu polynomiálnej regresie s modelom jednoduchej lineárnej regresie. Najprv teda pochopme problém, pre ktorý budeme model stavať.
Popis problému: Existuje spoločnosť zaoberajúca sa ľudskými zdrojmi, ktorá sa chystá prijať nového kandidáta. Kandidát uviedol svoj predchádzajúci plat 160 tisíc ročne a HR musí skontrolovať, či hovorí pravdu alebo blafuje. Aby to identifikovali, majú iba súbor údajov o jeho predchádzajúcej spoločnosti, v ktorom sú uvedené platy 10 najlepších pozícií s ich úrovňami. Kontrolou dostupného súboru údajov sme zistili, že existuje nelineárny vzťah medzi úrovňami pozícií a platmi. Naším cieľom je vybudovať regresný model Bluffing detektora , aby HR mohlo zamestnať poctivého kandidáta. Nižšie sú uvedené kroky na vytvorenie takéhoto modelu.

Kroky pre polynomiálnu regresiu:
Hlavné kroky zahrnuté v polynomiálnej regresii sú uvedené nižšie:
- Predbežné spracovanie údajov
- Vytvorenie modelu lineárnej regresie a jeho prispôsobenie množine údajov
- Vytvorenie modelu polynomiálnej regresie a jeho prispôsobenie množine údajov
- Vizualizujte výsledok pre model lineárnej regresie a polynómovej regresie.
- Predpovedanie výstupu.
Krok predbežného spracovania údajov:
Krok predbežného spracovania údajov zostane rovnaký ako v predchádzajúcich regresných modeloch, s výnimkou niektorých zmien. V modeli polynomiálnej regresie nebudeme používať škálovanie funkcií a tiež nebudeme rozdeľovať našu množinu údajov na trénovaciu a testovaciu množinu. Má dva dôvody:
- Dataset obsahuje veľmi menej informácií, ktoré nie sú vhodné na rozdelenie do testovacieho a tréningového súboru, inak náš model nebude schopný nájsť korelácie medzi platmi a úrovňami.
- V tomto modeli chceme veľmi presné predpovede platu, takže model by mal mať dostatok informácií.
Kód pre krok predbežného spracovania je uvedený nižšie:
# Import knižníc
import numpy as nm
import matplotlib.pyplot as mtp
import pandas as pd
# importing množiny údajov
data_set= pd.read_csv('Position_Salaries.csv')
# Extracting Nezávislá a závislá premenná
x= data_set.iloc[:, 1:2].values
y= data_set.iloc[:, 2].values
Vytvorenie lineárneho regresného modelu:
Teraz vytvoríme a prispôsobíme lineárny regresný model množine údajov. Pri vytváraní polynómovej regresie vezmeme ako referenciu lineárny regresný model a porovnáme oba výsledky. Kód je uvedený nižšie:




