Introducción
Este tutorial implementa un modelo de red neuronal para predecir el precio de una vivienda utilizando el conjunto de datos Boston_Housing. El objetivo es predecir un valor continuo, por lo tanto, estamos frente a un problema de regresión. El código esta disponible en la sección descargas opción Inteligencia Artificial
Cargar conjunto de datos Boston Housing
El conjunto de datos contiene 506 ejemplos, divididos entre 404 muestras de entrenamiento y 102 muestras de prueba.
El conjunto de datos contiene 13 características diferentes:
- Tasa de criminalidad per cápita.
- La proporción de terrenos residenciales divididos en zonas para lotes de más de 25,000 pies cuadrados.
- La proporción de acres de negocios no minoristas por ciudad.
- Variable dummy de Charles River (= 1 si el tramo limita el río, 0 de lo contrario).
- Concentración de óxidos nítricos (partes por 10 millones).
- El número promedio de habitaciones por vivienda.
- La proporción de unidades ocupadas por sus propietarios construidas antes de 1940.
- Distancias ponderadas a cinco centros de empleo de Boston.
- Índice de accesibilidad a carreteras radiales.
- Tasa de impuesto a la propiedad de valor completo por $ 10,000.
- Proporción de alumno por profesor por ciudad.
- 1000 * (Bk - 0.63) ** 2 donde Bk es la proporción de personas negras por ciudad.
- Porcentaje de menor estatus de la población.
Y cada característica de los datos de entrada tiene una escala diferente. Por ejemplo, algunos valores son proporciones, que toman valores entre 0 y 1; otros toman valores entre 1 y 12, otros entre 0 y 100, y así sucesivamente.
Los objetivos, etiquetas o labels son los precios de la vivienda en miles de dólares registrados en la década de 1970. Los precios son típicamente entre $ 10,000 y $ 50,000.
Los objetivos, etiquetas o labels son los precios de la vivienda en miles de dólares registrados en la década de 1970. Los precios son típicamente entre $ 10,000 y $ 50,000.
Normalizar las características
Se recomienda normalizar los datos que usan escalas e intervalos diferentes. Para cada característica, reste la media de la característica y divida por su desviación estándar. La red podría adaptarse automáticamente a datos tan heterogéneos, pero dificultaría el aprendizaje.
Construir el modelo
En este turorial se implementa un modelo secuencial con dos capas ocultas totalmente conectadas de 64 nodos (neuronas) y la función de activación relu, y una capa de salida que devuelve un único valor continuo.
Debido a que no hay mucha información de entrenamiento, se usa una red pequeña con pocas capas ocultas y nodos para evitar el sobreajuste.
Definir la función de pérdida, optimizador y métrica
Para el problema de regresión es común utilizar la función de pérdida error cuadrático medio (mse), el optimizador utilizado es el rmsprop y una métrica de regresión común es el error absoluto medio (mae).
Entrenar el modelo
El modelo se entrena durante 300 épocas, los datos de entrenamiento se dividen en un 20% para validación y además se registra el entrenamiento y la precisión de validación en el objeto history.