Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jorgebg/taxi-recommendation-system
Sistema Recomendador de Taxis para Big Data | PFC UC3M
https://github.com/jorgebg/taxi-recommendation-system
Last synced: about 2 months ago
JSON representation
Sistema Recomendador de Taxis para Big Data | PFC UC3M
- Host: GitHub
- URL: https://github.com/jorgebg/taxi-recommendation-system
- Owner: jorgebg
- License: gpl-3.0
- Created: 2017-09-19T12:12:19.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-22T04:28:24.000Z (over 2 years ago)
- Last Synced: 2024-04-14T03:59:25.878Z (9 months ago)
- Language: HTML
- Homepage: http://pfc.jorgebg.com/
- Size: 41.2 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sistema Recomendador de Taxis para Big Data
> Jorge Barata González, Proyecto Final de Carrera, Ingeniería Informática Superior, UC3M> Tutor: Pablo Basanta Val
## Análisis
10 millones de trazas de los taxis amarillos de nueva york
![image](pictures/clusters-hours-group.png)
- Se encuentran correlacciones entre beneficio economico y tiempo, distancia y numero de pasajeros.
- Se encuentran que la frecuencia de viajes cambia significativamente segun el dia y la hora. Cada dia tiene un patron distinto excepto martes, miercoles y jueves.
- Se encuentran agrupaciones de trazas en localidades concretas que varian segun el dia de la semana y la hora.
- Sobre una muestra del 1%, comprobamos que podemos encontrar las agrupaciones aplicando el sistema de clusterizacion Gaussian Mixture Model ejecutandolo sobre un cluster spark.
- Podemos valorar los clusters más interesantes dandoles una puntuación basada en las correlacciones encontradas anteriormente con la agregación de tiempo, distancia, y numero de pasajeros## Diseño
- Para cada dia de la semana y hora, encontrar los clusters de trazas con puntuación más alta, calculado en Spark.
- Guardar los resultados en una base de datos espcial (PostGIS)
- Crear una aplicación web sobre la base de datos para consultar los mejores lugares a los que ir, más cercanos, en un momento dado.![image](pictures/webapp-smartphone.jpeg)
## Ejecución
Se prueba a computar los clusters en una sola máquina variando el número de registros N y el número de clústers K.
Por otro lado, se prueba a computar los clusters y las puntuaciones de las 24 horas de 1 dia en diferentes configuraciones en los servidores cedidos en la universidad:
- 1 Master, 1 Slave, 1 Worker
- 1 Master, 1 Slave, 2 Workers (2 por esclavo)
- 1 Master, 2 Slaves, 2 Workers
- 1 Master, 2 Slaves, 4 Workers (2 por esclavo)
- 1 Master, 3 Slaves, 3 Workers
- 1 Master, 3 Slaves, 6 Workers (2 por esclavo)
- 1 Master, 4 Slaves, 4 Workers
- 1 Master, 4 Slaves, 8 Workers (2 por esclavo)
- 1 Master, 5 Slaves, 5 Workers
- 1 Master, 5 Slaves, 10 Workers (2 por esclavo)El sistema esta pensado para computar los 7 dias, pero para estas pruebas se computa solo 1.
En mi portátil, he computado los clusters sobre el 1% de las trazas analizadas, que es lo que se puede consultar en pfc.jorgebg.com.
## Demo
https://pfc.jorgebg.com
### Heroku
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/jorgebg/taxi-recommendation-system)
Open a shell into the dyno and run `./manage.py import_recommendations ~/result.pickle` after the deployment.
```
$ heroku pg:psql
create extension postgis
```