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?
- Typy regresie
- Čo je to lineárna regresia?
- Terminológie lineárnej regresie
- Výhody a nevýhody lineárnej regresie
- Prípady použitia lineárnej regresie
- Prípad použitia - Implementácia lineárnej regresie
Č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.
Typy regresie
Nasledujú typy regresie.
- Jednoduchá lineárna regresia
- Polynomiálna regresia
- Podpora vektorovej regresie
- Regresia rozhodovacieho stromu
- 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ácie | Lineárna regresia je dosť citlivá na odľahlé hodnoty |
Ďalšou výhodou je extrapolácia nad rámec konkrétneho súboru údajov | Je 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:
- Načítavajú sa údaje
- Skúmanie údajov
- Krájanie údajov
- Vlak a rozdelenie údajov
- Generovať model
- 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.