Com implementar la regressió lineal per a l'aprenentatge automàtic?



Aquest article tracta el concepte de regressió lineal per a l’aprenentatge automàtic amb diverses terminologies i un cas d’ús per implementar la regressió lineal.

El focus de gira al voltant de les variables d’entrada i sortida mitjançant un algorisme per predir el resultat. Si apareix una nova variable d’entrada. L 'algorisme de regressió lineal a és una tècnica d’aprenentatge supervisat per aproximar la funció de mapatge per obtenir les millors prediccions. En aquest article, coneixerem la regressió lineal per a l’aprenentatge automàtic. Els següents temes es tracten en aquest bloc.

Què és la regressió?

L’objectiu principal de la regressió és la construcció d’un model eficient per predir els atributs dependents a partir d’un munt de variables d’atribut. Un problema de regressió és quan la variable de sortida és real o és un valor continu, és a dir, salari, pes, àrea, etc.





També podem definir la regressió com un mitjà estadístic que s’utilitza en aplicacions com l’habitatge, la inversió, etc. S’utilitza per predir la relació entre una variable dependent i un munt de variables independents. Vegem diversos tipus de tècniques de regressió.

com s'utilitza la classe de l'escàner

exemple-regressió lineal en aprenentatge automàtic - edureka

Tipus de regressió

Els següents són tipus de regressió.



  1. Regressió lineal simple
  2. Regressió polinòmica
  3. Suporta la regressió vectorial
  4. Regressió de l'arbre de decisions
  5. Regressió forestal aleatòria

Regressió lineal simple

Una de les tècniques de regressió més interessants i habituals és la regressió lineal simple. En això, es prediu el resultat d’una variable dependent basada en les variables independents, la relació entre les variables és lineal. Per tant, la paraula regressió lineal.

Regressió polinòmica

En aquesta tècnica de regressió, transformem els trets originals en trets polinòmics d’un grau determinat i després realitzem una regressió.

Suporta la regressió vectorial

Per a per regressió o SVR, identifiquem un hiperplà amb marge màxim de manera que el nombre màxim de punts de dades es trobi dins d’aquests marges. És força similar a l’algorisme de classificació de màquines vectorials de suport.



Regressió de l'arbre de decisions

A es pot utilitzar tant per a la regressió com per a . En el cas de regressió, utilitzem l'algorisme ID3 (dicotomitzador iteratiu 3) per identificar el node de divisió reduint la desviació estàndard.

Regressió forestal aleatòria

En la regressió forestal aleatòria, reunim les prediccions de diverses regressions d’arbres de decisions. Ara que coneixem els diferents tipus de regressió, fem una ullada a la regressió lineal simple en detall.

Què és la regressió lineal?

La regressió lineal simple és una tècnica de regressió en què la variable independent té una relació lineal amb la variable dependent. La línia recta del diagrama és la línia més adequada. L’objectiu principal de la regressió lineal simple és considerar els punts de dades donats i traçar la millor línia d’ajust per adaptar-se al model de la millor manera possible.

Abans de passar al funcionament de l'algorisme de regressió lineal, donem una ullada a algunes terminologies importants de la regressió lineal simple.

Terminologies de regressió lineal

És important conèixer les terminologies següents abans de passar a l'algorisme de regressió lineal.

Funció de costos

La millor línia d’ajust es pot basar en l’equació lineal que es mostra a continuació.

  • La variable dependent que es vol predir es denota amb Y.
  • Una línia que toca l’eix y es denota per la intersecció b0.
  • b1és el pendent de la línia, x representa les variables independents que determinen la predicció de Y.
  • L’error en la predicció resultant es denota per e.

La funció de cost proporciona els millors valors possibles per a b0i b1per obtenir la millor línia d’ajust dels punts de dades. Ho fem convertint aquest problema en un problema de minimització per obtenir els millors valors de b0i b1. En aquest problema, l’error es minimitza entre el valor real i el valor previst.

Escollim la funció anterior per minimitzar l’error. Es quadra la diferència d'error i se suma l'error en tots els punts de dades, la divisió entre el nombre total de punts de dades. A continuació, el valor produït proporciona l'error quadrat mitjà en tots els punts de dades.

També es coneix com MSE (Mean Squared Error), i canviem els valors de b0i b1de manera que el valor MSE es liquidi com a mínim.

Descens de gradient

La següent terminologia important per entendre la regressió lineal és baixada de gradient. És un mètode d'actualització b0i b1valors per reduir el MSE. La idea darrere d’això és continuar iterant el b0i b1fins que reduïm el MSE al mínim.

Per actualitzar b0i b1, prenem gradients de la funció de costos. Per trobar aquests gradients, prenem derivades parcials respecte a b0i b1. Aquestes derivades parcials són els gradients i s’utilitzen per actualitzar els valors de b0i b1.

Una taxa d’aprenentatge més petita s’acosta al mínim, però requereix més temps i en cas de taxa d’aprenentatge més gran. El temps trigat és més breu, però hi ha la possibilitat de superar el valor mínim. Ara que ja hem acabat amb les terminologies de regressió lineal, donem un cop d’ull a alguns avantatges i desavantatges de la regressió lineal per a l’aprenentatge automàtic.

Avantatges i inconvenients

Avantatges Desavantatges
La regressió lineal té un rendiment excepcionalment bo per a dades separables linealmentAssumpció de linealitat entre variables dependents i independents
Més fàcil d’implementar, interpretar i entrenar eficientmentSovint és força propens al soroll i a l’adequació
Maneja prou bé l’adequació mitjançant tècniques de reducció dimensional, regularització i validació creuadaLa regressió lineal és força sensible als valors atípics
Un avantatge més és l'extrapolació més enllà d'un conjunt de dades específicÉs propensa a la multicolinealitat

Casos d'ús de regressió lineal

  • Previsió de vendes

  • Anàlisi de riscos

  • Aplicacions d’habitatge Per predir els preus i altres factors

  • Aplicacions de finançament per predir preus de valors, avaluació d’inversions, etc.

La idea bàsica darrere de la regressió lineal és trobar la relació entre les variables dependents i independents. S’utilitza per obtenir la millor línia d’ajust que prediria el resultat amb el mínim error. Podem utilitzar la regressió lineal en situacions de la vida real senzilles, com predir les puntuacions SAT respecte al nombre d’hores d’estudi i altres factors decisius.

Amb això en ment, fem un cop d'ull a un cas d'ús.

Cas d’ús: implementació de la regressió lineal

El procés té lloc en els passos següents:

  1. Carregant les dades
  2. Exploració de les dades
  3. Tallar les dades
  4. Entrenar i dividir dades
  5. Generar el model
  6. Avalueu la precisió

Entrem en els detalls de cadascun dels passos per implementar la regressió lineal.

1. Carregant les dades

Podem començar amb el conjunt de dades bàsiques sobre diabetis que ja està present al mòdul de conjunts de dades sklearn (scikit-learn) per començar el nostre viatge amb regressió lineal.

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

Sortida:

2. Exploració de les dades

Un cop hàgim acabat de carregar les dades, podem començar a explorar simplement comprovant les etiquetes mitjançant el codi següent.

imprimir (disease.keys ())

Sortida:

El codi anterior proporciona totes les etiquetes del conjunt de dades, després d'això, podem tallar les dades de manera que puguem traçar la línia al final. També utilitzarem tots els punts de dades, de moment, tallarem la columna 2 de les dades.

espais de noms en c ++
importa numpy com a np disease_X = disease.data [:, np.newaxis, 2] imprimeix (disease_X)

Sortida:

Després d'aquest pas, dividirem les dades en tren i conjunt de proves.

3. Dividir les dades

disease_X_train = disease_X [: - 30] disease_X_test = disease_X [-20:] disease_Y_train = disease.target [: - 30] disease_Y_test = disease.target [-20:]

La següent part consisteix a generar el model, que inclourà la importació de linear_model des de sklearn.

4. Generació del model

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

Per avaluar la precisió del model, utilitzarem l’error quadrat mitjà de l’escikit-learn.

5. Avaluació

precision = mean_squared_error (disease_Y_test, y_predict,) print (precision) pesos = reg.coef_ intercept = reg.intercept_ print (pesos, intercept)

Sortida:

Per tenir més clar l'aspecte dels punts de dades al gràfic, traçem-los també.

import matplotlib.pyplot com plt plt.scatter (disease_X_test, disease_Y_test) plt.plot (disease_X_test, y_predict) plt.show ()

Sortida:

Per obtenir un model més precís en aquest escenari, podem utilitzar totes les dades en lloc de només la columna 2. Això donaria una precisió com es mostra a continuació:

#feu un petit canvi al codi anterior i elimineu el codi de traçat per evitar errors disease_X = disease.data

Sortida:

Això ens porta al final d’aquest article, on hem après sobre la regressió lineal per a l’aprenentatge automàtic. Espero que tingueu clar tot el que us ha estat compartit en aquest tutorial.

Si heu trobat rellevant aquest article sobre 'Regressió lineal per a l'aprenentatge automàtic', consulteu una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món.

Si teniu alguna pregunta, no dubteu a fer-vos totes les vostres preguntes a la secció de comentaris de 'Regressió lineal per a l'aprenentatge automàtic' i el nostre equip estarà encantat de respondre-us.