Totul despre regresia liniară folosind Scikit

Publicat: 2022-09-08

În practică, există doi algoritmi primari de învățare automată supravegheați: 1. Clasificare și 2. Regresie — Clasificarea este folosită pentru a prezice ieșiri discrete, în timp ce regresia este utilizată pentru a prezice valori continue.

În algebră, liniaritatea denotă o relație dreaptă sau liniară între mai multe variabile. O reprezentare literală a acestei relații ar fi o linie dreaptă.

Înscrieți-vă la cursul de învățare automată de la cele mai bune universități din lume. Câștigă programe de master, Executive PGP sau Advanced Certificate pentru a-ți accelera cariera.

Regresia liniară este un algoritm de învățare automată care este executat sub supraveghere. Este un proces de căutare și cartografiere a unei linii potrivite pentru toate punctele de date disponibile pe diagrama menționată. Este un model de regresie care ajută la estimarea valorii dintre o variabilă dependentă și una independentă, totul cu ajutorul unei linii drepte.

Modelele de regresie liniară ajută la construirea unei relații liniare între aceste variabile independente, care au cele mai mici costuri, pe baza variabilelor dependente date.

În matematică, avem trei moduri care sunt folosite pentru a descrie un model de regresie liniară. Acestea sunt după cum urmează (y fiind variabila dependentă):

  • y = intersecție + (pantă x) + eroare
  • y = constantă + (coeficientx) + eroare
  • y = a + bx + e

Cuprins

De ce este esențială regresia liniară?

Modelele de regresie liniară sunt comparativ mai simple și mai ușor de utilizat. Ei fac procesul de interpretare a datelor/formulelor matematice capabil să genereze predicții relativ mai simplu. Regresia liniară poate fi instrumentală în diverse domenii (de exemplu, studii academice sau afaceri).

Modelul de regresie liniară este singura metodă dovedită științific pentru a prezice cu exactitate viitorul. Este folosit în diverse științe de la mediu, comportamentale, sociale etc.

Proprietățile acestor modele sunt foarte bine înțelese și, prin urmare, ușor de antrenat, deoarece este o procedură statistică stabilită de mult timp. De asemenea, facilitează transformarea unor seturi abundente de date brute în informații care pot fi acționate.

Ipoteze cheie ale regresiei liniare efective

  • Numărul de cazuri valide, media și abaterea standard ar trebui luate în considerare pentru fiecare variabilă.
  • Pentru fiecare model : trebuie luate în considerare coeficienții de regresie, matricea de corelație, corelațiile parțiale și parțiale, eroarea standard a estimării, tabelul de analiză a varianței, valorile prezise și reziduurile.
  • Diagrame : sunt luate în considerare diagramele de dispersie, histogramele, diagramele parțiale și diagramele de probabilitate normală.
  • Date : Trebuie să se asigure că variabilele dependente și independente sunt cantitative. Variabilele categoriale nu trebuie recodificate în variabile binare sau fictive sau alte tipuri de variabile de contrast.
  • Alte ipoteze : Pentru fiecare valoare a unei variabile independente date, avem nevoie de o distribuție normală a variabilei dependente. Varianta distribuției date a variabilei dependente ar trebui, de asemenea, menținută constantă pentru fiecare valoare a variabilei independente. Relația dintre fiecare variabilă independentă dependentă ar trebui să fie liniară. În plus, toate observațiile ar trebui să fie independente.

Iată un exemplu existent de regresie liniară simplă :

Setul de date din exemplu conține informații referitoare la situațiile meteorologice globale ale fiecărei zile pentru o anumită perioadă. Această listă detaliată de informații include factori precum precipitații, ninsori, temperaturi, viteza vântului, furtuni sau alte posibile condiții meteorologice.

Această problemă își propune să folosească modelul de regresie liniară simplă pentru a prezice temperatura maximă, luând ca intrare temperatura minimă.

În primul rând, toate bibliotecile trebuie importate.

import panda ca pd

import numpy ca np

import matplotlib.pyplot ca plt

import seaborn ca seabornInstance

din sklearn.model_selection import train_test_split

din sklearn.linear_model import LinearRegression

din valorile de import sklearn

%matplotlib inline

Pentru a importa următorul set de date folosind panda, trebuie aplicată următoarea comandă:

set de date = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

Pentru a verifica numărul de rânduri și coloane prezente în setul de date pentru a explora datele, trebuie aplicată următoarea comandă:

set de date.forme

Ieșirea primită ar trebui să fie (119040, 31), ceea ce înseamnă că datele conțin 119040 de rânduri și 31 de coloane.

Pentru a vedea detaliile statistice ale setului de date, se poate folosi următoarea comandă:

descrie():

dataset.describe()

Iată un alt exemplu care va urmări să demonstreze cum se poate prelua și utiliza diferite biblioteci Python care urmează să fie utilizate pentru aplicarea regresiei liniare la seturi de date date:

1. Importul tuturor bibliotecilor necesare

import numpy ca np

import panda ca pd

import seaborn ca sns

import matplotlib.pyplot ca plt

de la sklearn import preprocessing, svm

din sklearn.model_selection import train_test_split

din sklearn.linear_model import LinearRegression

2. Citirea setului de date

cd C:\Utilizatori\Dev\Desktop\Kaggle\Salinity

# Schimbarea locației de citire a fișierului în locația setului de date

df = pd.read_csv('bottle.csv')

df_binary = df[['Salnty', 'T_degC']]

# Luând numai cele două atribute selectate din setul de date

df_binary.columns = ['Sal', 'Temp']

# Redenumirea coloanelor pentru scrierea mai ușoară a codului

df_binary.head()

# Afișează doar primele rânduri împreună cu numele coloanelor

2. Explorarea dispersării datelor

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, order = 2, ci = None)

# Trasarea împrăștierii datelor

3. Curățarea datelor

# Eliminarea NaN sau numerele de intrare lipsă

df_binary.fillna(method ='ffill', inplace = True)

4. Antrenarea modelului

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# Separarea datelor în variabile independente și dependente

# Convertirea fiecărui cadru de date într-o matrice numpy

# deoarece fiecare cadru de date conține o singură coloană

df_binary.dropna(inplace = True)

# Eliminarea oricăror rânduri cu valori Nan

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0,25)

# Împărțirea datelor în date de instruire și testare

regr = LinearRegression()

regr.fit(X_train, y_train)

print(scor regr.(X_test, y_test))

5. Explorarea rezultatelor

y_pred = regr.predict(X_test)

plt.scatter(X_test, y_test, culoare ='b')

plt.plot(X_test, y_pred, culoare ='k')

plt.show()

# Dispersare de date a valorilor prezise

6. Lucrul cu un set de date mai mic

df_binary500 = df_binary[:][:500]

# Selectarea primelor 500 de rânduri de date

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary500,

ordine = 2, ci = Nici unul)

Bloguri populare de învățare automată și inteligență artificială

IoT: istorie, prezent și viitor Tutorial de învățare automată: Învățați ML Ce este algoritmul? Simplu și Ușor
Salariu inginer robotic în India: toate rolurile O zi din viața unui inginer de învățare automată: ce fac ei? Ce este IoT (Internet of Things)
Permutare vs combinație: diferența dintre permutare și combinație Top 7 tendințe în inteligența artificială și învățarea automată Învățare automată cu R: tot ce trebuie să știți

Dacă sunteți interesat să învățați învățarea automată cu drepturi depline, vă recomandăm să vă alăturați masterului upGrad în învățare automată și inteligență artificială . Programul de 20 de luni este oferit în asociere cu IIIT Bangalore și Liverpool John Moores University. Este conceput pentru a vă ajuta să vă dezvoltați competențe în limbaje de programare relevante pentru industrie, instrumente și biblioteci precum Python, Keras, Tensor Flow, MySql, Flask, Kubernetes etc.

Programul vă poate ajuta să obțineți concepte avansate de știință a datelor prin experiență practică și dezvoltarea abilităților. În plus, beneficiați de avantajul upGrad cu acces la consiliere de carieră la 360°, un grup de rețele de peste 40.000 de cursanți plătiți și o mulțime de oportunități de colaborare!

Rezervă-ți locul astăzi!

Pentru ce este folosită regresia liniară

Acest tip de analiză este utilizat în general pentru a prezice valoarea unei variabile pe baza unei alte variabile cunoscute. Variabilele folosite pentru a afla valoarea celeilalte se numesc variabile dependente, respectiv variabile independente.

Cum se instalează scikit Learn?

La început, versiunea de regresie liniară Scikit Learn furnizată de sistemul de operare în cauză sau de distribuția Python trebuie instalată. Acesta este cel mai rapid pentru persoanele care au această opțiune disponibilă. Apoi trebuie instalată versiunea lansată oficial și cea mai recentă actualizată.

Cum funcționează scikit learning?

Regresia liniară Scikit Learn oferă o serie de algoritmi supravegheați și nesupravegheați printr-o interfață de python, care este întotdeauna consecventă. Este licențiat în baza unei licențe BSD permise. Este distribuit sub diverși operatori Linux. Utilizarea acestor algoritmi este încurajată pe scară largă în afaceri și în educație.