Jak implementovat lineární regrese pro strojové učení?



Tento článek se zabývá konceptem lineární regrese pro strojové učení s různými terminologiemi a případem použití k implementaci lineární regrese.

Zaměření se točí kolem vstupní a výstupní proměnné pomocí algoritmu k předpovědi výsledku. Pokud se na obrázku objeví nová vstupní proměnná. Algoritmus lineární regrese v je technika učení pod dohledem, která aproximuje funkci mapování, aby získala nejlepší předpovědi. V tomto článku se dozvíme o lineární regrese pro strojové učení. V tomto blogu jsou diskutována následující témata.

Co je to regrese?

Hlavním cílem regrese je konstrukce efektivního modelu pro predikci závislých atributů z řady proměnných atributů. Problém s regresí je, když je výstupní proměnná buď skutečná, nebo kontinuální hodnota, tj. Plat, váha, plocha atd.





Můžeme také definovat regresi jako statistický prostředek, který se používá v aplikacích, jako je bydlení, investování atd. Používá se k predikci vztahu mezi závislou proměnnou a hromadou nezávislých proměnných. Pojďme se podívat na různé typy regresních technik.

příklad-lineární regrese ve strojovém učení - edureka

Druhy regrese

Následují typy regrese.



  1. Jednoduchá lineární regrese
  2. Polynomiální regrese
  3. Podpora vektorové regrese
  4. Regrese rozhodovacího stromu
  5. Náhodná lesní regrese

Jednoduchá lineární regrese

Jednou z nejzajímavějších a nejběžnějších regresních technik je jednoduchá lineární regrese. V tomto předpovídáme výsledek závislé proměnné na základě nezávislých proměnných, vztah mezi proměnnými je lineární. Proto slovo lineární regrese.

Polynomiální regrese

V této regresní technice transformujeme původní prvky na polynomiální prvky daného stupně a poté na nich provedeme regresi.

Podpora vektorové regrese

Pro regrese nebo SVR, identifikujeme nadrovinu s maximálním okrajem tak, aby maximální počet datových bodů byl uvnitř těchto okrajů. Je to docela podobné algoritmu klasifikace podpůrných vektorových strojů.



Regrese rozhodovacího stromu

NA lze použít jak pro regresi, tak pro . V případě regrese používáme algoritmus ID3 (Iterativní Dichotomiser 3) k identifikaci dělícího uzlu snížením směrodatné odchylky.

Náhodná lesní regrese

V náhodném regrese lesa sestavujeme předpovědi několika regresí rozhodovacího stromu. Nyní, když víme o různých typech regrese, pojďme se podrobně podívat na jednoduchou lineární regrese.

Co je lineární regrese?

Jednoduchá lineární regrese je regresní technika, při které má nezávislá proměnná lineární vztah se závislou proměnnou. Přímka v diagramu je nejvhodnější. Hlavním cílem jednoduché lineární regrese je vzít v úvahu dané datové body a vykreslit nejvhodnější přímku tak, aby co nejlépe zapadala do modelu.

Než přejdeme k tomu, jak algoritmus lineární regrese funguje, podívejme se na několik důležitých terminologií jednoduché lineární regrese.

Terminologie lineární regrese

Před přechodem k algoritmu lineární regrese je důležité znát následující terminologie.

co je kontextový filtr v tablo

Nákladová funkce

Nejvhodnější přímka může být založena na lineární rovnici uvedené níže.

  • Závislá proměnná, která má být předpovězena, je označena Y.
  • Přímka, která se dotýká osy y, je označena úsečkou b0.
  • bjedenje sklon přímky, x představuje nezávislé proměnné, které určují předpověď Y.
  • Chyba ve výsledné predikci je označena e.

Funkce nákladů poskytuje nejlepší možné hodnoty pro b0a bjedenpro vytvoření nejvhodnější čáry pro datové body. Děláme to převedením tohoto problému na problém s minimalizací, abychom získali nejlepší hodnoty pro b0a bjeden. Chyba je v tomto problému minimalizována mezi skutečnou hodnotou a predikovanou hodnotou.

Zvolili jsme funkci výše, abychom minimalizovali chybu. Rozdělíme rozdíl chyb a spočítáme chybu ve všech datových bodech, což je rozdělení mezi celkový počet datových bodů. Potom vyprodukovaná hodnota poskytuje průměrnou čtvercovou chybu ve všech datových bodech.

Je také známá jako MSE (Mean Squared Error) a měníme hodnoty b0a bjedentakže hodnota MSE je vypořádána na minimu.

Přechodový sestup

Další důležitou terminologií pro pochopení lineární regrese je klesání. Jedná se o způsob aktualizace b0a bjedenhodnoty ke snížení MSE. Myšlenkou toho je pokračovat v iteraci b0a bjedenhodnoty, dokud MSE nesnížíme na minimum.

Chcete-li aktualizovat b0a bjeden, vezmeme přechody z nákladové funkce. Abychom našli tyto přechody, vezmeme částečné derivace s ohledem na b0a bjeden. Tyto parciální derivace jsou přechody a používají se k aktualizaci hodnot b0a bjeden.

Menší rychlost učení trvá blíže k minimu, ale trvá to více času a v případě větší rychlosti učení. Čas je kratší, ale existuje možnost překročení minimální hodnoty. Nyní, když jsme se seznámili s terminologií lineární regrese, pojďme se podívat na několik výhod a nevýhod lineární regrese pro strojové učení.

Výhody a nevýhody

Výhody Nevýhody
Lineární regrese funguje výjimečně dobře pro lineárně oddělitelná dataPředpoklad linearity mezi závislými a nezávislými proměnnými
Snadnější implementace, interpretace a efektivní školeníTo je často docela náchylné k hluku a overfitting
Vyřeší to docela dobře pomocí technik dimenzionální redukce, regularizace a křížové validaceLineární regrese je velmi citlivá na odlehlé hodnoty
Další výhodou je extrapolace nad rámec konkrétní datové sadyJe náchylný k multicollinearity

Případy použití lineární regrese

  • Prognózy prodeje

  • Analýza rizik

  • Aplikace pro bydlení Předvídat ceny a další faktory

    příklad java pole objektů
  • Finanční aplikace pro predikci cen akcií, hodnocení investic atd.

Základní myšlenkou lineární regrese je najít vztah mezi závislou a nezávislou proměnnou. Používá se k získání nejvhodnější linie, která by předpověděla výsledek s nejmenší chybou. Můžeme použít lineární regrese v jednoduchých situacích v reálném životě, jako je predikce skóre SAT s ohledem na počet hodin studia a další rozhodující faktory.

S ohledem na to se podívejme na případ použití.

Případ použití - implementace lineární regrese

Proces probíhá v následujících krocích:

  1. Načítání dat
  2. Zkoumání dat
  3. Krájení dat
  4. Trénujte a rozdělte data
  5. Generovat model
  6. Vyhodnoťte přesnost

Pojďme se dostat do podrobností každého z kroků k implementaci lineární regrese.

1. Načítání dat

Můžeme začít se základním souborem dat o cukrovce, který je již přítomen v modulu datových sad sklearn (scikit-learn), abychom mohli zahájit naši cestu lineární regresí.

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

Výstup:

2. Průzkum dat

Po dokončení načítání dat můžeme začít zkoumat jednoduše kontrolou štítků pomocí následujícího kódu.

print (disease.keys ())

Výstup:

Výše uvedený kód poskytuje všechny popisky z datové sady, poté můžeme rozdělit data tak, abychom na konci mohli vykreslit řádek. Použijeme také všechny datové body, prozatím rozdělíme sloupec 2 z dat.

importovat numpy jako np disease_X = disease.data [:, np.newaxis, 2] tisk (nemoc_X)

Výstup:

Po tomto kroku rozdělíme data do vlaku a testovací sady.

java double na int kolo

3. Rozdělení dat

nemoc_X_train = nemoc_X [: - 30] nemoc_X_test = nemoc_X [-20:] nemoc_Y_train = nemoc.target [: - 30] nemoc_Y_test = nemoc.target [-20:]

Další část zahrnuje generování modelu, který bude zahrnovat import linear_model z sklearn.

4. Generování modelu

ze sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (disease_X_train, disease_Y_train) y_predict = reg.predict (disease_X_test)

K vyhodnocení přesnosti modelu použijeme střední kvadratickou chybu ze scikit-learn.

5. Hodnocení

přesnost = průměrná_squared_error (nemoc_Y_test, y_predict,) tisk (přesnost) váhy = reg.coef_ intercept = reg.intercept_ tisk (váhy, intercept)

Výstup:

Aby bylo jasnější, jak vypadají datové body v grafu, nakreslíme také grafy.

importovat matplotlib.pyplot jako plt plt.scatter (nemoci_X_test, nemoci_Y_test) plt.plot (nemoci_X_test, y_predict) plt.show ()

Výstup:

Abychom v tomto scénáři získali přesnější model, můžeme místo celého sloupce 2 použít celá data. To by poskytlo přesnost, jak je uvedeno níže:

# proveďte malou změnu ve výše uvedeném kódu a odstraňte kód vykreslování, abyste předešli chybám disease_X = disease.data

Výstup:

Tím se dostáváme na konec tohoto článku, kde jsme se dozvěděli o lineární regrese pro strojové učení. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud vám tento článek o „Lineární regrese pro strojové učení“ připadá relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Lineární regrese pro strojové učení“ a náš tým vám rád odpoví.