Tabular Regression
Scikit-learn
Joblib
Spanish
machine-learning
regression
linear-regression
educational-example
Instructions to use FerData/regresion-casas-sklearn with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use FerData/regresion-casas-sklearn with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("FerData/regresion-casas-sklearn", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
Regresión lineal con scikit-learn: precio de una casa
Descripción del modelo
Este modelo es un ejemplo pedagógico. Muestra cómo funciona el aprendizaje automático supervisado y qué se publica cuando se comparte un modelo entrenado.
Predice el precio de una casa, en miles de US$, a partir de su superficie y de si tiene balcón y ascensor.
Objetivo
Predecir una variable numérica continua: el precio estimado de una casa.
Datos de entrenamiento
- Dataset: sintético, generado en
train.py. Es el mismo de la Clase 10, con la misma semilla, y no son casas reales. - Cantidad de registros: 200. Se usan 160 para entrenar y 40 para evaluar.
- Variables de entrada (X):
m2(de 35 a 120),balcon(0 o 1),ascensor(0 o 1). - Variable objetivo (y):
precio, en miles de US$. - Cómo se generaron:
precio = 1.5·m2 + 8·balcon + 12·ascensor + 20 + ruido.
Entrenamiento
- Tipo de aprendizaje: supervisado.
- Problema: regresión.
- Algoritmo: regresión lineal (
sklearn.linear_model.LinearRegression), por mínimos cuadrados. - Biblioteca: scikit-learn.
Parámetros aprendidos. Son los valores que guarda model.joblib:
| Parámetro | Valor | Se lee como… |
|---|---|---|
peso de m2 |
1,503 | cada m² suma unos US$ 1.500 |
peso de balcon |
8,719 | el balcón suma unos US$ 8.700 |
peso de ascensor |
11,988 | el ascensor suma unos US$ 12.000 |
bias (intercept_) |
19,557 | precio base |
Los pesos aprendidos quedan muy cerca de los que se usaron para generar los datos.
Evaluación
Se evaluó sobre 40 casas que el modelo no vio durante el entrenamiento.
| Métrica | Resultado |
|---|---|
| MAE | 3,08 miles de US$ |
| R² | 0,989 |
Archivos
| Archivo | Qué es |
|---|---|
model.joblib |
el modelo entrenado, con sus pesos y su bias |
train.py |
el código que lo entrenó, para reproducirlo |
predict.py |
cómo cargarlo y usarlo |
requirements.txt |
las dependencias |
README.md |
esta Model Card |
Cómo utilizar el modelo
import joblib
import pandas as pd
modelo = joblib.load("model.joblib")
casa = pd.DataFrame({"m2": [80], "balcon": [1], "ascensor": [0]})
print(modelo.predict(casa)) # [148.5] miles de US$
Para descargarlo desde el Hub:
from huggingface_hub import hf_hub_download
import joblib
ruta = hf_hub_download(repo_id="tu-usuario/nombre-del-repo", filename="model.joblib")
modelo = joblib.load(ruta)
Limitaciones
- Tiene fines exclusivamente educativos. Los datos son sintéticos y no representan precios reales.
- Solo conoce casas de 35 a 120 m². Fuera de ese rango, extrapola una recta y nada garantiza que acierte.
- Supone que cada característica suma un monto fijo. No capta interacciones, como que el ascensor valga más en un edificio alto.
joblibusa pickle: solo carguen archivos.joblibde fuentes en las que confíen, porque al cargarlos se puede ejecutar código.- La versión de scikit-learn con la que se carga debería ser la misma con la que se entrenó.
Autoría
Modelo desarrollado con fines educativos para el IFTS N.º 18. Docente: Cynthia M. Villagra.
- Downloads last month
- -