Simulación (Lección 6) - Implementación de un Modelo de Regresión

Objetivos:

1. Introducción a la Regresión Lineal

Conceptos Básicos:

Carga y Exploración del Conjunto de Datos (California Housing):


from sklearn.datasets import fetch_california_housing
import pandas as pd

# Cargar el conjunto de datos de California Housing
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target

# Crear un DataFrame para exploración
df = pd.DataFrame(X, columns=data.feature_names)
df['target'] = y
print(df.head())
    

Implementación del Modelo de Regresión Lineal:


from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# Entrenar el modelo
model = LinearRegression()
model.fit(X, y)

# Realizar predicciones
predictions = model.predict(X)

# Visualizar resultados
plt.scatter(y, predictions)
plt.xlabel('Precios Reales')
plt.ylabel('Precios Predichos')
plt.title('Regresión Lineal: Precios Reales vs. Predichos')
plt.show()
    

Evaluación del Modelo:


from sklearn.metrics import mean_squared_error

# Calcular el error cuadrático medio
mse = mean_squared_error(y, predictions)
print(f'Error Cuadrático Medio: {mse}')
    

2. Introducción a la Regresión Logística

Conceptos Básicos:

Carga y Exploración del Conjunto de Datos (Breast Cancer):


from sklearn.datasets import load_breast_cancer
import pandas as pd

# Cargar el conjunto de datos de cáncer de mama
data = load_breast_cancer()
X = data.data
y = data.target

# Crear un DataFrame para exploración
df = pd.DataFrame(X, columns=data.feature_names)
df['target'] = y
print(df.head())
    

Implementación del Modelo de Regresión Logística:


from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt

# Entrenar el modelo
model = LogisticRegression(max_iter=10000)
model.fit(X, y)

# Realizar predicciones
predictions = model.predict(X)

# Visualizar resultados
plt.scatter(y, predictions)
plt.xlabel('Clases Reales')
plt.ylabel('Clases Predichas')
plt.title('Regresión Logística: Clases Reales vs. Predichas')
plt.show()
    

Evaluación del Modelo:


from sklearn.metrics import classification_report

# Generar reporte de clasificación
report = classification_report(y, predictions)
print(report)