Ako implementovať lineárnu regresiu pre strojové učenie?



Tento článok sa venuje konceptu lineárnej regresie pre strojové učenie s rôznymi terminológiami a prípadu použitia na implementáciu lineárnej regresie.

Zameranie sa točí okolo vstupných a výstupných premenných pomocou algoritmu na predpovedanie výsledku. Ak sa na obrázku objaví nová vstupná premenná. Algoritmus lineárnej regresie v je technika učenia pod dohľadom na priblíženie funkcie mapovania, aby ste dosiahli čo najlepšie predpovede. V tomto článku sa dozvieme o lineárnej regresii pre strojové učenie. V tomto blogu sa zaoberáme nasledujúcimi témami.

Čo je regresia?

Hlavným cieľom regresie je konštrukcia efektívneho modelu na predikciu závislých atribútov z množstva premenných atribútov. Problém s regresiou je, keď je výstupná premenná buď reálna, alebo spojitá hodnota, tj plat, váha, plocha atď.





Regresiu môžeme definovať aj ako štatistický prostriedok, ktorý sa používa v aplikáciách ako bývanie, investovanie atď. Používa sa na predpovedanie vzťahu medzi závislou premennou a hromadou nezávislých premenných. Pozrime sa na rôzne typy regresných techník.

príklad-lineárna regresia v strojovom učení - edureka

Typy regresie

Nasledujú typy regresie.



  1. Jednoduchá lineárna regresia
  2. Polynomiálna regresia
  3. Podpora vektorovej regresie
  4. Regresia rozhodovacieho stromu
  5. Náhodná lesná regresia

Jednoduchá lineárna regresia

Jednou z najzaujímavejších a najbežnejších regresných techník je jednoduchá lineárna regresia. V tomto predikujeme výsledok závislej premennej na základe nezávislých premenných, vzťah medzi premennými je lineárny. Preto slovo lineárna regresia.

Polynomiálna regresia

V tejto regresnej technike transformujeme pôvodné znaky na polynomické znaky daného stupňa a potom na nich vykonáme regresiu.

Podpora vektorovej regresie

Pre regresia alebo SVR, identifikujeme nadrovinu s maximálnym okrajom tak, aby sa maximálny počet dátových bodov nachádzal v rámci týchto okrajov. Je to dosť podobné algoritmu klasifikácie podporných vektorových strojov.



Regresia rozhodovacieho stromu

TO možno použiť ako na regresiu, tak na . V prípade regresie používame algoritmus ID3 (Iteratívny dichotomizér 3) na identifikáciu štiepneho uzla znížením štandardnej odchýlky.

Náhodná lesná regresia

Pri náhodnej lesnej regresii zhromažďujeme predpovede niekoľkých regresií rozhodovacieho stromu. Teraz, keď vieme o rôznych druhoch regresie, sa pozrime podrobne na jednoduchú lineárnu regresiu.

Čo je to lineárna regresia?

Jednoduchá lineárna regresia je regresná technika, pri ktorej má nezávislá premenná lineárny vzťah so závislou premennou. Priamka v diagrame je najvhodnejšia čiara. Hlavným cieľom jednoduchej lineárnej regresie je zohľadniť dané dátové body a vykresliť čiaru najlepšej zhody tak, aby čo najlepšie vyhovovala modelu.

Predtým, ako sa pustíme do práce s algoritmom lineárnej regresie, pozrime sa na niekoľko dôležitých terminológií v jednoduchej lineárnej regresii.

Terminológie lineárnej regresie

Pred prechodom na algoritmus lineárnej regresie je dôležité oboznámiť sa s nasledujúcimi terminológiami.

kompilátor Java in time

Nákladová funkcia

Najlepšie vyhovujúca priamka môže byť založená na lineárnej rovnici uvedenej nižšie.

  • Závislá premenná, ktorá sa má predpovedať, sa označuje pomocou Y.
  • Čiara, ktorá sa dotýka osi y, je označená úsekom b0.
  • bjedenje sklon priamky, x predstavuje nezávislé premenné, ktoré určujú predpoveď Y.
  • Chyba vo výslednej predikcii je označená e.

Funkcia nákladov poskytuje najlepšie možné hodnoty pre b0a bjedenaby bola čo najpriaznivejšia čiara pre údajové body. Robíme to tak, že tento problém prevedieme na problém s minimalizáciou, aby sme dosiahli najlepšie hodnoty pre b0a bjeden. Chyba je v tomto probléme minimalizovaná medzi skutočnou hodnotou a predpokladanou hodnotou.

Vyššie zvolenú funkciu sme vybrali, aby sme minimalizovali chybu. Zarovnáme rozdiel chýb a spočítame chybu za všetky dátové body, čo je rozdelenie medzi celkový počet dátových bodov. Potom vyprodukovaná hodnota poskytuje priemernú štvorcovú chybu vo všetkých údajových bodoch.

Je tiež známy ako MSE (Mean Squared Error) a meníme hodnoty b0a bjedenaby sa hodnota MSE ustálila na minime.

Zostupný zostup

Ďalšou dôležitou terminológiou na pochopenie lineárnej regresie je gradientný zostup. Je to spôsob aktualizácie b0a bjedenhodnoty na zníženie MSE. Myšlienkou je to, aby iterácia b0a bjedenkým neznížime MSE na minimum.

Ak chcete aktualizovať b0a bjeden, berieme prechody z nákladovej funkcie. Aby sme našli tieto prechody, berieme parciálne derivácie vzhľadom na b0a bjeden. Tieto parciálne derivácie sú gradienty a používajú sa na aktualizáciu hodnôt b0a bjeden.

Menšia rýchlosť učenia sa blíži k minimu, ale to vyžaduje viac času a v prípade väčšej rýchlosti učenia sa. Čas je potrebný skôr, ale existuje šanca prekročiť minimálnu hodnotu. Teraz, keď už máme terminológie lineárnej regresie za sebou, pozrime sa na niekoľko výhod a nevýhod lineárnej regresie pre strojové učenie.

Výhody a nevýhody

Výhody Nevýhody
Lineárna regresia je pre lineárne oddeliteľné údaje mimoriadne dobráPredpoklad linearity medzi závislými a nezávislými premennými
Ľahšie implementovateľné, interpretovateľné a efektívne zaškolenéČasto je dosť náchylný na hluk a nadmerné vybavenie
Celkom dobre zvláda preplácanie pomocou techník dimenzionálneho znižovania, regularizácie a krížovej validácieLineárna regresia je dosť citlivá na odľahlé hodnoty
Ďalšou výhodou je extrapolácia nad rámec konkrétneho súboru údajovJe náchylný na multicolinearitu

Prípady použitia lineárnej regresie

  • Prognózy predaja

  • Analýza rizík

  • Aplikácie v oblasti bývania Predvídať ceny a ďalšie faktory

    čo je * v sql
  • Finančné aplikácie na predpovedanie cien akcií, hodnotenie investícií atď.

Základnou myšlienkou lineárnej regresie je nájsť vzťah medzi závislou a nezávislou premennou. Používa sa na získanie najlepšie vyhovujúcej čiary, ktorá by predpovedala výsledok s najmenšou chybou. Lineárnu regresiu môžeme použiť v jednoduchých skutočných situáciách, ako je predikcia skóre SAT s ohľadom na počet hodín štúdia a ďalšie rozhodujúce faktory.

V tejto súvislosti sa pozrime na prípad použitia.

Prípad použitia - implementácia lineárnej regresie

Proces prebieha v nasledujúcich krokoch:

  1. Načítavajú sa údaje
  2. Skúmanie údajov
  3. Krájanie údajov
  4. Vlak a rozdelenie údajov
  5. Generovať model
  6. Vyhodnoťte presnosť

Poďme sa dostať do podrobností každého z krokov na implementáciu lineárnej regresie.

1. Načítanie údajov

Môžeme začať so základným súborom údajov o cukrovke, ktorý je už prítomný v module súborov údajov sklearn (scikit-learn), aby sme mohli začať našu cestu lineárnou regresiou.

from sklearn import datasets disease = datasets.load_diabetes () print (choroba)

Výkon:

2. Skúmanie údajov

Po dokončení načítania údajov môžeme začať skúmať jednoduchou kontrolou štítkov pomocou nasledujúceho kódu.

print (disease.keys ())

Výkon:

Vyššie uvedený kód poskytuje všetky štítky zo súboru údajov, potom môžeme údaje rozdeliť tak, aby sme na konci mohli vykresliť riadok. Použijeme tiež všetky údajové body, nateraz si z údajov rozdelíme stĺpec 2.

importovať ako np choroba_X = choroba.data [:, np.newaxis, 2] tlač (choroba_X)

Výkon:

Po tomto kroku rozdelíme údaje na vlak a testovaciu súpravu.

jednorozmerné pole v jave

3. Rozdelenie údajov

choroba_X_train = choroba_X [: - 30] choroba_X_test = choroba_X [-20:] choroba_Y_train = choroba.cieľ [: - 30] choroba_Y_test = choroba.cieľ [-20:]

Ďalšia časť zahŕňa generovanie modelu, ktorý bude obsahovať import linear_model z sklearn.

4. Generovanie modelu

z sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (choroba_X_train, choroba_Y_train) y_predict = reg.predict (choroba_X_test)

Na vyhodnotenie presnosti modelu použijeme strednú štvorcovú chybu zo scikit-learn.

5. Vyhodnotenie

precision = mean_squared_error (disease_Y_test, y_predict,) tlač (presnosť) váhy = reg.coef_ intercept = reg.intercept_ print (váhy, intercept)

Výkon:

Aby sme mali jasnejšie informácie o tom, ako vyzerajú dátové body v grafe, nakreslíme tiež grafy.

importovať matplotlib.pyplot ako plt plt.scatter (choroba_X_test, choroba_Y_test) plt.plot (choroba_X_test, y_predict) plt.show ()

Výkon:

Ak chcete v tomto scenári získať presnejší model, môžeme použiť nielen údaje v stĺpci 2, ale iba všetky údaje. To by poskytlo presnosť, ako je uvedené nižšie:

# urobte malú zmenu v kóde vyššie a odstráňte kód vykreslenia, aby ste sa vyhli chybám disease_X = disease.data

Výkon:

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli o lineárnej regresii pre strojové učenie. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak sa vám tento článok o „Linear Regression for Machine Learning“ zdá relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov v časti „Lineárna regresia pre strojové učenie“ a náš tím vám rád odpovie.