Cheat Sheet Machine Learning
En esta sección se mostrarán ejemplos de implementación de los algoritmos más conocidos de Machine Learning con datasets de juguete. En la barra de la izquierda puedes seleccionar el algoritmo.
Regresión Lineal
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# REGRESIÓN LINEAL
from sklearn.linear_model import LinearRegression
# Ajuste de la regresión lineal
model = LinearRegression()
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Ajuste de la regresión lineal
model <- lm(price ~ ., data = df_reg)
Regresión Polinómica
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# REGRESIÓN POLINÓMICA
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
# Transformación de prdictores a polinomio
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
# Ajuste de la regresión polinómica
model = LinearRegression()
model.fit(X_poly, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Ajuste de la regresión polinómica
model <- lm(price ~ poly(size + age, degree=2), data = df_reg)
Regresión Ridge
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# REGRESIÓN RIDGE
from sklearn.linear_model import Ridge
# Ajuste de la regresión ridge
model = Ridge(alpha=1.0)
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Definición de predictores
X <- df_reg %>% select(c(size, age))
# Definición de variable target
y <- df_reg %>% select(price)
# REGRESIÓN RIDGE
library(glmnet)
# Ajuste de la regresión ridge
model <- glmnet(X, y, alpha=0)
Regresión Lasso
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# REGRESIÓN LASSO
from sklearn.linear_model import Lasso
# Ajuste de la regresión lasso
model = Lasso(alpha=1.0)
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Definición de predictores
X <- df_reg %>% select(c(size, age))
# Definición de variable target
y <- df_reg %>% select(price)
# REGRESIÓN LASSO
library(glmnet)
# Ajuste de la regresión lasso
model <- glmnet(X, y, alpha=1)
Decision Tree Regresor
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# Decision Tree Regresor
from sklearn.tree import DecisionTreeRegressor
# Ajuste del árbol de decisión
model = DecisionTreeRegressor()
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Decision Tree Regresor
library(rpart)
# Ajuste del árbol de decisión
model <- rpart(price ~ ., data = df_reg)
Random Forest Regression
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# Random Forest Regression
from sklearn.ensemble import RandomForestRegressor
# Ajuste del random forest
model = RandomForestRegressor()
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Random Forest Regression
library(randomForest)
# Ajuste del random forest
model <- randomForest(price ~ ., data = df_reg)
Support Vector Regression
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# Support Vector Regression
from sklearn.svm import SVR
# Ajuste de las máquinas de soporte vectorial
model = SVR(kernel='rbf')
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Support Vector Regression
library(e1071)
# Ajuste de las máquinas de soporte vectorial
model <- svm(price ~ ., data = df_reg, type='eps-regression')
XGB Regressor
import pandas as pd
import numpy as np
# Dataset de juguete (Regresión)
np.random.seed(42)
size = np.random.randint(50, 200, 100) # Tamaño en m²
age = np.random.randint(1, 30, 100) # Antigüedad en años
price = 1000 * size - 500 * age + np.random.normal(0, 5000, 100) # Precio en $
df_reg = pd.DataFrame({"size": size, "age": age, "price": price})
# Definición de predictores
X = df_reg[["size", "age"]]
# Definición de variable target
y = df_reg["price"]
# XGB REGRESSOR
from xgboost import XGBRegressor
# Ajuste de xgboost
model = XGBRegressor()
model.fit(X, y)
library(dplyr)
# Dataset de juguete (Regresión)
set.seed(42)
size <- sample(50:200, 100, replace = TRUE) # Tamaño en m²
age <- sample(1:30, 100, replace = TRUE) # Antigüedad en años
price <- 1000 * size - 500 * age + rnorm(100, 0, 5000) # Precio en $
df_reg <- data.frame(size, age, price)
# Definición de predictores
X <- df_reg %>% select(c(size, age))
X_matrix <- as.matrix(X) # Convertir data.frame a matrix
# Definición de variable target
y <- df_reg %>% select(price)
# XGB REGRESSOR
library(xgboost)
# Ajuste delas máquinas de soporte vectorial
model <- xgboost(data = X_matrix, label = y, nrounds = 100, objective = "reg:squarederror")