No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Distancia entre vectores y b煤squeda de departamento

21/28
Recursos

Aportes 28

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

La primer variable que se me incluye agregar es el precio del arrendamiento de cada apartamento. Teniendo encuenta la l贸gica de los dem谩s componentes del vector, normalizar铆a la variable de manera similar como est谩 la del tama帽o, con rangos de precio representado por n煤meros entre 1 y 5 馃榿.

Este es un tema muy importante ya que es la base para las incrustaciones de palabras o Word Embeddings, un tema fundamental en el procesamiento del lenguaje natural entre sus aplicaciones tenemos: clasificaci贸n de texto, generacion de texto, traduccion etc.
esta imagen representa un ejemplo a peque帽a escala, pero en la vida real, las incrustaciones de palabras contienen miles de palabras y cientos de dimenciones.

Modelos como GPT-3 de OpenIA funcionan de esta forma:

Dado una secuencia de palabras de entrada, el modelo busca la secuencia de palabras mas probable que debe continuar.
por ejemplo si yo digo:

Hola amigos de
y si el modelo se entreno con los dialogos de Platzi, probablemente complete la frase asi:
Hola amigos de Platzi, como estan?
y como se imaginaran para predecir las palabras que continuan se aplica , distancia entre vectores, el coseno del angulo entre ellos, probabilidad logaritmica etc.

Aqu铆 mi soluci贸n. He incluido un vector para ponderar la importancia de las variables a tener en cuenta.

El resultado se muestra en una tabla hecha con 鈥楧ataFrame鈥 de 鈥榩andas鈥

import numpy as np
import pandas as pd

I = np.array([3,2,2,1])
A_1 = np.array([4,3,3,3])
A_2 = np.array([3,3,2,1])
A_3 = np.array([5,4,3,0])

#importancia de cada variable (0-1)
arr_pond = np.array([0.5, #tama帽o vivienda
                     0.8, #numero de rec谩maras
                     0.2, #numero ba帽os
                     1    #numero estacionamientos
                     ])

def pond(arr,arr_pond=arr_pond):
  return arr*arr_pond

#array con todas las opciones
options = np.array([A_1, A_2, A_3])

#Esta es la funcion que nos va ayudar a decidir
#Introducimos como par谩metros las opciones que estamos contemplando (options) y nuestra referencia ideal (I)
def decisor(options, ideal):
  results = []
  house_index = 0
  for option in options:
    house_index +=1
    result = ['A_' + str(house_index), np.linalg.norm(pond(ideal)-pond(option))] #generamos un array con el nombre de la casa y la nota (distancia)
    results.append(result)
    
  df = pd.DataFrame(results,columns=['Houses','Rate']).nsmallest(3,'Rate') # '.nsmallest()' ordena la tabla de menor a mayor
  return df

decisor(options,I)

esta clase tiene un componente muy importante para pensar como un Data Scientist --> las decisiones se pueden cuantificar. 馃挌

El valor del arriendo, tambi茅n la distancia al trabajo (la pondr铆a poner catalogada en rangos, esto para mi es muy importante)

A que se refiere con el ruido? Que tan grandes deben ser los n煤meros en las componentes de los vectores para qe haya 鈥渞uido鈥 ?

La propuesta que presento consiste en crear un vector de valoraci贸n donde se cuantifique la importancia de cada componente del vector ideal, una vez creados los vectores de referencia se hace el producto interno entre ellos y el resultado sera el valor gu铆a desde el cual mediremos las distancias. Adem谩s, tomando en cuenta la distancia de las opciones con nuestro valor ideal, podemos calcular un porcentaje de coincidencia.

Las variables que usaria para tener el algoritmo mas completo serian:

Tama帽o del apartamento
numero de cuartos
numero de ba帽os
numero de parqueos
precio del alquiler/venta
costo de expensas
zona
pet friendly

Variables que a帽adir铆a.

  • Distancia a zonas comerciales
  • Distancia de sitios como hospitales, colegios, etc.
  • Precio del apartamento.
  • Importancia del barrio, esto es facil de clasificar por que generalmente se clasifican por estratos.

Si tienen m谩s ideas les agradecer铆a que me dijeran 馃榾

Le puede faltar rango de precios, cercania al trabajo si es que tiene una oficina, supermercados, seguridad, costo de vida, todos representados como numeros del 1 al n variando segun la distancia o cantidad de la caracteristica en cuestion.

Yo agragar铆a que tan lejos estoy del trabajo, supero, gym, entre otros. Y para eliminar el ruido que traer铆a introducir los km, har铆a un anormalizaci贸n de los vectores en un ascala como el profesor hizo.

Incluir铆a :
-valor, tambi茅n en rangos.
-Ubicaci贸n , dependiendo de lo que me sirva.
-Para mi es importante la vista entonces la altura.

El problema de la secretaria

es un problema matem谩tico muy conocido. Consiste en, t煤 quieres contratar a una secretaria por lo que haces entrevistas, donde despu茅s entrevista puedes o contratar a la persona o dejarla ir y no tener posibilidad de arrepentirte, 驴c贸mo te aseguras de encontrar la correcta?

parece simple pero es muy interesante

Dicho esto, propondr铆a agregar al sistema la consideration de que para poder juzgar objetivamente cu谩l es el mejor apartamento necesito un tiempo para recolectar datos donde podr铆a dejar pasar el mejor.

驴Cu谩l ser铆a la mejor estrategia a medida que t煤 recolectas datos?

La verdad que est谩 bastante complicado encontrar el apartamento ideal. Hice una simulaci贸n con python generando 500 apartamentos con caracter铆sticas aleatorias usando ese mismo rango de valores y no llegu茅 a distancia 0. Tiene sentido igual. Creo que con unas 1000 extras lo lograr铆a.

Buenas noches, realice mi programa en Deepnote y dando click aqu铆 pueden ingresar para visualizarlo. Espero sea de su agrado.

Hola compa帽eros,
como caracter铆stica agregar铆a, para complementar el modelo y mejorar toma de decisiones, el costo o precio del inmueble; categoriz谩ndolo por supuesto, para evitar el ruido. Podr铆a ser respecto al monto m谩ximo posible que estipule pagar el cliente.
Otra caracter铆stica podr铆a ser el tipo de zona, debido a que hay personas que les gusta estar fuera de la ciudad, cerca del centro y comercios, en la ciudad pero alejado del centro, etc.; podr铆a ser categorizado por distancia. Tambi茅n podr铆a ser una caracter铆stica el tipo de estrato, facilidad de acceso, entre otras.
Respecto al supermercado, las caracter铆sticas pudieran ser: Precio-calidad, frescura de los productos, variedad, calidad de servicio, seguridad, que posea estacionamiento, f谩cil acceso, que posea otros servicios como farmacia, panader铆a o fuente de soda, lugar de cuidado y juego para los ni帽os, etc.

La facilidad del transporte publico, la cercan铆a con lugares a los que recurro (gym, supermercado, centros comerciales), el nivel de seguridad del sector鈥

Se podr铆a colocar costo de alquiler, ponderar 谩rea o sector, si tiene seguridad, etc.

Para el caso de supermercados yo tomar铆a en cuenta la distancia, rango de precios y si se encuentran o no los productos que son de mi inter茅s.

Le agregar铆a pesos a cada uno de los coeficientes que multiplicasen (o castigase) , o agregar铆a otra categor铆as adicionales como Costo por metro cuadrado normalizado a un valor ideal ($), distancia normalizada a mi trabajo, o estrato.

Categor铆a de valor de arrendamiento, si permite o no mascotas,

Esta clase me gusto mucho, sobre todo la explicaci贸n de agregar categor铆as a valores que puedes sesga el resultado

Les recomiendo leer este art铆culo de LinkedIn sobre KNN

Le agregar铆a precios , zonas de 1 a 5, valor de cada zona(ubicaci贸n)

Me gustar铆a hacer un modelo en alg煤n momento que relacione los precios, las zonas, el tama帽o, la cercan铆a al trabajo/universidad (me imagin贸 una variable estandarizada relacionada a trav茅s del tiempo en transporte p煤blico) y cercan铆a a tiendas que se frecuentan mucho (supermercado, lavander铆a, panader铆a, entre otras cosas que pueden ser relevantes). Ser铆a un modelo muy interesante el mismo.

Yo pondr铆a c贸mo una variable imprescindible el precio de arrendamiento o el precio de compra. Tambi茅n pondr铆a la distancia a mi trabajo y a sitios de inter茅s. Tambi茅n podr铆a poner la ubicabi贸n, y las normalizar铆a por zonas (Buena, regular, mala, etc)

Agregar铆a el rango de precios, distancias a ciertos lugares (hospital, trabajo, supermercado). Estas aplicaciones en las que se busca la menor distancia ser铆an la base de la optimizaci贸n?

Creo que ser铆a fundamental introducir un vector para ponderar las condiciones y poder jugar con los resultados.