taxi

Winning entry to the Kaggle taxi competition
git clone https://esimon.eu/repos/taxi.git
Log | Files | Refs | README

commit 66d2717188e189fde5422576740903ca8e488f63
parent 6cf80aff3e4dc57d13a33c2946bc0ae57cfae6b8
Author: Alex Auvolat <alex.auvolat@ens.fr>
Date:   Thu,  2 Jul 2015 15:00:51 -0400

Add small models

Diffstat:
Mconfig/dest_mlp_tgtcls_1_cswdtx_alexandre.py | 5+++--
Aconfig/dest_mlp_tgtcls_1_cswdtx_small.py | 38++++++++++++++++++++++++++++++++++++++
Aconfig/dest_mlp_tgtcls_2_cswdtx_small.py | 38++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/config/dest_mlp_tgtcls_1_cswdtx_alexandre.py b/config/dest_mlp_tgtcls_1_cswdtx_alexandre.py @@ -2,6 +2,7 @@ import os import cPickle from blocks.initialization import IsotropicGaussian, Constant +from blocks.algorithms import Momentum import data from model.dest_mlp_tgtcls import Model, Stream @@ -29,8 +30,8 @@ embed_weights_init = IsotropicGaussian(0.01) mlp_weights_init = IsotropicGaussian(0.1) mlp_biases_init = Constant(0.01) -learning_rate = 0.01 -momentum = 0.9 +step_rule = Momentum(learning_rate=0.01, momentum=0.9) + batch_size = 200 valid_set = 'cuts/test_times_0' diff --git a/config/dest_mlp_tgtcls_1_cswdtx_small.py b/config/dest_mlp_tgtcls_1_cswdtx_small.py @@ -0,0 +1,38 @@ +import os +import cPickle + +from blocks.initialization import IsotropicGaussian, Constant +from blocks.algorithms import Momentum + +import data +from model.dest_mlp_tgtcls import Model, Stream + + +n_begin_end_pts = 5 # how many points we consider at the beginning and end of the known trajectory + +with open(os.path.join(data.path, 'arrival-clusters.pkl')) as f: tgtcls = cPickle.load(f) + +dim_embeddings = [ + ('origin_call', data.origin_call_train_size, 10), + ('origin_stand', data.stands_size, 10), + ('week_of_year', 52, 10), + ('day_of_week', 7, 10), + ('qhour_of_day', 24 * 4, 10), + ('day_type', 3, 10), + ('taxi_id', 448, 10), +] + +dim_input = n_begin_end_pts * 2 * 2 + sum(x for (_, _, x) in dim_embeddings) +dim_hidden = [100] +dim_output = tgtcls.shape[0] + +embed_weights_init = IsotropicGaussian(0.01) +mlp_weights_init = IsotropicGaussian(0.1) +mlp_biases_init = Constant(0.01) + +step_rule = Momentum(learning_rate=0.01, momentum=0.9) + +batch_size = 200 + +valid_set = 'cuts/test_times_0' +max_splits = 100 diff --git a/config/dest_mlp_tgtcls_2_cswdtx_small.py b/config/dest_mlp_tgtcls_2_cswdtx_small.py @@ -0,0 +1,38 @@ +import os +import cPickle + +from blocks.initialization import IsotropicGaussian, Constant +from blocks.algorithms import Momentum + +import data +from model.dest_mlp_tgtcls import Model, Stream + + +n_begin_end_pts = 5 # how many points we consider at the beginning and end of the known trajectory + +with open(os.path.join(data.path, 'arrival-clusters.pkl')) as f: tgtcls = cPickle.load(f) + +dim_embeddings = [ + ('origin_call', data.origin_call_train_size, 10), + ('origin_stand', data.stands_size, 10), + ('week_of_year', 52, 10), + ('day_of_week', 7, 10), + ('qhour_of_day', 24 * 4, 10), + ('day_type', 3, 10), + ('taxi_id', 448, 10), +] + +dim_input = n_begin_end_pts * 2 * 2 + sum(x for (_, _, x) in dim_embeddings) +dim_hidden = [100, 100] +dim_output = tgtcls.shape[0] + +embed_weights_init = IsotropicGaussian(0.01) +mlp_weights_init = IsotropicGaussian(0.1) +mlp_biases_init = Constant(0.01) + +step_rule = Momentum(learning_rate=0.01, momentum=0.9) + +batch_size = 200 + +valid_set = 'cuts/test_times_0' +max_splits = 100