Patinetas

Codigo fuente para el articulo.

View the Project on GitHub ZibraMax/Patinetas

Requerimientos

Información Disponible:

La siguiente información está en la geodatabase.

[Tipo de información] (Atributo, tipo)

Información que no se que es:

Dataset

Para generar los pares Origen Destino se parte de los datos de datos_bogota.csv. En este caso se agregan las entradas de dichos datos en los archivos OD y ODLW. Estos archivos están en la carpeta Train Data RNN.

El archivo OD.csv contiene una matriz origen destino a nivel de geohash mientras que el archivo ODLW.csv contienen la misma matriz ignorando aquellos pares donde los viajes sean 0.

La creación de estos archivos se lleva a cabo usando el script crearOD.py

En total se cuentan con +10M de pares Origen Destino donde solo 164K son distintos de 0.

Las variables que se usarán para el primer modelo son:

Modelos de Python

Random Forest

Support Vector Machine

Redes Neuronales

Conversación con JP (8/5/2021):

En principio no hay razones para usar redes convolucionales y el problema parece “fácil”. Lo importante del problema es orientar la red a UN SOLO OUTPUT, ya que esto hace que el entrenamiento sea más rápido.

Par el entrenamiento se puede usar el método de bisección empezando con el número de neuronas igual al número de inputs (xl) y terminando con 500 veces el número de inputs (xu). Lo mejor para este tipo de modelo es usar el RMSE como loss function. Esto permite tener una unidad para saber que tan lejos se está.

A pesar de que JP dice que con densas puede ser suficiente, sigo pensando que una ResNet puede tener mejores resultados. Esto se decidirá después.

Para el entrenamiento puede ser muy útil usar Dropout porque son muchas variables, eso puede mejorar la generalización del modelo.

El número de capas todavía es un misterio así como la función de activación.

Modelo 1:

Este modelo ya esta programado en el archivo train.ipynb

Si se usa Visual Studio Code, en la carpeta .vscode se encuentran una serie de archivos que automatizan los procesos de compilado y correr modelos.