Regresión lineal múltiple y por pasos [ejemplo paso a paso]
Regresión lineal simple en R
La regresión lineal responde a una pregunta sencilla: ¿se puede medir una relación exacta entre una variable objetivo y un conjunto de predictores?
El modelo probabilístico más simple es el modelo de línea recta:
donde
- y = variable dependiente
- x = variable independiente
- = componente de error aleatorio
- = interceptar
- = Coeficiente de x
Consideremos la siguiente gráfica:
La ecuación es es la intersección. Si x es igual a 0, y será igual a la intersección, 4.77. es la pendiente de la recta. Indica en qué proporción varía y cuando varía x.
Para estimar los valores óptimos de y , utilizas un método llamado Mínimos cuadrados ordinarios (OLS). Este método intenta encontrar los parámetros que minimicen la suma de los errores al cuadrado, es decir, la distancia vertical entre los valores de y predichos y los valores de y reales. La diferencia se conoce como término de error.
Antes de estimar el modelo, puede determinar si una relación lineal entre y y x es plausible trazando un diagrama de dispersión.
Gráfico de dispersión
Usaremos un conjunto de datos muy simple para explicar el concepto de regresión lineal simple. Importaremos las alturas y pesos promedio de las mujeres estadounidenses. El conjunto de datos contiene 15 observaciones. Quiere medir si las alturas están correlacionadas positivamente con los pesos.
library(ggplot2) path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv' df <-read.csv(path) ggplot(df,aes(x=height, y = weight))+ geom_point()
Salida:
El diagrama de dispersión sugiere una tendencia general de y a aumentar a medida que aumenta x. En el siguiente paso, medirás cuánto aumenta por cada .
Estimaciones de mínimos cuadrados
En una regresión MCO simple, el cálculo de y es sencillo. El objetivo no es mostrar la derivación en este tutorial. Sólo escribirás la fórmula.
Quieres estimar:
El objetivo de la regresión MCO es minimizar la siguiente ecuación:
donde
es el valor real y es el valor predicho.
La solución para is
Tenga en cuenta que significa el valor promedio de x
La solución para is
En R, puedes usar las funciones cov() y var() para estimar y puedes usar la función mean() para estimar
beta <- cov(df$height, df$weight) / var (df$height) beta
Salida:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height) alpha
Salida:
## [1] -87.51667
El coeficiente beta implica que por cada altura adicional, el peso aumenta en 3.45.
Estimar manualmente una ecuación lineal simple no es lo ideal. R proporciona una función adecuada para estimar estos parámetros. Verás esta función en breve. Antes de eso, presentaremos cómo calcular manualmente un modelo de regresión lineal simple. En su trayectoria como científico de datos, apenas o nunca estimará un modelo lineal simple. En la mayoría de las situaciones, las tareas de regresión se realizan con muchos estimadores.
Regresión lineal múltiple en R
Las aplicaciones más prácticas del análisis de regresión emplean modelos que son más complejos que el simple modelo de línea recta. El modelo probabilístico que incluye más de una variable independiente se denomina modelos de regresión múltiple. La forma general de este modelo es:
En notación matricial, puedes reescribir el modelo:
La variable dependiente y ahora es función de k variables independientes. El valor del coeficiente. determina la contribución de la variable independiente y .
Introducimos brevemente la suposición que hicimos sobre el error aleatorio. de la OLS:
- Media igual a 0
- Varianza igual a
- Distribución normal
- Los errores aleatorios son independientes (en un sentido probabilístico)
Necesitas resolver para , el vector de coeficientes de regresión que minimizan la suma de los errores cuadrados entre los valores de y predichos y reales.
La solución de forma cerrada es:
con:
- indica el transponer de la matriz X
- indica el matriz invertible
Usamos el conjunto de datos mtcars. Ya está familiarizado con el conjunto de datos. Nuestro objetivo es predecir la milla por galón a partir de un conjunto de características.
Variables continuas en R
Por ahora, solo utilizaremos las variables continuas y dejaremos de lado las características categóricas. La variable am es una variable binaria que toma el valor 1 si la transmisión es manual y 0 para los autos automáticos; vs también es una variable binaria.
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
Salida:
## Observations: 32 ## Variables: 6 ## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.... ## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1... ## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ... ## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9... ## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3... ## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
Puede utilizar la función lm() para calcular los parámetros. La sintaxis básica de esta función es:
lm(formula, data, subset) Arguments: -formula: The equation you want to estimate -data: The dataset used -subset: Estimate the model on a subset of the dataset
Recuerde que una ecuación tiene la siguiente forma
en R
- El símbolo = se reemplaza por ~
- Cada x se reemplaza por el nombre de la variable.
- Si desea eliminar la constante, agregue -1 al final de la fórmula
Ejemplo:
Quiere estimar el peso de las personas en función de su altura e ingresos. La ecuación es
La ecuación en R se escribe de la siguiente manera:
y ~ X1+ X2+…+Xn # Con intersección
Entonces para nuestro ejemplo:
- Peso ~ altura + ingresos
Su objetivo es estimar la milla por galón basándose en un conjunto de variables. La ecuación a estimar es:
Estimará su primera regresión lineal y almacenará el resultado en el objeto ajustado.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
Explicación del código
- modelo <- mpg ~. disp + hp + drat+ wt: almacena el modelo para estimar
- lm(modelo, df): Estima el modelo con el marco de datos df
## ## Call: ## lm(formula = model, data = df) ## ## Coefficients: ## (Intercept) disp hp drat wt ## 16.53357 0.00872 -0.02060 2.01577 -4.38546 ## qsec ## 0.64015
El resultado no proporciona suficiente información sobre la calidad del ajuste. Puede acceder a más detalles, como la importancia de los coeficientes, el grado de libertad y la forma de los residuos, con la función summary().
summary(fit)
Salida:
## return the p-value and coefficient ## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5404 -1.6701 -0.4264 1.1320 5.4996 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 16.53357 10.96423 1.508 0.14362 ## disp 0.00872 0.01119 0.779 0.44281 ## hp -0.02060 0.01528 -1.348 0.18936 ## drat 2.01578 1.30946 1.539 0.13579 ## wt -4.38546 1.24343 -3.527 0.00158 ** ## qsec 0.64015 0.45934 1.394 0.17523 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.558 on 26 degrees of freedom ## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199 ## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10
Inferencia del resultado de la tabla anterior
- La tabla anterior demuestra que existe una fuerte relación negativa entre el peso y el kilometraje y una relación positiva con el kilometraje.
- Sólo la variable peso tiene un impacto estadístico en las mpg. Recuerde, para probar una hipótesis en estadística, usamos:
- H0: Sin impacto estadístico
- H3: El predictor tiene un impacto significativo en y
- Si el valor de p es inferior a 0.05, indica que la variable es estadísticamente significativa
- R cuadrado ajustado: Varianza explicada por el modelo. En su modelo, el modelo explica el 82 por ciento de la varianza de y. R al cuadrado siempre está entre 0 y 1. Cuanto más alto, mejor
Puede ejecutar el ANOVA prueba para estimar el efecto de cada característica en las varianzas con la función anova().
anova(fit)
Salida:
## Analysis of Variance Table ## ## Response: mpg ## Df Sum Sq Mean Sq F value Pr(>F) ## disp 1 808.89 808.89 123.6185 2.23e-11 *** ## hp 1 33.67 33.67 5.1449 0.031854 * ## drat 1 30.15 30.15 4.6073 0.041340 * ## wt 1 70.51 70.51 10.7754 0.002933 ** ## qsec 1 12.71 12.71 1.9422 0.175233 ## Residuals 26 170.13 6.54 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Una forma más convencional de estimar el rendimiento del modelo es mostrar el residual frente a diferentes medidas.
Puede utilizar la función plot() para mostrar cuatro gráficos:
– Valores residuales versus valores ajustados
– Gráfico Q-Q normal: cuartil teórico versus residuos estandarizados
– Ubicación de escala: valores ajustados frente a raíces cuadradas de los residuos estandarizados
– Residuos vs Apalancamiento: Apalancamiento vs Residuos estandarizados
Agrega el código par(mfrow=c(2,2)) antes de plot(fit). Si no agrega esta línea de código, R le solicita que presione el comando Intro para mostrar el siguiente gráfico.
par(mfrow=(2,2))
Explicación del código
- (mfrow=c(2,2)): devuelve una ventana con los cuatro gráficos uno al lado del otro.
- Los primeros 2 suman el número de filas.
- El segundo 2 suma el número de columnas.
- Si escribes (mfrow=c(3,2)): crearás una ventana de 3 filas y 2 columnas.
plot(fit)
Salida:
La fórmula lm() devuelve una lista que contiene mucha información útil. Puedes acceder a ellos con el objeto fit que has creado, seguido del signo $ y la información que deseas extraer.
– coeficientes: `fit$coeficientes`
– residuales: `fit$residuals`
– valor ajustado: `fit$fitted.values`
Regresión de factores en R
En la última estimación del modelo, se hace una regresión de mpg únicamente en variables continuas. Es sencillo agregar variables factoriales al modelo. Agrega la variable am a su modelo. Es importante asegurarse de que la variable sea un nivel de factor y no continua.
df <- mtcars % > % mutate(cyl = factor(cyl), vs = factor(vs), am = factor(am), gear = factor(gear), carb = factor(carb)) summary(lm(model, df))
Salida:
## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5087 -1.3584 -0.0948 0.7745 4.6251 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 23.87913 20.06582 1.190 0.2525 ## cyl6 -2.64870 3.04089 -0.871 0.3975 ## cyl8 -0.33616 7.15954 -0.047 0.9632 ## disp 0.03555 0.03190 1.114 0.2827 ## hp -0.07051 0.03943 -1.788 0.0939 . ## drat 1.18283 2.48348 0.476 0.6407 ## wt -4.52978 2.53875 -1.784 0.0946 . ## qsec 0.36784 0.93540 0.393 0.6997 ## vs1 1.93085 2.87126 0.672 0.5115 ## am1 1.21212 3.21355 0.377 0.7113 ## gear4 1.11435 3.79952 0.293 0.7733 ## gear5 2.52840 3.73636 0.677 0.5089 ## carb2 -0.97935 2.31797 -0.423 0.6787 ## carb3 2.99964 4.29355 0.699 0.4955 ## carb4 1.09142 4.44962 0.245 0.8096 ## carb6 4.47757 6.38406 0.701 0.4938 ## carb8 7.25041 8.36057 0.867 0.3995 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.833 on 15 degrees of freedom ## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779 ## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124
R utiliza el primer nivel de factor como grupo base. Debe comparar los coeficientes del otro grupo con los del grupo base.
Regresión lineal por pasos en R
La última parte de este tutorial trata sobre la regresión por pasos Algoritmo. El propósito de este algoritmo es agregar y eliminar candidatos potenciales en los modelos y conservar aquellos que tienen un impacto significativo en la variable dependiente. Este algoritmo es significativo cuando el conjunto de datos contiene una lista grande de predictores. No es necesario agregar y eliminar manualmente las variables independientes. La regresión por pasos está diseñada para seleccionar los mejores candidatos para ajustarse al modelo.
Veamos en acción cómo funciona. Utilice el conjunto de datos mtcars con las variables continuas solo para ilustración pedagógica. Antes de comenzar el análisis, es bueno establecer variaciones entre los datos con una matriz de correlación. La biblioteca GGally es una extensión de ggplot2.
La biblioteca incluye diferentes funciones para mostrar estadísticas resumidas como correlación y distribución de todas las variables en una matriz. Usaremos la función ggscatmat, pero puedes consultar la viñeta para obtener más información sobre la biblioteca GGally.
La sintaxis básica de ggscatmat() es:
ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson") arguments: -df: A matrix of continuous variables -columns: Pick up the columns to use in the function. By default, all columns are used -corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula
Muestra la correlación de todas las variables y decide cuáles serán las mejores candidatas para el primer paso de la regresión gradual. Existen algunas correlaciones sólidas entre las variables y la variable dependiente, mpg.
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
Salida:
Ejemplo de regresión por pasos
La selección de variables es una parte importante para ajustar un modelo. La regresión por pasos realizará el proceso de búsqueda automáticamente. Para estimar cuántas opciones posibles hay en el conjunto de datos, se calcula donde k es el número de predictores. La cantidad de posibilidades crece con el número de variables independientes. Por eso es necesario realizar una búsqueda automática.
Necesita instalar el paquete olsrr desde CRAN. El paquete aún no está disponible en Anaconda. Por lo tanto, lo instalas directamente desde la línea de comando:
install.packages("olsrr")
Puede trazar todos los subconjuntos de posibilidades con los criterios de ajuste (es decir, R cuadrado, R cuadrado ajustado, criterios bayesianos). El modelo con los criterios AIC más bajos será el modelo final.
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
Explicación del código
- mpg ~.: Construir el modelo a estimar
- lm(modelo, df): ejecuta el modelo OLS
- ols_all_subset(ajustar): Construir las gráficas con la información estadística relevante
- trama (prueba): Trazar los gráficos
Salida:
Los modelos de regresión lineal utilizan el prueba t para estimar el impacto estadístico de una variable independiente sobre la variable dependiente. Los investigadores fijaron el umbral máximo en el 10 por ciento; los valores más bajos indican un vínculo estadístico más fuerte. La estrategia de regresión por pasos se construye en torno a esta prueba para agregar y eliminar candidatos potenciales. El algoritmo funciona de la siguiente manera:
- Paso 1: Haga una regresión de cada predictor en y por separado. Es decir, haga una regresión x_1 en y, x_2 en y a x_n. Guarde el valor de p y mantener el regresor con un valor p inferior a un umbral definido (0.1 por defecto). Los predictores con una significancia inferior al umbral se agregarán al modelo final. Si ninguna variable tiene un valor p inferior al umbral de entrada, entonces el algoritmo se detiene y tendrá su modelo final solo con una constante.
- Paso 2:Utilice el predictor con el valor p más bajo y agregue una variable por separado. Realice una regresión de una constante, el mejor predictor del paso uno y una tercera variable. Agregue al modelo por pasos los nuevos predictores con un valor inferior al umbral de entrada. Si ninguna variable tiene un valor p inferior a 0.1, el algoritmo se detiene y tendrá su modelo final con un solo predictor. Realice una regresión del modelo por pasos para verificar la importancia de los mejores predictores del paso 1. Si es superior al umbral de eliminación, lo mantenga en el modelo por pasos. De lo contrario, lo excluya.
- Paso 3:Replica el paso 2 en el nuevo mejor modelo escalonado. El algoritmo agrega predictores al modelo escalonado según los valores ingresados y excluye el predictor del modelo escalonado si no satisface el umbral de exclusión.
- El algoritmo continúa hasta que no se puede agregar ni excluir ninguna variable.
Puede ejecutar el algoritmo con la función ols_stepwise() del paquete olsrr.
ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE) arguments: -fit: Model to fit. Need to use `lm()`before to run `ols_stepwise() -pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1 -prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3 -details: Print the details of each step
Antes de eso, te mostramos los pasos del algoritmo. A continuación se muestra una tabla con las variables dependientes e independientes:
Variable dependiente | Variables independientes |
---|---|
mpg | disp |
hp | |
maldita sea | |
wt | |
qseg |
Inicio
Para empezar, el algoritmo comienza ejecutando el modelo en cada variable independiente por separado. La tabla muestra el valor p para cada modelo.
## [[1]] ## (Intercept) disp ## 3.576586e-21 9.380327e-10 ## ## [[2]] ## (Intercept) hp ## 6.642736e-18 1.787835e-07 ## ## [[3]] ## (Intercept) drat ## 0.1796390847 0.0000177624 ## ## [[4]] ## (Intercept) wt ## 8.241799e-19 1.293959e-10 ## ## [[5] ## (Intercept) qsec ## 0.61385436 0.01708199
Para ingresar al modelo, el algoritmo mantiene la variable con el valor p más bajo. Del resultado anterior, es peso
Paso 1
En el primer paso, el algoritmo ejecuta mpg en wt y las otras variables de forma independiente.
## [[1]] ## (Intercept) wt disp ## 4.910746e-16 7.430725e-03 6.361981e-02 ## ## [[2]] ## (Intercept) wt hp ## 2.565459e-20 1.119647e-06 1.451229e-03 ## ## [[3]] ## (Intercept) wt drat ## 2.737824e-04 1.589075e-06 3.308544e-01 ## ## [[4]] ## (Intercept) wt qsec ## 7.650466e-04 2.518948e-11 1.499883e-03
Cada variable es una candidata potencial para ingresar al modelo final. Sin embargo, el algoritmo mantiene sólo la variable con el valor p más bajo. Resulta que hp tiene un valor p ligeramente más bajo que qsec. Por tanto, hp entra en el modelo final.
Paso 2
El algoritmo repite el primer paso pero esta vez con dos variables independientes en el modelo final.
## [[1]] ## (Intercept) wt hp disp ## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01 ## ## [[2]] ## (Intercept) wt hp drat ## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01 ## ## [[3]] ## (Intercept) wt hp qsec ## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01
Ninguna de las variables que ingresaron al modelo final tiene un valor p suficientemente bajo. El algoritmo se detiene aquí; tenemos el modelo final:
## ## Call: ## lm(formula = mpg ~ wt + hp, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.941 -1.600 -0.182 1.050 5.854 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 37.22727 1.59879 23.285 < 2e-16 *** ## wt -3.87783 0.63273 -6.129 1.12e-06 *** ## hp -0.03177 0.00903 -3.519 0.00145 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.593 on 29 degrees of freedom ## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148 ## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
Puede utilizar la función ols_stepwise() para comparar los resultados.
stp_s <-ols_stepwise(fit, details=TRUE)
Salida:
El algoritmo encuentra una solución después de 2 pasos y devuelve el mismo resultado que teníamos antes.
Al final, se puede decir que el modelo se explica por dos variables y una intersección. La milla por galón se correlaciona negativamente con la potencia bruta y el peso.
## You are selecting variables based on p value... ## 1 variable(s) added.... ## Variable Selection Procedure ## Dependent Variable: mpg ## ## Stepwise Selection: Step 1 ## ## Variable wt Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.868 RMSE 3.046 ## R-Squared 0.753 Coef. Var 15.161 ## Adj. R-Squared 0.745 MSE 9.277 ## Pred R-Squared 0.709 MAE 2.341 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 847.725 1 847.725 91.375 0.0000 ## Residual 278.322 30 9.277 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120 ## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203 ## ---------------------------------------------------------------------------------------- ## 1 variable(s) added... ## Stepwise Selection: Step 2 ## ## Variable hp Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.909 RMSE 2.593 ## R-Squared 0.827 Coef. Var 12.909 ## Adj. R-Squared 0.815 MSE 6.726 ## Pred R-Squared 0.781 MAE 1.901 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 930.999 2 465.500 69.211 0.0000 ## Residual 195.048 29 6.726 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497 ## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584 ## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013 ## ---------------------------------------------------------------------------------------- ## No more variables to be added or removed.
Aprendizaje automático (Machine learning & LLM)
Aprendizaje automático (Machine learning & LLM) Se está generalizando entre los científicos de datos y se implementa en cientos de productos que se utilizan a diario. Una de las primeras aplicaciones de ML fue filtro de spam.
A continuación se presentan otras aplicaciones del aprendizaje automático:
- Identificación de mensajes de spam no deseados en el correo electrónico
- Segmentación del comportamiento del cliente para publicidad dirigida.
- Reducción de transacciones fraudulentas con tarjetas de crédito
- Optimización del uso energético en edificios de viviendas y oficinas.
- Reconocimiento facial
Aprendizaje supervisado
In Aprendizaje supervisado, los datos de entrenamiento que alimenta al algoritmo incluyen una etiqueta.
Clasificación es probablemente la técnica de aprendizaje supervisado más utilizada. Una de las primeras tareas de clasificación que abordaron los investigadores fue el filtro de spam. El objetivo del aprendizaje es predecir si un correo electrónico se clasifica como spam o correo electrónico no deseado (bueno). La máquina, después del paso de entrenamiento, puede detectar la clase de correo electrónico.
Regresiones se utilizan comúnmente en el campo del aprendizaje automático para predecir valores continuos. La tarea de regresión puede predecir el valor de un variable dependiente basado en un conjunto de variables independientes (también llamados predictores o regresores). Por ejemplo, las regresiones lineales pueden predecir el precio de las acciones, el pronóstico del tiempo, las ventas, etc.
Aquí está la lista de algunos algoritmos fundamentales de aprendizaje supervisado.
- Regresión lineal
- Regresión logística
- Vecinos mas cercanos
- Máquina de vectores de soporte (SVM)
- Árboles de decisión y bosque aleatorio
- Redes neuronales
Aprendizaje sin supervisión
In Aprendizaje sin supervisiónLos datos de entrenamiento no están etiquetados. El sistema intenta aprender sin una referencia. A continuación, se incluye una lista de algoritmos de aprendizaje no supervisado.
- K-media
- Jerárquico Cluster Analisis
- Maximización de expectativas
- Visualización y reducción de dimensionalidad
- Análisis de componentes principales
- PCA del núcleo
- Incrustación localmente lineal
Resum
- La regresión lineal responde a una pregunta sencilla: ¿se puede medir una relación exacta entre una variable objetivo y un conjunto de predictores?
- El método de mínimos cuadrados ordinarios intenta encontrar los parámetros que minimizan la suma de los errores al cuadrado, es decir, la distancia vertical entre los valores y previstos y los valores y reales.
- El modelo probabilístico que incluye más de una variable independiente se denomina modelo de regresión múltiple.
- El propósito del algoritmo de regresión lineal por pasos es agregar y eliminar candidatos potenciales en los modelos y conservar aquellos que tienen un impacto significativo en la variable dependiente.
- La selección de variables es una parte importante para ajustar un modelo. La regresión por pasos realiza el proceso de búsqueda automáticamente.
La regresión de mínimos cuadrados ordinaria se puede resumir en la siguiente tabla:
Biblioteca | Objetivo | Función | Argumentos |
---|---|---|---|
bases | Calcular una regresión lineal | película() | fórmula, datos |
bases | Resumir modelo | resumir() | cómodo |
bases | Extraer coeficientes | lm()$coeficiente | |
bases | Extraer residuos | lm()$residuales | |
bases | Extraer valor ajustado | lm()$valores ajustados | |
Olsrr | Ejecutar regresión por pasos | ols_paso a paso() | ajuste, pent = 0.1, prem = 0.3, detalles = FALSO |
Nota: Recuerde transformar la variable categórica en factor antes de ajustar el modelo.