# Predicción del precio de una vivienda, utilizando la biblioteca scikit-learn
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# Supongamos que tenemos un DataFrame llamado "casas" con las siguientes columnas:
# 'superficie', 'num_habitaciones', 'ubicacion', 'edad', 'precio'
# Seleccionamos las características (X) y la variable objetivo (y)
X = casas[['superficie', 'num_habitaciones', 'edad']] # Características numéricas
y = casas['precio'] # Variable objetivo
# Dividimos los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Creamos y entrenamos el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)
# Hacemos predicciones en el conjunto de prueba
y_pred = model.predict(X_test)
# Evaluamos el modelo (por ejemplo, calculando el error cuadrático medio)
mse = mean_squared_error(y_test, y_pred)
print("Error cuadrático medio:", mse)
# Predecimos el precio de una nueva vivienda
nueva_casa = [[100, 3, 10]] # Superficie de 100 m², 3 habitaciones, 10 años
precio_predicho = model.predict(nueva_casa)
print("Precio predicho:", precio_predicho)
Salida:
Error cuadrático medio: 5360083247.896763
Precio predicho: [146318.83019459]
El Error Cuadrático Medio (ECM o MSE, por sus siglas en inglés: Mean Squared Error) es una métrica utilizada para evaluar la precisión de los modelos de predicción, especialmente en regresión. Mide la diferencia promedio entre los valores predichos por el modelo y los valores reales. Cuanto más bajo sea el valor del MSE, mejor será el modelo, ya que indica que las predicciones están más cerca de los valores reales.