Menu iconMenu icon
Aprendizaje automático con Python

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.