Code Monkey home page Code Monkey logo

informaticup2018's Introduction

informatiCup2018 CircleCI

Predicting the optimal strategy for fueling for a given route (task description).

Report
Routes

Project Organization

├── LICENSE
├── README.md          <- The top-level README for developers using this project.
├── data
│   ├── external       <- Data from third party sources.
│   ├── processed      <- The final, canonical data sets for modeling.
│   └── raw            <- The original, immutable data dump.
│
├── models             <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks          <- Jupyter notebooks. Naming convention is a number (for ordering),
│                         the creator's initials, and a short `-` delimited description, e.g.
│                         `1.0-jqp-initial-data-exploration`.
│
├── references         <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports            <- Generated analysis as HTML, PDF, LaTeX, etc.
│   └── figures        <- Generated graphics and figures to be used in reporting
│
├── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
│                         generated with `pip freeze > requirements.txt`
│
└── src                <- Source code for use in this project.
    ├── __init__.py    <- Makes src a Python module
    │
    ├── features       <- Scripts to turn raw data into features for modeling
    │   └── build_features.py
    │
    ├── models         <- Scripts to train models and then use trained models to make
    │   │                 predictions
    │   ├── predict_model.py
    │   └── train_model.py
    │
    └── visualization  <- Scripts to create exploratory and results oriented visualizations
        └── visualize.py

Setup

  • Clone the repository including submodules (to include the challenge data as well):
    git clone --recursive [email protected]:WGierke/informatiCup2018.git
    However, if you already downloaded the InformatiCup2018 repository, you can also create a symbolic link that shows from data/raw/input_data to the informatiCup2018 repository. A sanity check would be that data/raw/input_data/Eingabedaten/Fahrzeugrouten/Bertha\ Benz\ Memorial\ Route.csv is accessible.

  • Install all dependencies
    pip3 install -r requirements.txt

Usage

  • To start the server:
    python3 src/serving/server.py
  • To predict the gas prices given using training data up to a specified point in time for a given point in time:
    python3 src/serving/price_prediction.py --input PATH_TO_PREDICTION_POINTS.CSV
  • To predict an optimal route given the path to an input file:
    python3 src/serving/route_prediction.py --input PATH_TO_ROUTE.CSV

Credits

Materialize
bootstrap-material-datetimepicker

informaticup2018's People

Contributors

baschdl avatar feeds avatar wgierke avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

baschdl

informaticup2018's Issues

Predict gas station prices only

According to the task:

Ihre Implementierung muss für die Vorhersage von Benzinpreisen für gegebene Tankstellen und für
die Ausgabe einer Tankstrategie "Plain text"-Dateien in den folgenden beiden Dateiformaten
ausgeben

we should not only output the perfect fueling strategy but also gas price predictions only.

Split of #15: Calculate optimal routes

This is extracted from #15 since it needs more work than expected.
Given the near gas stations at the itinerary, the starting time and the tank size from the front-end...

  • look up their IDs in our "database" (based on address, name, ...)
  • calculate the arrival point at each stations
  • predict the price at the arrival time at each station
  • compute optimal fueling strategy
  • return result to front-end
  • optionally: show additional time spent / saved money statistics

Compare different gas stations with specific features

Compare some gas stations at the Autobahn, with is effected by commuter traffic, economically underdeveloped areas (Brandenburg)...

Section "Zeitreihenanalyse"
"Überlegen Sie sich dazu den möglichen Einfluss von Merkmalen einer Tankstelle auf die Entwicklung ihrer Benzinpreise (z.B. Tankstellen an Autobahnen, Tankstellen die vom Berufsverkehr erfasst werden oder Tankstellen in wenig erschlossenen Regionen)."

Fix four digit gas price

Is this a comma fault or a very high prediction?

{'end': (48.401030000000006, 9.98764), 'name': ['Aral Tankstelle'], 'start': (52.390530000000005, 13.064540000000001), 'address': ['B 100\n6796 Brehna'], 'overall_price': 42005.76141429667, 'fill_liters': [32.512199237071727], 'prices': [1292.0], 'payment': [42005.76141429667], 'stops': [(51.5537376, 12.1966591)]}

Type of landuse

for landuse in [industrial, commercial, farmland, farmyard, residential, retail]

rel
  (around:1000, 50.08232, 8.54354)
  ["landuse"="industrial"];
(._;>;);
out body;

http://overpass-turbo.eu/s/tjT

Returns points with coordinates, have to query if gas station is in this polygon

Feature could by noisy

Initial Webapp

e.g. Given a start and an end point, a tank size and the average consumption, compute the fueling stops for the itinerary showing the fuel stations, how much to fuel and the overall price in the end.

  • Show route on map
  • Get & show fueling stations on map
  • Compute & show perfect fueling strategy

Data exploration

Make some data exploration and write a bit about it

Section "Zeitreihenanalyse"
"Analysieren Sie zunächst die historischen Benzinpreise seit Beginn der Meldepflicht im Jahr 2013"

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.