CapÃtulo 4: Aprendizaje Supervisado
4.4 Ejercicios Prácticos
Ejercicio 1: Análisis de Regresión
Utilizando el conjunto de datos de viviendas de Boston disponible en Scikit-learn, realiza un análisis de regresión lineal simple para predecir el valor mediano de las viviendas ocupadas por sus propietarios. Evalúa tu modelo utilizando las métricas MAE, MSE, RMSE y R-cuadrado.
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
# Load the Boston Housing dataset
boston = load_boston()
# Create a DataFrame
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['MEDV'] = boston.target
# Create a LinearRegression model
model = LinearRegression()
# Fit the model
model.fit(df[['RM']], df['MEDV'])
# Predict new values
predictions = model.predict(df[['RM']])
# Calculate metrics
mae = mean_absolute_error(df['MEDV'], predictions)
mse = mean_squared_error(df['MEDV'], predictions)
rmse = np.sqrt(mse)
r2 = r2_score(df['MEDV'], predictions)
print("MAE:", mae)
print("MSE:", mse)
print("RMSE:", rmse)
print("R-squared:", r2)
Ejercicio 2: Técnicas de Clasificación
Utilizando el conjunto de datos Iris disponible en Scikit-learn, realiza un análisis de regresión logística para predecir la especie de iris. Evalúa tu modelo utilizando las métricas de exactitud, precisión, exhaustividad, puntaje F1 y área bajo la curva ROC (ROC AUC).
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
from sklearn.preprocessing import LabelBinarizer
# Load the Iris dataset
iris = load_iris()
# Create a DataFrame
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['species'] = iris.target
# Create a LogisticRegression model
model = LogisticRegression()
# Fit the model
model.fit(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']], df['species'])
# Predict new values
predictions = model.predict(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']])
# Calculate metrics
accuracy = accuracy_score(df['species'], predictions)
precision = precision_score(df['species'], predictions, average='macro')
recall = recall_score(df['species'], predictions, average='macro')
f1 = f1_score(df['species'], predictions, average='macro')
# Binarize the output
lb = LabelBinarizer()
y_true_bin = lb.fit_transform(df['species'])
y_pred_bin = lb.transform(predictions)
roc_auc = roc_auc_score(y_true_bin, y_pred_bin, multi_class='ovr')
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)
print("ROC AUC Score:", roc_auc)
Estos ejercicios te permitirán aplicar los conceptos aprendidos en este capítulo y adquirir experiencia práctica con técnicas de regresión y clasificación, así como con métricas de evaluación para el aprendizaje supervisado.
4.4 Ejercicios Prácticos
Ejercicio 1: Análisis de Regresión
Utilizando el conjunto de datos de viviendas de Boston disponible en Scikit-learn, realiza un análisis de regresión lineal simple para predecir el valor mediano de las viviendas ocupadas por sus propietarios. Evalúa tu modelo utilizando las métricas MAE, MSE, RMSE y R-cuadrado.
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
# Load the Boston Housing dataset
boston = load_boston()
# Create a DataFrame
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['MEDV'] = boston.target
# Create a LinearRegression model
model = LinearRegression()
# Fit the model
model.fit(df[['RM']], df['MEDV'])
# Predict new values
predictions = model.predict(df[['RM']])
# Calculate metrics
mae = mean_absolute_error(df['MEDV'], predictions)
mse = mean_squared_error(df['MEDV'], predictions)
rmse = np.sqrt(mse)
r2 = r2_score(df['MEDV'], predictions)
print("MAE:", mae)
print("MSE:", mse)
print("RMSE:", rmse)
print("R-squared:", r2)
Ejercicio 2: Técnicas de Clasificación
Utilizando el conjunto de datos Iris disponible en Scikit-learn, realiza un análisis de regresión logística para predecir la especie de iris. Evalúa tu modelo utilizando las métricas de exactitud, precisión, exhaustividad, puntaje F1 y área bajo la curva ROC (ROC AUC).
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
from sklearn.preprocessing import LabelBinarizer
# Load the Iris dataset
iris = load_iris()
# Create a DataFrame
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['species'] = iris.target
# Create a LogisticRegression model
model = LogisticRegression()
# Fit the model
model.fit(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']], df['species'])
# Predict new values
predictions = model.predict(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']])
# Calculate metrics
accuracy = accuracy_score(df['species'], predictions)
precision = precision_score(df['species'], predictions, average='macro')
recall = recall_score(df['species'], predictions, average='macro')
f1 = f1_score(df['species'], predictions, average='macro')
# Binarize the output
lb = LabelBinarizer()
y_true_bin = lb.fit_transform(df['species'])
y_pred_bin = lb.transform(predictions)
roc_auc = roc_auc_score(y_true_bin, y_pred_bin, multi_class='ovr')
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)
print("ROC AUC Score:", roc_auc)
Estos ejercicios te permitirán aplicar los conceptos aprendidos en este capítulo y adquirir experiencia práctica con técnicas de regresión y clasificación, así como con métricas de evaluación para el aprendizaje supervisado.
4.4 Ejercicios Prácticos
Ejercicio 1: Análisis de Regresión
Utilizando el conjunto de datos de viviendas de Boston disponible en Scikit-learn, realiza un análisis de regresión lineal simple para predecir el valor mediano de las viviendas ocupadas por sus propietarios. Evalúa tu modelo utilizando las métricas MAE, MSE, RMSE y R-cuadrado.
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
# Load the Boston Housing dataset
boston = load_boston()
# Create a DataFrame
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['MEDV'] = boston.target
# Create a LinearRegression model
model = LinearRegression()
# Fit the model
model.fit(df[['RM']], df['MEDV'])
# Predict new values
predictions = model.predict(df[['RM']])
# Calculate metrics
mae = mean_absolute_error(df['MEDV'], predictions)
mse = mean_squared_error(df['MEDV'], predictions)
rmse = np.sqrt(mse)
r2 = r2_score(df['MEDV'], predictions)
print("MAE:", mae)
print("MSE:", mse)
print("RMSE:", rmse)
print("R-squared:", r2)
Ejercicio 2: Técnicas de Clasificación
Utilizando el conjunto de datos Iris disponible en Scikit-learn, realiza un análisis de regresión logística para predecir la especie de iris. Evalúa tu modelo utilizando las métricas de exactitud, precisión, exhaustividad, puntaje F1 y área bajo la curva ROC (ROC AUC).
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
from sklearn.preprocessing import LabelBinarizer
# Load the Iris dataset
iris = load_iris()
# Create a DataFrame
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['species'] = iris.target
# Create a LogisticRegression model
model = LogisticRegression()
# Fit the model
model.fit(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']], df['species'])
# Predict new values
predictions = model.predict(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']])
# Calculate metrics
accuracy = accuracy_score(df['species'], predictions)
precision = precision_score(df['species'], predictions, average='macro')
recall = recall_score(df['species'], predictions, average='macro')
f1 = f1_score(df['species'], predictions, average='macro')
# Binarize the output
lb = LabelBinarizer()
y_true_bin = lb.fit_transform(df['species'])
y_pred_bin = lb.transform(predictions)
roc_auc = roc_auc_score(y_true_bin, y_pred_bin, multi_class='ovr')
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)
print("ROC AUC Score:", roc_auc)
Estos ejercicios te permitirán aplicar los conceptos aprendidos en este capítulo y adquirir experiencia práctica con técnicas de regresión y clasificación, así como con métricas de evaluación para el aprendizaje supervisado.
4.4 Ejercicios Prácticos
Ejercicio 1: Análisis de Regresión
Utilizando el conjunto de datos de viviendas de Boston disponible en Scikit-learn, realiza un análisis de regresión lineal simple para predecir el valor mediano de las viviendas ocupadas por sus propietarios. Evalúa tu modelo utilizando las métricas MAE, MSE, RMSE y R-cuadrado.
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
# Load the Boston Housing dataset
boston = load_boston()
# Create a DataFrame
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['MEDV'] = boston.target
# Create a LinearRegression model
model = LinearRegression()
# Fit the model
model.fit(df[['RM']], df['MEDV'])
# Predict new values
predictions = model.predict(df[['RM']])
# Calculate metrics
mae = mean_absolute_error(df['MEDV'], predictions)
mse = mean_squared_error(df['MEDV'], predictions)
rmse = np.sqrt(mse)
r2 = r2_score(df['MEDV'], predictions)
print("MAE:", mae)
print("MSE:", mse)
print("RMSE:", rmse)
print("R-squared:", r2)
Ejercicio 2: Técnicas de Clasificación
Utilizando el conjunto de datos Iris disponible en Scikit-learn, realiza un análisis de regresión logística para predecir la especie de iris. Evalúa tu modelo utilizando las métricas de exactitud, precisión, exhaustividad, puntaje F1 y área bajo la curva ROC (ROC AUC).
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
from sklearn.preprocessing import LabelBinarizer
# Load the Iris dataset
iris = load_iris()
# Create a DataFrame
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['species'] = iris.target
# Create a LogisticRegression model
model = LogisticRegression()
# Fit the model
model.fit(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']], df['species'])
# Predict new values
predictions = model.predict(df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']])
# Calculate metrics
accuracy = accuracy_score(df['species'], predictions)
precision = precision_score(df['species'], predictions, average='macro')
recall = recall_score(df['species'], predictions, average='macro')
f1 = f1_score(df['species'], predictions, average='macro')
# Binarize the output
lb = LabelBinarizer()
y_true_bin = lb.fit_transform(df['species'])
y_pred_bin = lb.transform(predictions)
roc_auc = roc_auc_score(y_true_bin, y_pred_bin, multi_class='ovr')
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)
print("ROC AUC Score:", roc_auc)
Estos ejercicios te permitirán aplicar los conceptos aprendidos en este capítulo y adquirir experiencia práctica con técnicas de regresión y clasificación, así como con métricas de evaluación para el aprendizaje supervisado.