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ó?
- Tipus de regressió
- Què és la regressió lineal?
- Terminologies de regressió lineal
- Avantatges i desavantatges de la regressió lineal
- Casos d'ús de regressió lineal
- Cas d’ús: implementació de regressió lineal
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
Tipus de regressió
Els següents són tipus de regressió.
- Regressió lineal simple
- Regressió polinòmica
- Suporta la regressió vectorial
- Regressió de l'arbre de decisions
- 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 linealment | Assumpció de linealitat entre variables dependents i independents |
Més fàcil d’implementar, interpretar i entrenar eficientment | Sovint é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ó creuada | La 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:
- Carregant les dades
- Exploració de les dades
- Tallar les dades
- Entrenar i dividir dades
- Generar el model
- 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.