Está en la página 1de 16

APRENDIZAJE

SUPERVISADO
PREDECIR VALOR DE UNA VIVIENDA

Nombres: Castro Mamani Andres


Cruz Gonzales Rubén
Rodríguez Christian Marcos
Rojas Rojas Ariel

Grupo: 2
Materia: Inteligencia Artificial
Docente: Rodríguez Bilbao Erika Patricia
1. Introducción 3
2. Objetivos 3
2.1 Objetivos Generales 3
2.2 objetivos específicos 3
3. Marco teórico 3
3.1 Aprendizaje Supervisado 3
3.1.1 Regresión 3
3.1.1.1 Regresión Lineal 4
3.1.1.2 Máquinas de Vectores de Soporte (SVM) 9
3.1.1.3 Árboles de Decisión 9
3.1.1.4 bosques aleatorios (random forests) 9
3.1.1.5 Métricas de Evaluación 9
3.1.2 Redes Neuronales 11
4. Marco Referencial 12
5. Ingeniería 12
5.1 Set Datos 12
5.2 Exploración de los Datos 13
5.3 Datos de Entrenamiento y Pruebas 14
5.4 Métricas de Evaluación 14
5.5 Software y Lenguaje 14
5.6 Ejecución 15
6. Conclusiones 15
7. Bibliografía 16
1. Introducción
En la presente práctica lo que se pretende es resolver el problema de predecir el Valor de una
casa de acuerdo a algunas características o atributos que tengan como por ejemplo (Área del
Terreno, área construida, número de habitaciones, etc.). Para lo cual nos enfocaremos en uno
de los campos de Aprendizaje Automático (Machine Learning) que es Aprendizaje Supervisado
utilizando sus algoritmos de regresión.

2. Objetivos

2.1 Objetivos Generales


● Presentar una solución para poder predecir el Valor de una casa viendo algunas de sus
características o atributos que tenga.

2.2 objetivos específicos


● Obtener conocimientos sobre los algoritmos de regresión
● Aprender sobre el uso de librerías como Scikit-learn
● Ampliar los conocimientos sobre el lenguaje Python
● Crear una función capaz de predecir el valor correspondiente a cualquier objeto de
entrada.

3. Marco teórico

3.1 Aprendizaje Supervisado


El aprendizaje supervisado es un tipo de algoritmo de Machine Learning que emplea un
conjunto de datos conocidos (el denominado conjunto de datos de entrenamiento) para
realizar predicciones. El conjunto de datos de entrenamiento incluye datos de entrada y
valores de respuesta. A partir de él, el algoritmo de aprendizaje supervisado busca crear un
modelo que pueda realizar predicciones acerca de los valores de respuesta para un nuevo
conjunto de datos. Con frecuencia se utiliza un conjunto de datos de prueba para validar el
modelo. Si se utilizan conjuntos de datos de entrenamiento de mayor tamaño, a menudo se
generan modelos cuya capacidad predictiva es mayor y que se pueden aplicar con buenos
resultados sobre nuevos conjuntos de datos.

3.1.1 Regresión
Regresión es un subcampo de aprendizaje supervisado, Su propósito es establecer un modelo
para la relación entre un cierto número de características y una variable Objetivo continua.
En los problemas de regresión perseguimos obtener una respuesta cuantitativa, como, por
ejemplo, predicciones sobre precios de inmuebles o el número de segundos que alguien
dedicará a visualizar un vídeo.
Entre las técnicas de regresión comunes se incluyen:
● Regresión Lineal y No Lineal
● máquinas de vectores de soporte (support vector machines)
● árboles de decisión (decision trees)
● bosques aleatorios (random forests)
● redes neuronales y aprendizaje profundo (Deep Learning)

3.1.1.1 Regresión Lineal


La regresión lineal es una técnica paramétrica de machine Learning. Con «paramétrica»
queremos decir que incluso antes de mirar a los datos, ya sabemos cuántos parámetros (o
coeficientes) vamos a necesitar.
En el caso que estemos usando una sola variable, x, sabemos que una línea necesita 2
parámetros. La fórmula para la regresión lineal con una sola variable x es:
Y = wx + b
El aprendizaje consiste en encontrar cuáles son los mejores parámetros (coeficientes) para los
datos que tengamos. Los mejores coeficientes serán los que minimicen alguna medida de
error. Para la regresión lineal usaremos el error cuadrático medio.
Ejemplo:

Hemos usado una regresión lineal para encontrar los parámetros de la línea que minimiza el
error de los datos que tenemos. El proceso de aprendizaje consiste en estimar los parámetros
w y b. Así nos queda que, para estos datos, los mejores valores son:
w=0.0918
b=1.2859
así que nos queda:
y=0.0918x+1.2859
Podemos usar este modelo de regresión lineal para estimar cuáles serán los resultados para
otros valores de x. Por ejemplo, si queremos saber el resultado para x = 5, usaremos el modelo
anterior y veremos que el resultado es 1.7449:
y=0.0918⋅5+1.2859=1.7449
Este es un ejemplo muy simple. En realidad, los problemas de machine Learning tienen muchas
más variables. Sin embargo, este ejemplo es muy fácil de visualizar, explicar y entender.

a) Regresión lineal simple


Dado un conjunto de puntos, el algoritmo de regresión establecerá un modelo para ajustar la
relación de dependencia entre una característica específica independiente (un valor de la
variable independiente x) y el valor “resultado “correspondiente (un valor de la variable
dependiente y).
Esta relación se realiza estableciendo una línea arbitraria y calculando la distancia de la recta a
los puntos de datos correspondientes a los valores (x,y). Esta distancia, las líneas verticales, son
los “residuos” o los “errores de predicción”.

El algoritmo de regresión recalculará (y moverá) la recta con cada interacción, buscando


aquella que mejor se ajuste a los puntos de datos (x,y), o en otras palabras, la línea con el
menor error (la más cercana al máximo número de puntos).
Hay varias técnicas que se pueden utilizar para conseguir este objetivo, como veremos a
continuación.

Desplazar la Recta

En esta Gráfica encontramos los Siguientes elementos:


● W1: Slope ó pendiente, es la inclinación de la recta con respecto al eje de abcisas (x).
● W2: Intercept o intersección, es el punto de corte de la recta con el eje de ordenadas
(y).
Aproximación absoluta
Si partimos de un punto y una recta, el objetivo es conseguir que la recta se acerque al punto.
Para ello, el algoritmo utilizará un parámetro llamado “tasa de aprendizaje”. Esta tasa de
aprendizaje es el número por el que se multiplicarán los parámetros de la recta para realizar
pequeñas aproximaciones de la recta al punto.
En otras palabras, la tasa de aprendizaje determinará la longitud de la distancia cubierta en
cada interacción que hará que la recta se acerque al punto. Normalmente se representa por α.

Aproximación Cuadrática
Se basa en la siguiente premisa: Si hay un punto cercano a la recta y la distancia es pequeña,
la recta se desplazará una distancia corta. Si está lejos, la recta se desplazará mucho más.

Descenso del Gradiente


En este caso, perseguimos desarrollar un algoritmo para encontrar la recta que más se
aproxime a un conjunto de puntos. El error, como se expuso anteriormente, será la distancia
de la recta a los puntos.
La curva se desplaza y el error se calcula. Este proceso se repite iterativamente, reduciendo el
error un poco cada vez, hasta que se consigue la recta óptima. Esta recta será la que presenta
menor error.
Para minimizar el error, se utilizará el método de descenso en gradiente, el cual calcula las
diferentes direcciones en las que la recta se puede desplazar para reducir el error, y actúa de
forma que reduce el error al mínimo.
Nota: El gradiente de un valor escalar (f), es un campo vectorial. Cuando es aplicado en un
punto genérico del dominio, indica la dirección de la máxima variación del campo f.
De esta forma, el descenso en gradiente actuará en la dirección del gradiente negativo.

Cuando este algoritmo se ha ejecutado un número suficiente de veces finalmente arrojará un


mínimo local o global. Para ello, la tasa de aprendizaje ha de tener un valor adecuado. Si la tasa
de aprendizaje es demasiado alta el algoritmo nunca encontrará un mínimo, dado que los
saltos serán muy grandes. Si la tasa de aprendizaje es demasiado baja, llevará un tiempo
infinito alcanzar el mínimo.
Métodos del Descenso de Gradiente
● Estocástico: El descenso de gradiente se realiza punto a punto.

● Batch:Al aplicar las aproximaciones absolutas o cuadráticas, mencionadas


anteriormente, a todos los puntos del dataset, se obtienen una serie de valores. Estos
valores se suman a los ‘pesos’ del modelo y así es como se actualizan.

● Mini Batch:En la práctica no se utilizan los dos métodos anteriores, dado que son lentos
desde el punto de vista computacional. La mejor forma de realizar la regresión lineal es
dividir los datos en muchos lotes reducidos, cada uno de ellos con aproximadamente
el mismo número de puntos. En este caso, los pesos del modelo son actualizados con
cada lote (mini batch) procesado, dando lugar al método llamado “Descenso de
gradiente por mini batch”.

Más Dimensiones
Cuando tenemos una columna de entrada y otra de salida, nos enfrentamos a un problema de
dos dimensiones. La regresión es una recta, y la predicción será el producto de la pendiente de
la recta por la variable independiente más una constante.
Si tenemos más columnas de entrada, significa que habrá más dimensiones y estaremos ante
planos o hiperplanos, dependiendo del número de dimensiones.

b) Regresión Lineal Múltiple


Las variables independientes también se conocen como predictoras, que son las variables
utilizadas para realizar predicciones sobre otras variables, a las que llamamos variables
dependientes.
Cuando la salida que perseguimos predecir depende de más de una variable, se puede utilizar
un modelo más complejo que tenga en cuenta las dimensiones adicionales. Considerando si
son relevantes o no para abordar el problema planteado, el uso de más variables puede
contribuir a conseguir mejores predicciones.
Como hemos visto anteriormente, la siguiente imagen muestra una regresión lineal simple

Y la siguiente imagen muestra un hiperplano ajustado o una regresión lineal múltiple con dos
características.

Según añadimos más predictores, añadimos más dimensiones al problema y se hace más
complicado visualizarlo, pero el concepto del proceso no varía.

c) Regresión Polinómica
La regresión polinómica es un caso especial de análisis de regresión lineal múltiple en la que la
relación entre la variable independiente x, y la variable dependiente y, se modela como un
polinomio de grado “n” en x. En otras palabras, cuando nuestra distribución de datos es más
compleja que una lineal, y debemos crear una curva para ajustar datos no lineales.
Las variables independientes (o explicatorias) que resultan de la expansión polinómica de las
variables predictoras, se conocen como “términos de mayor grado”. Se han usado para
describir fenómenos no lineales como la tasa de crecimiento de consumo de pañuelos de papel
y la progresión de enfermedades epidémicas.
3.1.1.2 Máquinas de Vectores de Soporte (SVM)
También son conocidas con el acrónimo SVM por sus siglas en inglés (Support Vector
Machines). Se pueden usar tanto para regresión como para clasificación.

3.1.1.3 Árboles de Decisión


Los árboles de decisión son una técnica de aprendizaje automático supervisado muy utilizada
en muchos negocios. Como su nombre indica, esta técnica de machine Learning toma una serie
de decisiones en forma de árbol. Los nodos intermedios (las ramas) representan soluciones.
Los nodos finales (las hojas) nos dan la predicción que vamos buscando.

3.1.1.4 bosques aleatorios (random forests)


es una combinación de árboles predictores tal que cada árbol depende de los valores de un
vector aleatorio probado independientemente y con la misma distribución para cada uno de
estos. Es una modificación sustancial de bagging que construye una larga colección de árboles
no correlacionados y luego los promedia.

3.1.1.5 Métricas de Evaluación


Para llevar un seguimiento de si nuestro modelo se comporta correctamente, es preciso aplicar
métricas de evaluación. Esta métrica de evaluación es el error calculado entre la recta
generada (o el hiperplano) a los puntos reales y será la función que hay que hay que minimizar
usando el descenso del gradiente.
Algunas de las más comunes en regresión son:
a) Error Absoluto Medio:

EL error absoluto medio o “MAE”, es la media de la diferencia absoluta entre los puntos de
datos reales, y la salida predicha. Si tomamos esto como la estrategia a seguir, a cada paso del
exceso de gradiente, se reducirá el MAE.

b) Error Cuadrático Medio:

El error cuadrático medio o “MSE”, es la media de la diferencia entre los puntos reales de datos
y la salida predicha, al cuadrado. Este método penaliza más las diferencias mayores y es la
estándar en los problemas de regresión.
Si elegimos esta estrategia, cada paso del descenso de gradiente reducirá el MSE. Esto hace
que sea el método preferido para calcular la recta que mejor se ajuste, y es también llamado
“Ordinary Least Squares” o OLS.
c) Error Cuadrático Medio
El error cuadrático medio, o RMSE por sus siglas en inglés, es la raíz de la media de los errores
elevados al cuadrado. Éste es el medidor de evaluación más popular para determinar el
desempeño de los modelos de regresión ya que la raíz, consigue las mismas unidades que la
de Y.

d) Coeficiente de determinación o R²
El coeficiente de determinación se puede entender como una versión estandarizada del MSE,
que proporciona una mejor interpretación del rendimiento del modelo.
Técnicamente, el R² representa la varianza de las respuestas capturadas por el modelo:

3.1.2 Redes Neuronales


Existen diversas formas de definir a las redes neuronales; desde las definiciones cortas y
genéricas hasta las que intentan explicar detalladamente que son las redes neuronales. Por
ejemplo:
● Una nueva forma de computación, inspirada en modelos biológicos.
● Un modelo matemático compuesto por un gran número de elementos procesales
organizados en niveles.
● Un sistema de computación compuesto por un gran número de elementos simples,
elementos de procesos muy interconectados, los cuales procesan información por
medio de su estado dinámico como respuesta a entradas externas.
● Redes neuronales artificiales son redes interconectadas masivamente en paralelo de
elementos simples (usualmente adaptativos) y con organización jerárquica, las cuales
intentan interactuar con los objetos del mundo real del mismo modo que lo hace el
sistema nervioso biológico.

4. Marco Referencial

Imaginemos que somos una agencia inmobiliaria situada en Bolivia que usaremos este modelo
para ayudar a los propietarios, clientes de la agencia, a establecer el precio de sus viviendas que
desean vender. Entonces para poder saber el precio de la vivienda necesitaremos que el
propietario nos de alguna información sobre las características que tiene la vivienda como, por
ejemplo:
 Metros cuadrados que tiene el terreno
 Metros cuadrados de construcción
 Cantidad de pisos que tiene la vivienda
 Cantidad de habitaciones
 Cantidad de Baños
Entonces básicamente de eso trata el problema, de poder ayudar a los propietarios a saber el
precio que podría tener su Vivienda, como ya pudimos ver un modelo como estos sería muy
valioso apara una agencia inmobiliaria pero también para los propietarios que quieran vender
sus Viviendas.

5. Ingeniería
Para poder resolver el problema de predecir el precio de una vivienda de acuerdo a algunas
características usaremos una de las técnicas de Regresión.
Regresión lineal Multiple
Utilizaremos esta técnica porque la cantidad de características que tiene es más de una, es
decir tiene más de 1 variable independiente.
Y = (w1x1 + w2x2 + w3x3 + w4x4 + w5x5) + b
Y= Target(Objetivo)
Wi= Features

5.1 Set Datos


El set de datos se obtendrá de una página inmobiliaria llamada infocasas que presta servicios
en Bolivia además de otros países. Esto servirá para poder tener idea de los precios que
manejan para la venta de viviendas.
Este set de datos se realizará de forma manual, contiene cerca de 40 muestras con 9
Características (columnas).
Ejemplo: Primeras filas del Set de Datos

5.2 Exploración de los Datos


Determinamos que columnas nos servirán como features para poder realizar la predicción
features= ['M2_Terreno','M2_Construccion','Numero_Pisos','Numero_Dormitorios', 'Banios']

Features
target = ['Precio']

Target
luego de haber definido nuestros Features y Target, procederemos a eliminar las filas que
contengan valores NaN o Vacíos, ya que estos podrían afectar en la predicción.
Análisis de Datos
En el grafico podemos ver el Comportamiento del Precio en función de M2 Terreno

5.3 Datos de Entrenamiento y Pruebas


Entrenamiento (Training)
Para realizar el entrenamiento del modelo se Utilizará el 66% de los datos, para lo cual
necesitaremos usar la Librería Sklearn, Mas propiamente train_test_split
X_train = Los features
y_train = Target (Objetivo)
Pruebas (Test)
Para realizar las pruebas se asignará el 33% de los datos totales, esto nos servirá para poder
saber cuan precisó es el modelo
X_test = Los features
y_test = Target (Objetivo)

5.4 Métricas de Evaluación


Usaremos la métrica de Error Cuadrático Medio, el cual nos va permitir saber la media de con
cuanto le erramos comparado con el valor real (precio real de la vivienda).

5.5 Software y Lenguaje


a) Anaconda
Anaconda es un distribución libre y abierta de los lenguajes Python y R, utilizada en ciencia de
datos, y aprendizaje automático (machine Learning). Esto incluye procesamiento de grandes
volúmenes de información, análisis predictivo y cómputos científicos. Está orientado a
simplificar el despliegue y administración de los paquetes de software.
Las diferentes versiones de los paquetes se administran mediante el sistema de gestión de
paquetes conda, el cual lo hace bastante sencillo de instalar, correr, y actualizar software de
ciencia de datos y aprendizaje automático como ser Scikit-learn, TensorFlow y SciPy.
La distribución Anaconda es utilizada por 6 millones de usuarios e incluye más de 250 paquetes
de ciencia de datos válidos para Windows, Linux y MacOS.
b) Python
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la
legibilidad de su código.2 Se trata de un lenguaje de programación multiparadigma, ya que
soporta orientación a objetos, programación imperativa y, en menor medida, programación
funcional. Es un lenguaje interpretado, dinámico y multiplataforma.
c) Jupyter
El Proyecto Jupyter es una organización sin ánimo de lucro creada para "desarrollar software
de código abierto, estándares abiertos y servicios para computación interactiva en docenas de
lenguajes de programación".

5.6 Ejecución
Para poder realizar la predicción de una vivienda se realizó una función de directamente
retorna el valor de la vivienda, dado que le paso los parámetros.

6. Conclusiones
A lo largo de esta Práctica, hicimos un proyecto de regresión de aprendizaje automático
supervisado además aprendimos y obtuvimos varias ideas sobre los modelos de regresión y
cómo se desarrollan. También aprendimos sobre la diferentes librerías y herramientas que se
usan para machine Learning.
7. Bibliografía

Azuaje, D. L. (4 de Junio de 2013). redesneuronal.blogspot. Obtenido de


redesneuronal.blogspot: http://redesneuronal.blogspot.com/
Bacnatu, J. I. (s.f.). Aprende Machine Learning. Obtenido de
https://www.aprendemachinelearning.com/
Heras, J. M. (s.f.). IArtificial.net. Obtenido de IArtificial.net: https://iartificial.net/
Miller, V. (2016). Toptal. Obtenido de Toptal: https://www.toptal.com/machine-
learning/explorando-algoritmos-de-aprendizaje-automatico-supervisado

También podría gustarte