Giter Site home page Giter Site logo

bicycles-la-analysis's Introduction

Descripción

En Los Ángeles existe un sistema compartido de bicicletas que brinda datos anónimos acerca del uso del servicio. La tabla que se proporciona contiene el histórico de viajes que se han realizado desde 2016. A continuación se presentan las columnas que contiene la tabla:

  • trip_id: identificador único para el viaje
  • duration: duración del viaje en minutos
  • start_time: dia/hora donde en viaje inicia
  • end_time: dia/hora donde el viaje termina
  • start_station: la estación donde el viaje inició
  • start_lat: la latitud de la estación donde el viaje se originó
  • start_lon: la longitud de la estación donde el viaje se originó
  • end_station: la estación donde el viaje terminó
  • end_lat: la latitud de la estación donde terminó el viaje
  • end_lon: la longitud de la estación donde terminó el viaje
  • bike_id: un entero único que identifica la bicicleta
  • plan_duration: número de días que el usuario tendrá el paso. 0 significa un viaje único (Walk-up plan)
  • trip_route_category: “Round trip” son viajes que empiezan y terminan en la misma estación
  • passholder_type: El nombre del plan de passholder

Planificación

Para desarrollar el proyecto se siguio la metodolofía Scrum, se uso Notion para la planeacion y seguimiento de actividades.

Análisis Exploratorio

En el analísis exploratorio se describe el uso del servicio a través del tiempo, cuales son los días y horas con mayor demanda, así como en que estaciones suceden la mayoría de los viajes. También se aborda el tema de el uso de los diferentes tipos de pases y su relación con el uso del servicio.

Notebook del Analisis Exploratorio

Modelo Predictivo

En esta sección se desarrolo un modelo de clasificación con el objetivo de predecir el tipo de pase Passholder_type a partir del comportamiento del usuario. El modelo realiza clasificaciones con una presición del 70%.

Notebook del Analísis Predictivo

Puesta en Producción

Para el despliegue del modelo predictivo se uso la siguiente arquitectura, se dividió el flujo de trabajo en las secciones de desarrollo y despliegue. Nota : Se hace la propuesta de diferentes servicios en la nube que pueden albergar los datos y la aplicación y ésta pueda ser consumida como una API. Nota 2: Por el momento el modelo solo se puede consumir de manera local, aún no hay despligue en la nube. Nota 3: Al momento de correr el modelo no es capaz de realizar predicciones, hay errores por solucionar y éste funcione correctamente.

production_diagram

Instalación

  • Crear ambiente virtual

    python -m venv venv
    
  • Activar ambiente virtual

     # Para linux
     source venv/bin/activate
     
     # Para Windows
     .\venv\Scripts\activate
    
  • Clonar repositorio

    git clone https://github.com/alexrods/Bicycles-LA-Analysis.git
    
  • Instalar librerías

    pip install -r api/requirements.txt
    
  • Run API

    uvicorn api.main:app
    

El modelo recibe peticiones a través de SwaggerUI. Corre en el puerto:

  http://127.0.0.1:8000

api-bikes

Empaquetado en Docker

Nota: Al momento de correr el comando run arroja errores, hace falta corregir estos errores para que la imagen funcione correctamente.

  #Run in console
  DOCKER_BUILDKIT=1 docker build . -t model-api:v1.0
  # Run in console
  docker run -p 8000:8000 model-api:v1.0

bicycles-la-analysis's People

Contributors

alexrods avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.