├── .gitignore
├── README.html
├── README.md
├── algorithms
├── CSRM
│ ├── __init__.py
│ ├── csrm.py
│ └── ome.py
├── IIRNN
│ ├── ii_rnn.py
│ └── utils_ii_rnn.py
├── NCFS
│ ├── models
│ │ ├── attentionlayer.py
│ │ └── cross_sess_model.py
│ └── ncfs.py
├── RepeatNet
│ ├── __init__.py
│ ├── att_rec.py
│ ├── base
│ │ ├── __init__.py
│ │ ├── attention.py
│ │ ├── corpus.py
│ │ ├── decoder.py
│ │ ├── encoder.py
│ │ ├── function.py
│ │ ├── n_step_gru.py
│ │ ├── recsys.py
│ │ ├── selective_gate.py
│ │ └── utils.py
│ ├── gru_rec.py
│ ├── repeat_net.py
│ ├── repeat_net_module.py
│ ├── repeat_non_repeat_bar.py
│ ├── test.py
│ ├── tmp.py
│ └── train.py
├── STAMP
│ ├── __init__.py
│ ├── basic_layer
│ │ ├── FwNn3AttLayer.py
│ │ ├── LinearLayer.py
│ │ ├── LinearLayer_3dim.py
│ │ ├── NN.py
│ │ ├── NN_adam.py
│ │ └── __init__.py
│ ├── data_prepare
│ │ ├── __init__.py
│ │ ├── dataset_read.py
│ │ ├── entity
│ │ │ ├── __init__.py
│ │ │ ├── sample.py
│ │ │ └── samplepack.py
│ │ └── load_dict.py
│ ├── model
│ │ ├── STAMP.py
│ │ └── __init__.py
│ └── util
│ │ ├── AccCalculater.py
│ │ ├── Activer.py
│ │ ├── BatchData.py
│ │ ├── Bitmap.py
│ │ ├── Config.py
│ │ ├── FileDumpLoad.py
│ │ ├── Formater.py
│ │ ├── Pooler.py
│ │ ├── Printer.py
│ │ ├── Randomer.py
│ │ ├── SoftmaxMask.py
│ │ ├── TensorGather.py
│ │ ├── __init__.py
│ │ └── batcher
│ │ ├── __init__.py
│ │ └── equal_len
│ │ ├── __init__.py
│ │ └── batcher_p.py
├── __init__.py
├── ae
│ ├── __init__.py
│ ├── ae.py
│ └── helper
│ │ ├── __init__.py
│ │ ├── dae.py
│ │ └── vae.py
├── apgnn
│ ├── __init__.py
│ ├── apgnn.py
│ ├── model_last.py
│ ├── record.py
│ ├── train_last.py
│ └── transformer.py
├── baselines
│ ├── __init__.py
│ ├── ar.py
│ ├── backup
│ │ └── usr_basic.py
│ ├── bpr.py
│ ├── markov.py
│ ├── pop.py
│ ├── random.py
│ ├── rpop.py
│ ├── spop.py
│ ├── sr.py
│ └── usr.py
├── ct
│ ├── __init__.py
│ ├── context_tree_BVMM.py
│ └── ct.py
├── extensions
│ └── reminder.py
├── filemodel
│ ├── __init__.py
│ ├── filemodel.py
│ └── resultfile.py
├── gru4rec
│ ├── __init__.py
│ ├── gpu_ops.py
│ ├── gru4rec.py
│ └── ugru4rec.py
├── hgru4rec
│ ├── __init__.py
│ └── hgru4rec.py
├── hybrid
│ ├── __init__.py
│ ├── cascading.py
│ ├── mixed.py
│ ├── strategic.py
│ ├── strategic_idf.py
│ ├── strategic_seq.py
│ └── weighted.py
├── knn
│ ├── __init__.py
│ ├── iknn.py
│ ├── sknn.py
│ ├── stan.py
│ ├── ustan.py
│ ├── uvsknn.py
│ ├── uvstan.py
│ ├── vsknn.py
│ └── vstan.py
├── narm
│ ├── __init__.py
│ ├── narm.py
│ └── unarm.py
├── nextitnet
│ ├── .gitignore
│ ├── __init__.py
│ ├── data_loader_adapted.py
│ ├── data_loader_recsys.py
│ ├── generator_recsys.py
│ ├── nextitnet.py
│ ├── nextitrec.py
│ └── ops.py
├── nsar
│ ├── __init__.py
│ ├── data_loader
│ │ └── data_loader.py
│ ├── models
│ │ └── UserGru.py
│ ├── nsar.py
│ └── trainers
│ │ └── UserGru_trainer.py
├── sbr_adapter
│ ├── __init__.py
│ ├── adapter.py
│ ├── factorization
│ │ ├── __init__.py
│ │ ├── bprmf.py
│ │ ├── fism.py
│ │ ├── fossil.py
│ │ ├── fpmc.py
│ │ └── mf_base.py
│ └── helpers
│ │ ├── __init__.py
│ │ └── evaluation.py
├── sgnn
│ ├── __init__.py
│ ├── gnn.py
│ └── utils.py
├── shan
│ ├── __init__.py
│ └── shan.py
└── smf
│ ├── __init__.py
│ └── smf.py
├── backup
├── algorithms
│ ├── aware_backup
│ │ ├── knn_aware
│ │ │ ├── __init__.py
│ │ │ ├── cknn.py
│ │ │ ├── cknn.py.orig
│ │ │ ├── eknn
│ │ │ │ ├── __init__.py
│ │ │ │ ├── iknn.py
│ │ │ │ ├── iknn.py.orig
│ │ │ │ ├── iknn2.py
│ │ │ │ ├── iknn2.py.orig
│ │ │ │ ├── sknn.py
│ │ │ │ └── sknn.py.orig
│ │ │ ├── iknn.py
│ │ │ ├── scknn.py
│ │ │ ├── scknn.py.orig
│ │ │ ├── sfcknn.py
│ │ │ ├── sfcknn.py.orig
│ │ │ ├── svmknn.py
│ │ │ ├── svmknn.py.orig
│ │ │ ├── uvmknn.py
│ │ │ ├── uvmknn.py.orig
│ │ │ ├── vmknn.py
│ │ │ └── vmknn.py.orig
│ │ └── smf_aware
│ │ │ ├── __init__.py
│ │ │ ├── _test.py
│ │ │ ├── _test.py.orig
│ │ │ ├── imf.py
│ │ │ ├── imf.py.orig
│ │ │ ├── smf.py
│ │ │ ├── smf11.py
│ │ │ ├── smf11.py.orig
│ │ │ ├── smf12.py
│ │ │ ├── smf12.py.orig
│ │ │ ├── smf13.py
│ │ │ ├── smf13.py.orig
│ │ │ ├── smf14.py
│ │ │ ├── smf14.py.orig
│ │ │ ├── smf15.py
│ │ │ ├── smf15.py.orig
│ │ │ ├── smf2.py
│ │ │ ├── smf2.py.orig
│ │ │ ├── smf20.py
│ │ │ ├── smf20.py.orig
│ │ │ ├── smf3.py
│ │ │ ├── smf3.py.orig
│ │ │ ├── smf4.py
│ │ │ ├── smf4.py.orig
│ │ │ ├── smf5.py
│ │ │ ├── smf5.py.orig
│ │ │ ├── smf6.py
│ │ │ ├── smf6.py.orig
│ │ │ ├── smf7.py
│ │ │ ├── smf7.py.orig
│ │ │ ├── smf8.py
│ │ │ ├── smf8.py.orig
│ │ │ ├── smf9.py
│ │ │ ├── smf9.py.orig
│ │ │ ├── ufsmf2.py
│ │ │ ├── ufsmf2.py.orig
│ │ │ ├── usmf.py
│ │ │ ├── usmf.py.orig
│ │ │ ├── usmf2.py
│ │ │ ├── usmf2.py.orig
│ │ │ ├── utsmf2.py
│ │ │ └── utsmf2.py.orig
│ └── backup_algorithms_extensions
│ │ ├── hgru4rec_backup.py
│ │ ├── knn
│ │ ├── backup
│ │ │ ├── ustan_backup.py
│ │ │ ├── uvsknn_backup.py
│ │ │ ├── uvsknn_clean_backup.py
│ │ │ └── uvstan_backup.py
│ │ ├── backup_improved
│ │ │ ├── ustan_improved.py
│ │ │ ├── uvsknn_improved.py
│ │ │ └── uvstan_improved.py
│ │ ├── basic_reminders
│ │ │ ├── ustan.py
│ │ │ ├── uvsknn.py
│ │ │ └── uvstan.py
│ │ └── check
│ │ │ ├── uvsknn_check.py
│ │ │ └── uvsknn_new.py
│ │ ├── nextitnet_backup.py
│ │ ├── reminders_basic
│ │ ├── reminder_basic.py
│ │ ├── reminder_check.py
│ │ ├── reminder_improved_2.py
│ │ └── reminder_new.py
│ │ ├── shan
│ │ ├── shan_2.py
│ │ └── shan_check.py
│ │ ├── ugru4rec_basic.py
│ │ └── unarm_basic.py
├── conf
│ ├── evaluation
│ │ ├── evaluation_user_based_multiple.py
│ │ ├── evaluation_user_based_next.py
│ │ └── metrics
│ │ │ └── saver_user_based_backup.py
│ ├── example
│ │ └── test_csrm.yml
│ ├── preprocess
│ │ └── session_aware
│ │ │ ├── cosmetics_window_feb.yml
│ │ │ ├── cosmetics_window_first_3.yml
│ │ │ ├── cosmetics_window_last_2_months.yml
│ │ │ └── cosmetics_window_last_3_months.yml
│ └── save
│ │ ├── lastfm
│ │ └── session_aware
│ │ │ └── window
│ │ │ ├── exp
│ │ │ ├── window_lastfm_gru4rec_R_basic.yml
│ │ │ ├── window_lastfm_narm_R_basic.yml
│ │ │ ├── window_lastfm_stan_R_basic.yml
│ │ │ ├── window_lastfm_usr_basic.yml
│ │ │ ├── window_lastfm_vsknn_EBR_basic.yml
│ │ │ ├── window_lastfm_vsknn_R_basic.yml
│ │ │ └── window_lastfm_vstan_R_basic.yml
│ │ │ └── opt
│ │ │ ├── window_lastfm_gru4rec_R_basic.yml
│ │ │ ├── window_lastfm_narm_R_basic.yml
│ │ │ ├── window_lastfm_sr_BR_basic.yml
│ │ │ ├── window_lastfm_sr_R_basic.yml
│ │ │ ├── window_lastfm_stan_R_basic.yml
│ │ │ ├── window_lastfm_ustan_reminder_basic.yml
│ │ │ ├── window_lastfm_uvsknn_reminder_basic.yml
│ │ │ ├── window_lastfm_vsknn_EBR_basic.yml
│ │ │ ├── window_lastfm_vsknn_R_basic.yml
│ │ │ └── window_lastfm_vstan_R_basic.yml
│ │ ├── retailrocket
│ │ └── session_aware
│ │ │ ├── scalability
│ │ │ ├── all_in_one
│ │ │ │ ├── window_retailrocket_baselines.yml
│ │ │ │ ├── window_retailrocket_baselines_all.yml
│ │ │ │ ├── window_retailrocket_session_aware.yml
│ │ │ │ └── window_retailrocket_session_based.yml
│ │ │ ├── window_retailrocket_hgru4rec.yml
│ │ │ ├── window_retailrocket_iirnn.yml
│ │ │ ├── window_retailrocket_ncsf.yml
│ │ │ ├── window_retailrocket_nsar.yml
│ │ │ └── window_retailrocket_shan.yml
│ │ │ └── window
│ │ │ ├── exp
│ │ │ ├── window_retailrocket_gru4rec_R_basic.yml
│ │ │ ├── window_retailrocket_narm_R_basic.yml
│ │ │ ├── window_retailrocket_stan_R_basic.yml
│ │ │ ├── window_retailrocket_usr_basic.yml
│ │ │ ├── window_retailrocket_vsknn_EBR_basic.yml
│ │ │ ├── window_retailrocket_vsknn_R_basic.yml
│ │ │ └── window_retailrocket_vstan_R_basic.yml
│ │ │ └── opt
│ │ │ ├── window_retailrocket_gru4rec_R_basic.yml
│ │ │ ├── window_retailrocket_narm_R_basic.yml
│ │ │ ├── window_retailrocket_sr_BR.yml
│ │ │ ├── window_retailrocket_sr_R.yml
│ │ │ ├── window_retailrocket_stan_R_basic.yml
│ │ │ ├── window_retailrocket_ustan_reminder_basic.yml
│ │ │ ├── window_retailrocket_uvsknn_reminder_basic.yml
│ │ │ ├── window_retailrocket_vsknn_EBR_basic.yml
│ │ │ ├── window_retailrocket_vsknn_R_basic.yml
│ │ │ └── window_retailrocket_vstan_R_basic.yml
│ │ └── xing
│ │ └── session_aware
│ │ └── window
│ │ ├── exp
│ │ ├── window_xing_gru4rec_R_basic.yml
│ │ ├── window_xing_narm_R_basic.yml
│ │ ├── window_xing_stan_R_basic.yml
│ │ ├── window_xing_usr_basic.yml
│ │ ├── window_xing_vsknn_EBR_basic.yml
│ │ ├── window_xing_vsknn_R_basic.yml
│ │ └── window_xing_vstan_R_basic.yml
│ │ └── opt
│ │ ├── window_xing_gru4rec_R_basic.yml
│ │ ├── window_xing_narm_R_basic.yml
│ │ ├── window_xing_sr_BR_basic.yml
│ │ ├── window_xing_sr_R_basic.yml
│ │ ├── window_xing_stan_R_basic.yml
│ │ ├── window_xing_ustan_reminder_basic.yml
│ │ ├── window_xing_uvsknn_reminder_basic.yml
│ │ ├── window_xing_vsknn_EBR_basic.yml
│ │ ├── window_xing_vsknn_EBR_reminder.yml
│ │ ├── window_xing_vsknn_R_basic.yml
│ │ └── window_xing_vstan_R_basic.yml
└── preprocessing
│ ├── check_statistics
│ └── cosmetics
│ │ └── cosmetics_statistics_sliding_sampling_splitting.py
│ └── session_aware
│ └── preprocess_tmall.py
├── conf
├── example_all_models_exp.yml
├── example_all_neural.yml
├── example_bayopt.yml
├── example_hybrid_opt.yml
├── example_multiple.yml
├── example_next.yml
├── example_opt.yml
├── example_session_aware_exp.yml
├── example_session_aware_opt.yml
├── in
│ └── test_csrm.yml
├── preprocess
│ ├── retrain
│ │ ├── diginetica.yml
│ │ └── nowplaying.yml
│ ├── session_aware
│ │ ├── cosmetics_window.yml
│ │ ├── for_debugging
│ │ │ └── retailrocket_sample_test.yml
│ │ ├── lastfm_window.yml
│ │ ├── retailrocket_window.yml
│ │ ├── single
│ │ │ ├── diginetica.yml
│ │ │ ├── lastfm.yml
│ │ │ ├── retailrocket.yml
│ │ │ └── xing.yml
│ │ └── xing_window.yml
│ └── session_based
│ │ ├── retrain
│ │ ├── diginetica.yml
│ │ └── nowplaying.yml
│ │ ├── single
│ │ ├── diginetica.yml
│ │ ├── rsc15.yml
│ │ ├── rsc15_4.yml
│ │ └── rsc15_64.yml
│ │ └── window
│ │ ├── 30music.yml
│ │ ├── aotm.yml
│ │ ├── diginetica.yml
│ │ ├── nowplaying.yml
│ │ ├── retailrocket.yml
│ │ ├── rsc15.yml
│ │ └── tmall.yml
├── retrain exp
│ └── nowplaying
│ │ └── gru
│ │ ├── gru_retrain_0.yml
│ │ ├── gru_retrain_1.yml
│ │ ├── gru_retrain_10.yml
│ │ ├── gru_retrain_2.yml
│ │ ├── gru_retrain_3.yml
│ │ ├── gru_retrain_4.yml
│ │ ├── gru_retrain_5.yml
│ │ ├── gru_retrain_6.yml
│ │ ├── gru_retrain_7.yml
│ │ ├── gru_retrain_8.yml
│ │ └── gru_retrain_9.yml
├── save
│ ├── 30music
│ │ ├── hybrids_window30music.yml
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_30music_csrm.yml
│ │ │ ├── window_30music_ct.yml
│ │ │ ├── window_30music_gru.yml
│ │ │ ├── window_30music_knn.yml
│ │ │ ├── window_30music_narm.yml
│ │ │ ├── window_30music_nextitnet.yml
│ │ │ ├── window_30music_sgnn.yml
│ │ │ ├── window_30music_smf.yml
│ │ │ ├── window_30music_sr.yml
│ │ │ ├── window_30music_stan.yml
│ │ │ └── window_30music_vstan.yml
│ │ │ ├── window_30music_baselines.yml
│ │ │ ├── window_30music_csrm.yml
│ │ │ ├── window_30music_models.yml
│ │ │ ├── window_30music_sgnn.yml
│ │ │ ├── window_30music_stan.yml
│ │ │ ├── window_30music_vstan.yml
│ │ │ ├── window_multiple_30music_baselines.yml
│ │ │ ├── window_multiple_30music_csrm.yml
│ │ │ ├── window_multiple_30music_models.yml
│ │ │ ├── window_multiple_30music_sgnn.yml
│ │ │ ├── window_multiple_30music_stan.yml
│ │ │ └── window_multiple_30music_vstan.yml
│ ├── 8tracks
│ │ └── window
│ │ │ ├── hybrids_window_8tracks.yml
│ │ │ ├── opt
│ │ │ ├── window_8tracks_csrm.yml
│ │ │ ├── window_8tracks_gru.yml
│ │ │ ├── window_8tracks_knn.yml
│ │ │ ├── window_8tracks_narm.yml
│ │ │ ├── window_8tracks_nextitnet.yml
│ │ │ ├── window_8tracks_sgnn.yml
│ │ │ ├── window_8tracks_sr.yml
│ │ │ ├── window_8tracks_stamp.yml
│ │ │ ├── window_8tracks_stan.yml
│ │ │ └── window_8tracks_vstan.yml
│ │ │ ├── window_8tracks_baselines.yml
│ │ │ ├── window_8tracks_csrm.yml
│ │ │ ├── window_8tracks_models.yml
│ │ │ ├── window_8tracks_sgnn.yml
│ │ │ ├── window_8tracks_stan.yml
│ │ │ ├── window_8tracks_time.yml
│ │ │ ├── window_8tracks_time_nextitnet.yml
│ │ │ ├── window_multiple_8tracks_baselines.yml
│ │ │ ├── window_multiple_8tracks_csrm.yml
│ │ │ ├── window_multiple_8tracks_models.yml
│ │ │ └── window_multiple_8tracks_stan.yml
│ ├── aotm
│ │ ├── hybrids_window_aotm.yml
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_aotm_csrm.yml
│ │ │ ├── window_aotm_gru.yml
│ │ │ ├── window_aotm_knn.yml
│ │ │ ├── window_aotm_narm.yml
│ │ │ ├── window_aotm_nextitnet.yml
│ │ │ ├── window_aotm_sgnn.yml
│ │ │ ├── window_aotm_smf.yml
│ │ │ ├── window_aotm_sr.yml
│ │ │ ├── window_aotm_stan.yml
│ │ │ └── window_aotm_vstan.yml
│ │ │ ├── window_aotm_baselines.yml
│ │ │ ├── window_aotm_models.yml
│ │ │ ├── window_aotm_smf.yml
│ │ │ ├── window_aotm_srgnn.yml
│ │ │ ├── window_aotm_stan.yml
│ │ │ ├── window_aotm_vstan.yml
│ │ │ ├── window_multiple_aotm_baselines.yml
│ │ │ ├── window_multiple_aotm_models.yml
│ │ │ ├── window_multiple_aotm_smf.yml
│ │ │ ├── window_multiple_aotm_srgnn.yml
│ │ │ ├── window_multiple_aotm_stan.yml
│ │ │ └── window_multiple_aotm_vstan.yml
│ ├── cosmetics
│ │ └── session_aware
│ │ │ ├── scalability
│ │ │ ├── window_cosmetics_baselines.yml
│ │ │ ├── window_cosmetics_session_aware.yml
│ │ │ └── window_cosmetics_session_based.yml
│ │ │ └── window
│ │ │ ├── exp
│ │ │ ├── gru4rec
│ │ │ │ ├── window_cosmetics_gru4rec.yml
│ │ │ │ └── window_cosmetics_gru4rec_R.yml
│ │ │ ├── narm
│ │ │ │ ├── window_cosmetics_narm.yml
│ │ │ │ └── window_cosmetics_narm_R.yml
│ │ │ ├── sr
│ │ │ │ └── window_cosmetics_sr_extensions.yml
│ │ │ ├── stan
│ │ │ │ ├── window_cosmetics_stan.yml
│ │ │ │ ├── window_cosmetics_stan_B.yml
│ │ │ │ ├── window_cosmetics_stan_E.yml
│ │ │ │ ├── window_cosmetics_stan_EB.yml
│ │ │ │ ├── window_cosmetics_stan_EBR.yml
│ │ │ │ ├── window_cosmetics_stan_ER.yml
│ │ │ │ └── window_cosmetics_stan_R.yml
│ │ │ ├── vsknn
│ │ │ │ ├── window_cosmetics_vsknn.yml
│ │ │ │ ├── window_cosmetics_vsknn_B.yml
│ │ │ │ ├── window_cosmetics_vsknn_E.yml
│ │ │ │ ├── window_cosmetics_vsknn_EB.yml
│ │ │ │ ├── window_cosmetics_vsknn_EBR.yml
│ │ │ │ ├── window_cosmetics_vsknn_ER.yml
│ │ │ │ └── window_cosmetics_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ │ ├── window_cosmetics_vstan.yml
│ │ │ │ ├── window_cosmetics_vstan_B.yml
│ │ │ │ ├── window_cosmetics_vstan_E.yml
│ │ │ │ ├── window_cosmetics_vstan_EB.yml
│ │ │ │ ├── window_cosmetics_vstan_EBR.yml
│ │ │ │ └── window_cosmetics_vstan_ER.yml
│ │ │ ├── window_cosmetics_hgru4rec.yml
│ │ │ ├── window_cosmetics_ii_rnn.yml
│ │ │ ├── window_cosmetics_ncfs.yml
│ │ │ ├── window_cosmetics_nsar.yml
│ │ │ └── window_cosmetics_shan.yml
│ │ │ └── opt
│ │ │ ├── gru4rec
│ │ │ ├── window_cosmetics_gru4rec.yml
│ │ │ └── window_cosmetics_gru4rec_R.yml
│ │ │ ├── narm
│ │ │ ├── window_cosmetics_narm.yml
│ │ │ └── window_cosmetics_narm_R.yml
│ │ │ ├── shan_all_combination
│ │ │ ├── window_cosmetics_shan_1.yml
│ │ │ ├── window_cosmetics_shan_2.yml
│ │ │ ├── window_cosmetics_shan_3.yml
│ │ │ ├── window_cosmetics_shan_4.yml
│ │ │ ├── window_cosmetics_shan_5.yml
│ │ │ ├── window_cosmetics_shan_6.yml
│ │ │ ├── window_cosmetics_shan_7.yml
│ │ │ ├── window_cosmetics_shan_8.yml
│ │ │ └── window_cosmetics_shan_9.yml
│ │ │ ├── sr
│ │ │ ├── window_cosmetics_sr.yml
│ │ │ ├── window_cosmetics_sr_B.yml
│ │ │ ├── window_cosmetics_sr_BR.yml
│ │ │ └── window_cosmetics_sr_R.yml
│ │ │ ├── stan
│ │ │ ├── window_cosmetics_stan.yml
│ │ │ ├── window_cosmetics_stan_B.yml
│ │ │ ├── window_cosmetics_stan_E.yml
│ │ │ ├── window_cosmetics_stan_EB.yml
│ │ │ ├── window_cosmetics_stan_EBR.yml
│ │ │ ├── window_cosmetics_stan_ER.yml
│ │ │ └── window_cosmetics_stan_R.yml
│ │ │ ├── vsknn
│ │ │ ├── window_cosmetics_vsknn.yml
│ │ │ ├── window_cosmetics_vsknn_B.yml
│ │ │ ├── window_cosmetics_vsknn_E.yml
│ │ │ ├── window_cosmetics_vsknn_EB.yml
│ │ │ ├── window_cosmetics_vsknn_EBR.yml
│ │ │ ├── window_cosmetics_vsknn_ER.yml
│ │ │ └── window_cosmetics_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ ├── window_cosmetics_vstan.yml
│ │ │ ├── window_cosmetics_vstan_B.yml
│ │ │ ├── window_cosmetics_vstan_E.yml
│ │ │ ├── window_cosmetics_vstan_EB.yml
│ │ │ ├── window_cosmetics_vstan_EBR.yml
│ │ │ ├── window_cosmetics_vstan_ER.yml
│ │ │ └── window_cosmetics_vstan_R.yml
│ │ │ ├── window_cosmetics_hgru4rec.yml
│ │ │ ├── window_cosmetics_ii_rnn.yml
│ │ │ ├── window_cosmetics_ncfs.yml
│ │ │ └── window_cosmetics_nsar.yml
│ ├── diginetica
│ │ ├── single split
│ │ │ ├── opt
│ │ │ │ ├── opt_digi_sgnn.yml
│ │ │ │ ├── single_digi_gru.yml
│ │ │ │ ├── single_digi_knn.yml
│ │ │ │ ├── single_digi_narm.yml
│ │ │ │ ├── single_digi_smf.yml
│ │ │ │ ├── single_digi_sr.yml
│ │ │ │ ├── single_digi_stamp.yml
│ │ │ │ ├── single_digi_stan.yml
│ │ │ │ ├── single_digi_vstan.yml
│ │ │ │ ├── single_wrongtime_digi_gru.yml
│ │ │ │ ├── single_wrongtime_digi_knn.yml
│ │ │ │ ├── single_wrongtime_digi_narm.yml
│ │ │ │ ├── single_wrongtime_digi_nextitnet.yml
│ │ │ │ ├── single_wrongtime_digi_sr.yml
│ │ │ │ └── single_wrongtime_digi_stamp.yml
│ │ │ ├── single_digi_baselines.yml
│ │ │ ├── single_digi_models.yml
│ │ │ ├── single_digi_stan.yml
│ │ │ ├── single_digi_vstan.yml
│ │ │ ├── single_multiple_digi_baselines.yml
│ │ │ ├── single_multiple_digi_models.yml
│ │ │ ├── single_multiple_digi_stan.yml
│ │ │ ├── single_multiple_digi_vstan.yml
│ │ │ ├── single_multiple_wrongtime_digi_baselines.yml
│ │ │ ├── single_multiple_wrongtime_digi_models.yml
│ │ │ ├── single_wrongtime_digi_baselines.yml
│ │ │ └── single_wrongtime_digi_models.yml
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_digi_csrm.yml
│ │ │ ├── window_digi_gru.yml
│ │ │ ├── window_digi_knn.yml
│ │ │ ├── window_digi_narm.yml
│ │ │ ├── window_digi_nextitnet.yml
│ │ │ ├── window_digi_sgnn.yml
│ │ │ ├── window_digi_smf.yml
│ │ │ ├── window_digi_sr.yml
│ │ │ ├── window_digi_stamp.yml
│ │ │ ├── window_digi_stan.yml
│ │ │ └── window_digi_vstan.yml
│ │ │ ├── opt_wrongtime
│ │ │ ├── window_wrongtime_digi_gru.yml
│ │ │ ├── window_wrongtime_digi_knn.yml
│ │ │ ├── window_wrongtime_digi_narm.yml
│ │ │ ├── window_wrongtime_digi_nextitnet.yml
│ │ │ ├── window_wrongtime_digi_sr.yml
│ │ │ └── window_wrongtime_digi_stamp.yml
│ │ │ ├── window_digi_baselines.yml
│ │ │ ├── window_digi_models.yml
│ │ │ ├── window_digi_sgnn.yml
│ │ │ ├── window_digi_smf.yml
│ │ │ ├── window_digi_stan.yml
│ │ │ ├── window_digi_vstan.yml
│ │ │ ├── window_multiple_digi_baselines.yml
│ │ │ ├── window_multiple_digi_models.yml
│ │ │ ├── window_multiple_digi_sgnn.yml
│ │ │ ├── window_multiple_digi_stan.yml
│ │ │ ├── window_multiple_digi_vstan.yml
│ │ │ ├── window_wrongtime_digi_baselines.yml
│ │ │ ├── window_wrongtime_digi_models.yml
│ │ │ ├── window_wrongtime_multiple_digi_baselines.yml
│ │ │ └── window_wrongtime_multiple_digi_models.yml
│ ├── lastfm
│ │ └── session_aware
│ │ │ ├── scalability
│ │ │ ├── window_lastfm_baselines.yml
│ │ │ ├── window_lastfm_session_aware.yml
│ │ │ └── window_lastfm_session_based.yml
│ │ │ ├── single
│ │ │ └── opt
│ │ │ │ ├── single_lastfm_hgru4rec.yml
│ │ │ │ ├── single_lastfm_ii_rnn.yml
│ │ │ │ ├── single_lastfm_ncfs.yml
│ │ │ │ └── single_lastfm_uvsknn.yml
│ │ │ └── window
│ │ │ ├── exp
│ │ │ ├── gru4rec
│ │ │ │ ├── window_lastfm_gru4rec.yml
│ │ │ │ └── window_lastfm_gru4rec_E.yml
│ │ │ ├── narm
│ │ │ │ ├── window_lastfm_narm.yml
│ │ │ │ └── window_lastfm_narm_E.yml
│ │ │ ├── sr
│ │ │ │ ├── window_lastfm_sr.yml
│ │ │ │ └── window_lastfm_usr.yml
│ │ │ ├── stan
│ │ │ │ ├── window_lastfm_stan.yml
│ │ │ │ ├── window_lastfm_stan_B.yml
│ │ │ │ ├── window_lastfm_stan_E.yml
│ │ │ │ ├── window_lastfm_stan_EB.yml
│ │ │ │ ├── window_lastfm_stan_EBR.yml
│ │ │ │ ├── window_lastfm_stan_ER.yml
│ │ │ │ └── window_lastfm_stan_R.yml
│ │ │ ├── vsknn
│ │ │ │ ├── window_lastfm_vsknn.yml
│ │ │ │ ├── window_lastfm_vsknn_B.yml
│ │ │ │ ├── window_lastfm_vsknn_E.yml
│ │ │ │ ├── window_lastfm_vsknn_EB.yml
│ │ │ │ ├── window_lastfm_vsknn_EBR.yml
│ │ │ │ ├── window_lastfm_vsknn_ER.yml
│ │ │ │ └── window_lastfm_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ │ ├── window_lastfm_vstan.yml
│ │ │ │ ├── window_lastfm_vstan_B.yml
│ │ │ │ ├── window_lastfm_vstan_E.yml
│ │ │ │ ├── window_lastfm_vstan_EB.yml
│ │ │ │ ├── window_lastfm_vstan_EBR.yml
│ │ │ │ ├── window_lastfm_vstan_ER.yml
│ │ │ │ └── window_lastfm_vstan_R.yml
│ │ │ ├── window_lastfm_hgru4rec.yml
│ │ │ ├── window_lastfm_ii_rnn.yml
│ │ │ ├── window_lastfm_ncfs.yml
│ │ │ ├── window_lastfm_nsar.yml
│ │ │ └── window_lastfm_shan.yml
│ │ │ └── opt
│ │ │ ├── gru4rec
│ │ │ ├── window_lastfm_gru4rec.yml
│ │ │ ├── window_lastfm_gru4rec_E.yml
│ │ │ └── window_lastfm_gru4rec_R.yml
│ │ │ ├── ii_rnn
│ │ │ ├── window_lastfm_ii_rnn_100_epochs.yml
│ │ │ └── window_lastfm_ii_rnn_20_epochs.yml
│ │ │ ├── narm
│ │ │ ├── window_lastfm_narm.yml
│ │ │ ├── window_lastfm_narm_E.yml
│ │ │ └── window_lastfm_narm_R.yml
│ │ │ ├── shan_all_combination
│ │ │ ├── window_lastfm_shan_1.yml
│ │ │ ├── window_lastfm_shan_2.yml
│ │ │ ├── window_lastfm_shan_3.yml
│ │ │ ├── window_lastfm_shan_4.yml
│ │ │ ├── window_lastfm_shan_5.yml
│ │ │ ├── window_lastfm_shan_6.yml
│ │ │ ├── window_lastfm_shan_7.yml
│ │ │ ├── window_lastfm_shan_8.yml
│ │ │ └── window_lastfm_shan_9.yml
│ │ │ ├── sr
│ │ │ ├── window_lastfm_sr.yml
│ │ │ ├── window_lastfm_sr_B.yml
│ │ │ ├── window_lastfm_sr_BR.yml
│ │ │ └── window_lastfm_sr_R.yml
│ │ │ ├── stan
│ │ │ ├── window_lastfm_stan.yml
│ │ │ ├── window_lastfm_stan_B.yml
│ │ │ ├── window_lastfm_stan_E.yml
│ │ │ ├── window_lastfm_stan_EB.yml
│ │ │ ├── window_lastfm_stan_EBR.yml
│ │ │ ├── window_lastfm_stan_ER.yml
│ │ │ └── window_lastfm_stan_R.yml
│ │ │ ├── vsknn
│ │ │ ├── window_lastfm_vsknn.yml
│ │ │ ├── window_lastfm_vsknn_B.yml
│ │ │ ├── window_lastfm_vsknn_E.yml
│ │ │ ├── window_lastfm_vsknn_EB.yml
│ │ │ ├── window_lastfm_vsknn_EBR.yml
│ │ │ ├── window_lastfm_vsknn_ER.yml
│ │ │ └── window_lastfm_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ ├── window_lastfm_vstan.yml
│ │ │ ├── window_lastfm_vstan_B.yml
│ │ │ ├── window_lastfm_vstan_E.yml
│ │ │ ├── window_lastfm_vstan_EB.yml
│ │ │ ├── window_lastfm_vstan_EBR.yml
│ │ │ ├── window_lastfm_vstan_ER.yml
│ │ │ └── window_lastfm_vstan_R.yml
│ │ │ ├── window_lastfm_hgru4rec.yml
│ │ │ ├── window_lastfm_ncfs.yml
│ │ │ ├── window_lastfm_nsar.yml
│ │ │ └── window_lastfm_shan.yml
│ ├── nowplaying
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_aotm_knn.yml
│ │ │ ├── window_nowplaying_csrm.yml
│ │ │ ├── window_nowplaying_csrm.yml~513094df8433db6ca6b1100d4a760f30bb014381
│ │ │ ├── window_nowplaying_gru.yml
│ │ │ ├── window_nowplaying_nextitnet.yml
│ │ │ ├── window_nowplaying_sgnn.yml
│ │ │ ├── window_nowplaying_smf.yml
│ │ │ ├── window_nowplaying_sr.yml
│ │ │ ├── window_nowplaying_stan.yml
│ │ │ └── window_nowplaying_vstan.yml
│ │ │ ├── window_multiple_nowplaying_baselines.yml
│ │ │ ├── window_multiple_nowplaying_csrm.yml
│ │ │ ├── window_multiple_nowplaying_models.yml
│ │ │ ├── window_multiple_nowplaying_smf.yml
│ │ │ ├── window_multiple_nowplaying_srgnn.yml
│ │ │ ├── window_multiple_nowplaying_stamp.yml
│ │ │ ├── window_multiple_nowplaying_stan.yml
│ │ │ ├── window_multiple_nowplaying_vstan.yml
│ │ │ ├── window_nowplaying_baselines.yml
│ │ │ ├── window_nowplaying_csrm.yml
│ │ │ ├── window_nowplaying_models.yml
│ │ │ ├── window_nowplaying_smf.yml
│ │ │ ├── window_nowplaying_srgnn.yml
│ │ │ ├── window_nowplaying_stamp.yml
│ │ │ ├── window_nowplaying_stan.yml
│ │ │ └── window_nowplaying_vstan.yml
│ ├── retailrocket
│ │ ├── session_aware
│ │ │ ├── scalability
│ │ │ │ ├── window_retailrocket_baselines.yml
│ │ │ │ ├── window_retailrocket_session_aware.yml
│ │ │ │ └── window_retailrocket_session_based.yml
│ │ │ ├── single
│ │ │ │ ├── exp
│ │ │ │ │ ├── single_retailrocket_gru4rec.yml
│ │ │ │ │ ├── single_retailrocket_hgru4rec.yml
│ │ │ │ │ ├── single_retailrocket_ii_rnn.yml
│ │ │ │ │ ├── single_retailrocket_narm.yml
│ │ │ │ │ ├── single_retailrocket_ncfs.yml
│ │ │ │ │ ├── single_retailrocket_nsar.yml
│ │ │ │ │ ├── single_retailrocket_shan.yml
│ │ │ │ │ ├── single_retailrocket_sr.yml
│ │ │ │ │ ├── single_retailrocket_ugru4rec.yml
│ │ │ │ │ ├── single_retailrocket_unarm.yml
│ │ │ │ │ ├── single_retailrocket_usr.yml
│ │ │ │ │ ├── single_retailrocket_uvsknn.yml
│ │ │ │ │ └── single_retailrocket_vsknn.yml
│ │ │ │ └── opt
│ │ │ │ │ ├── narm
│ │ │ │ │ ├── single_retailrocket_narm.yml
│ │ │ │ │ ├── single_retailrocket_narm_reminders.yml
│ │ │ │ │ ├── single_retailrocket_unarm.yml
│ │ │ │ │ └── single_retailrocket_unarm_reminders.yml
│ │ │ │ │ ├── single_retailrocket_hgru4rec.yml
│ │ │ │ │ ├── single_retailrocket_ii_rnn.yml
│ │ │ │ │ ├── single_retailrocket_ncfs.yml
│ │ │ │ │ ├── single_retailrocket_nsar.yml
│ │ │ │ │ ├── single_retailrocket_shan.yml
│ │ │ │ │ ├── ugru4rec
│ │ │ │ │ ├── single_retailrocket_gru4rec.yml
│ │ │ │ │ ├── single_retailrocket_gru4rec_reminders.yml
│ │ │ │ │ ├── single_retailrocket_ugru4rec.yml
│ │ │ │ │ └── single_retailrocket_ugru4rec_reminders.yml
│ │ │ │ │ ├── usr
│ │ │ │ │ ├── single_retailrocket_sr.yml
│ │ │ │ │ ├── single_retailrocket_sr_reminders.yml
│ │ │ │ │ ├── single_retailrocket_usr.yml
│ │ │ │ │ └── single_retailrocket_usr_reminders.yml
│ │ │ │ │ └── uvsknn
│ │ │ │ │ ├── single_retailrocket_uvsknn.yml
│ │ │ │ │ ├── single_retailrocket_uvsknn_reminders.yml
│ │ │ │ │ ├── single_retailrocket_vsknn.yml
│ │ │ │ │ └── single_retailrocket_vsknn_reminder.yml
│ │ │ └── window
│ │ │ │ ├── exp
│ │ │ │ ├── gru4rec
│ │ │ │ │ ├── window_retailrocket_gru4rec.yml
│ │ │ │ │ ├── window_retailrocket_gru4rec_E.yml
│ │ │ │ │ └── window_retailrocket_gru4rec_R.yml
│ │ │ │ ├── narm
│ │ │ │ │ ├── window_retailrocket_narm.yml
│ │ │ │ │ ├── window_retailrocket_narm_E.yml
│ │ │ │ │ └── window_retailrocket_narm_R.yml
│ │ │ │ ├── sr
│ │ │ │ │ ├── window_retailrocket_sr.yml
│ │ │ │ │ └── window_retailrocket_usr.yml
│ │ │ │ ├── stan
│ │ │ │ │ ├── window_retailrocket_stan.yml
│ │ │ │ │ ├── window_retailrocket_stan_B.yml
│ │ │ │ │ ├── window_retailrocket_stan_E.yml
│ │ │ │ │ ├── window_retailrocket_stan_EB.yml
│ │ │ │ │ ├── window_retailrocket_stan_EBR.yml
│ │ │ │ │ ├── window_retailrocket_stan_ER.yml
│ │ │ │ │ └── window_retailrocket_stan_R.yml
│ │ │ │ ├── vsknn
│ │ │ │ │ ├── window_retailrocket_vsknn.yml
│ │ │ │ │ ├── window_retailrocket_vsknn_B.yml
│ │ │ │ │ ├── window_retailrocket_vsknn_E.yml
│ │ │ │ │ ├── window_retailrocket_vsknn_EB.yml
│ │ │ │ │ ├── window_retailrocket_vsknn_EBR.yml
│ │ │ │ │ ├── window_retailrocket_vsknn_ER.yml
│ │ │ │ │ └── window_retailrocket_vsknn_R.yml
│ │ │ │ ├── vstan
│ │ │ │ │ ├── window_retailrocket_vstan.yml
│ │ │ │ │ ├── window_retailrocket_vstan_B.yml
│ │ │ │ │ ├── window_retailrocket_vstan_E.yml
│ │ │ │ │ ├── window_retailrocket_vstan_EB.yml
│ │ │ │ │ ├── window_retailrocket_vstan_EBR.yml
│ │ │ │ │ ├── window_retailrocket_vstan_ER.yml
│ │ │ │ │ └── window_retailrocket_vstan_R.yml
│ │ │ │ ├── window_retailrocket_hgru4rec.yml
│ │ │ │ ├── window_retailrocket_ii_rnn.yml
│ │ │ │ ├── window_retailrocket_ncfs.yml
│ │ │ │ ├── window_retailrocket_nsar.yml
│ │ │ │ └── window_retailrocket_shan.yml
│ │ │ │ └── opt
│ │ │ │ ├── gru4rec
│ │ │ │ ├── window_retailrocket_gru4rec.yml
│ │ │ │ ├── window_retailrocket_gru4rec_E.yml
│ │ │ │ └── window_retailrocket_gru4rec_R.yml
│ │ │ │ ├── ii_rnn
│ │ │ │ ├── window_retailrocket_ii_rnn_100_epochs.yml
│ │ │ │ └── window_retailrocket_ii_rnn_20_epochs.yml
│ │ │ │ ├── narm
│ │ │ │ ├── window_retailrocket_narm.yml
│ │ │ │ ├── window_retailrocket_narm_E.yml
│ │ │ │ └── window_retailrocket_narm_R.yml
│ │ │ │ ├── shan_all_combination
│ │ │ │ ├── window_retailrocket_shan_1.yml
│ │ │ │ ├── window_retailrocket_shan_2.yml
│ │ │ │ ├── window_retailrocket_shan_3.yml
│ │ │ │ ├── window_retailrocket_shan_4.yml
│ │ │ │ ├── window_retailrocket_shan_5.yml
│ │ │ │ ├── window_retailrocket_shan_6.yml
│ │ │ │ ├── window_retailrocket_shan_7.yml
│ │ │ │ ├── window_retailrocket_shan_8.yml
│ │ │ │ └── window_retailrocket_shan_9.yml
│ │ │ │ ├── sr
│ │ │ │ ├── window_retailrocket_sr.yml
│ │ │ │ ├── window_retailrocket_sr_B.yml
│ │ │ │ ├── window_retailrocket_sr_BR.yml
│ │ │ │ └── window_retailrocket_sr_R.yml
│ │ │ │ ├── stan
│ │ │ │ ├── window_retailrocket_stan.yml
│ │ │ │ ├── window_retailrocket_stan_B.yml
│ │ │ │ ├── window_retailrocket_stan_E.yml
│ │ │ │ ├── window_retailrocket_stan_EB.yml
│ │ │ │ ├── window_retailrocket_stan_EBR.yml
│ │ │ │ ├── window_retailrocket_stan_ER.yml
│ │ │ │ └── window_retailrocket_stan_R.yml
│ │ │ │ ├── vsknn
│ │ │ │ ├── window_retailrocket_vsknn.yml
│ │ │ │ ├── window_retailrocket_vsknn_B.yml
│ │ │ │ ├── window_retailrocket_vsknn_E.yml
│ │ │ │ ├── window_retailrocket_vsknn_EB.yml
│ │ │ │ ├── window_retailrocket_vsknn_EBR.yml
│ │ │ │ ├── window_retailrocket_vsknn_ER.yml
│ │ │ │ └── window_retailrocket_vsknn_R.yml
│ │ │ │ ├── vstan
│ │ │ │ ├── window_retailrocket_vstan.yml
│ │ │ │ ├── window_retailrocket_vstan_B.yml
│ │ │ │ ├── window_retailrocket_vstan_E.yml
│ │ │ │ ├── window_retailrocket_vstan_EB.yml
│ │ │ │ ├── window_retailrocket_vstan_EBR.yml
│ │ │ │ ├── window_retailrocket_vstan_ER.yml
│ │ │ │ └── window_retailrocket_vstan_R.yml
│ │ │ │ ├── window_retailrocket_hgru4rec.yml
│ │ │ │ ├── window_retailrocket_ncfs.yml
│ │ │ │ └── window_retailrocket_nsar.yml
│ │ ├── session_based
│ │ │ ├── hybrids_window_retail.yml
│ │ │ └── window
│ │ │ │ ├── opt
│ │ │ │ ├── window_retailrocket_csrm.yml
│ │ │ │ ├── window_retailrocket_gru.yml
│ │ │ │ ├── window_retailrocket_knn.yml
│ │ │ │ ├── window_retailrocket_knnidf.yml
│ │ │ │ ├── window_retailrocket_narm.yml
│ │ │ │ ├── window_retailrocket_nextitnet.yml
│ │ │ │ ├── window_retailrocket_sgnn.yml
│ │ │ │ ├── window_retailrocket_smf.yml
│ │ │ │ ├── window_retailrocket_sr.yml
│ │ │ │ ├── window_retailrocket_stan.yml
│ │ │ │ └── window_retailrocket_vstan.yml
│ │ │ │ ├── window_multiple_retailr_baselines.yml
│ │ │ │ ├── window_multiple_retailr_models.yml
│ │ │ │ ├── window_multiple_retailr_smf.yml
│ │ │ │ ├── window_multiple_retailr_stan.yml
│ │ │ │ ├── window_multiple_retailr_vstan.yml
│ │ │ │ ├── window_retailr_baselines.yml
│ │ │ │ ├── window_retailr_models.yml
│ │ │ │ ├── window_retailr_smf.yml
│ │ │ │ ├── window_retailr_stan.yml
│ │ │ │ └── window_retailr_vstan.yml
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_retailrocket_csrm.yml
│ │ │ ├── window_retailrocket_sgnn.yml
│ │ │ ├── window_retailrocket_smf.yml
│ │ │ ├── window_retailrocket_stan.yml
│ │ │ └── window_retailrocket_vstan.yml
│ │ │ ├── window_multiple_retailr_smf.yml
│ │ │ ├── window_multiple_retailr_stan.yml
│ │ │ ├── window_multiple_retailr_vstan.yml
│ │ │ ├── window_retailr_smf.yml
│ │ │ ├── window_retailr_stan.yml
│ │ │ └── window_retailr_vstan.yml
│ ├── rsc15
│ │ ├── hybrids_window_rsc15_multiple.yml
│ │ ├── single
│ │ │ ├── opt
│ │ │ │ └── single_rsc15_vstan.yml
│ │ │ ├── single_multiple_rsc15_vstan.yml
│ │ │ └── single_rsc15_vstan.yml
│ │ └── window
│ │ │ ├── opt
│ │ │ ├── window_rsc15_csrm.yml
│ │ │ ├── window_rsc15_gru.yml
│ │ │ ├── window_rsc15_knn.yml
│ │ │ ├── window_rsc15_knnidf.yml
│ │ │ ├── window_rsc15_nextitnet.yml
│ │ │ ├── window_rsc15_sgnn.yml
│ │ │ ├── window_rsc15_smf.yml
│ │ │ ├── window_rsc15_sr.yml
│ │ │ ├── window_rsc15_stan.yml
│ │ │ └── window_rsc15_vstan.yml
│ │ │ ├── top10
│ │ │ └── csrm
│ │ │ │ ├── window_multiple_rsc15_csrm_3.yml
│ │ │ │ ├── window_multiple_rsc15_csrm_3_saver.yml
│ │ │ │ ├── window_multiple_rsc15_csrm_5.yml
│ │ │ │ ├── window_multiple_rsc15_csrm_6.yml
│ │ │ │ ├── window_multiple_rsc15_csrm_8.yml
│ │ │ │ ├── window_rsc15_csrm_1.yml
│ │ │ │ ├── window_rsc15_csrm_10.yml
│ │ │ │ ├── window_rsc15_csrm_2.yml
│ │ │ │ ├── window_rsc15_csrm_3.yml
│ │ │ │ ├── window_rsc15_csrm_4.yml
│ │ │ │ ├── window_rsc15_csrm_5.yml
│ │ │ │ ├── window_rsc15_csrm_6.yml
│ │ │ │ ├── window_rsc15_csrm_7.yml
│ │ │ │ ├── window_rsc15_csrm_8.yml
│ │ │ │ └── window_rsc15_csrm_9.yml
│ │ │ ├── window_multiple_rsc15_baselines.yml
│ │ │ ├── window_multiple_rsc15_csrm.yml
│ │ │ ├── window_multiple_rsc15_models.yml
│ │ │ ├── window_multiple_rsc15_nextitnet.yml
│ │ │ ├── window_multiple_rsc15_smf.yml
│ │ │ ├── window_multiple_rsc15_srgnn.yml
│ │ │ ├── window_multiple_rsc15_stan.yml
│ │ │ ├── window_multiple_rsc15_vstan.yml
│ │ │ ├── window_rsc15_baselines.yml
│ │ │ ├── window_rsc15_csrm.yml
│ │ │ ├── window_rsc15_memory.yml
│ │ │ ├── window_rsc15_models.yml
│ │ │ ├── window_rsc15_nextitnet.yml
│ │ │ ├── window_rsc15_stan.yml
│ │ │ ├── window_rsc15_time.yml
│ │ │ ├── window_rsc15_time_ct.yml
│ │ │ ├── window_rsc15_time_nextitnet.yml
│ │ │ └── window_rsc15_vstan.yml
│ ├── rsc15_4
│ │ └── single split
│ │ │ ├── opt
│ │ │ ├── single_rsc15_4_csrm.yml
│ │ │ ├── single_rsc15_4_gru.yml
│ │ │ ├── single_rsc15_4_narm.yml
│ │ │ ├── single_rsc15_4_sgnn.yml
│ │ │ ├── single_rsc15_4_smf.yml
│ │ │ ├── single_rsc15_4_stamp.yml
│ │ │ ├── single_rsc15_4_stan.yml
│ │ │ ├── single_rsc15_4_vstan.yml
│ │ │ ├── single_rsc_15_4_knn.yml
│ │ │ └── single_rsc_15_4_sr.yml
│ │ │ ├── single_multiple_rsc15_4_baselines.yml
│ │ │ ├── single_multiple_rsc15_4_csrm.yml
│ │ │ ├── single_multiple_rsc15_4_models.yml
│ │ │ ├── single_multiple_rsc15_4_sgnn.yml
│ │ │ ├── single_multiple_rsc15_4_stan.yml
│ │ │ ├── single_multiple_rsc15_4_vstan.yml
│ │ │ ├── single_rsc15_4_baselines.yml
│ │ │ ├── single_rsc15_4_csrm.yml
│ │ │ ├── single_rsc15_4_ct.yml
│ │ │ ├── single_rsc15_4_models.yml
│ │ │ ├── single_rsc15_4_sgnn.yml
│ │ │ ├── single_rsc15_4_stan.yml
│ │ │ └── single_rsc15_4_vstan.yml
│ ├── rsc15_64
│ │ ├── single split
│ │ │ └── opt
│ │ │ │ ├── single_rsc15_54_stan.yml
│ │ │ │ ├── single_rsc15_54_vstan.yml
│ │ │ │ ├── single_rsc15_64_csrm.yml
│ │ │ │ ├── single_rsc15_64_sgnn.yml
│ │ │ │ ├── single_rsc15_64_smf.yml
│ │ │ │ ├── single_rsc_15_64_knn.yml
│ │ │ │ └── single_rsc_15_64_sr.yml
│ │ ├── single_multiple_rsc15_64_baselines.yml
│ │ ├── single_multiple_rsc15_64_models.yml
│ │ ├── single_multiple_rsc15_64_srgnn.yml
│ │ ├── single_multiple_rsc15_64_stan.yml
│ │ ├── single_rsc15_64_baselines.yml
│ │ ├── single_rsc15_64_models.yml
│ │ ├── single_rsc15_64_srgnn.yml
│ │ └── single_rsc15_64_stan.yml
│ ├── tmall
│ │ └── window
│ │ │ └── opt
│ │ │ ├── window_tmall_gru.yml
│ │ │ └── window_tmall_narm.yml
│ ├── xing
│ │ └── session_aware
│ │ │ ├── scalability
│ │ │ ├── window_xing_baselines.yml
│ │ │ ├── window_xing_session_aware.yml
│ │ │ └── window_xing_session_based.yml
│ │ │ ├── single
│ │ │ ├── exp
│ │ │ │ ├── single_xing_gru4rec.yml
│ │ │ │ ├── single_xing_hgru4rec.yml
│ │ │ │ ├── single_xing_narm.yml
│ │ │ │ ├── single_xing_sr.yml
│ │ │ │ ├── single_xing_ugru4rec.yml
│ │ │ │ ├── single_xing_unarm.yml
│ │ │ │ ├── single_xing_usr.yml
│ │ │ │ ├── single_xing_uvsknn.yml
│ │ │ │ └── single_xing_vsknn.yml
│ │ │ └── opt
│ │ │ │ ├── narm
│ │ │ │ ├── single_xing_narm.yml
│ │ │ │ ├── single_xing_narm_reminders.yml
│ │ │ │ ├── single_xing_unarm.yml
│ │ │ │ └── single_xing_unarm_reminders.yml
│ │ │ │ ├── single_xing_hgru4rec.yml
│ │ │ │ ├── single_xing_ii_rnn.yml
│ │ │ │ ├── single_xing_ncfs.yml
│ │ │ │ ├── single_xing_nsar.yml
│ │ │ │ ├── single_xing_shan.yml
│ │ │ │ ├── ugru4rec
│ │ │ │ ├── single_xing_gru4rec.yml
│ │ │ │ ├── single_xing_gru4rec_reminders.yml
│ │ │ │ ├── single_xing_ugru4rec.yml
│ │ │ │ └── single_xing_ugru4rec_reminders.yml
│ │ │ │ ├── usr
│ │ │ │ ├── single_xing_sr.yml
│ │ │ │ ├── single_xing_sr_reminders.yml
│ │ │ │ ├── single_xing_usr.yml
│ │ │ │ └── single_xing_usr_reminders.yml
│ │ │ │ └── uvsknn
│ │ │ │ ├── single_xing_uvsknn.yml
│ │ │ │ ├── single_xing_uvsknn_reminders.yml
│ │ │ │ ├── single_xing_vsknn.yml
│ │ │ │ └── single_xing_vsknn_reminder.yml
│ │ │ └── window
│ │ │ ├── exp
│ │ │ ├── gru4rec
│ │ │ │ ├── window_xing_gru4rec.yml
│ │ │ │ ├── window_xing_gru4rec_E.yml
│ │ │ │ └── window_xing_gru4rec_R.yml
│ │ │ ├── narm
│ │ │ │ ├── window_xing_narm.yml
│ │ │ │ ├── window_xing_narm_E.yml
│ │ │ │ └── window_xing_narm_R.yml
│ │ │ ├── sr
│ │ │ │ ├── window_xing_sr.yml
│ │ │ │ └── window_xing_usr.yml
│ │ │ ├── stan
│ │ │ │ ├── window_xing_stan.yml
│ │ │ │ ├── window_xing_stan_B.yml
│ │ │ │ ├── window_xing_stan_E.yml
│ │ │ │ ├── window_xing_stan_EB.yml
│ │ │ │ ├── window_xing_stan_EBR.yml
│ │ │ │ ├── window_xing_stan_ER.yml
│ │ │ │ └── window_xing_stan_R.yml
│ │ │ ├── vsknn
│ │ │ │ ├── window_xing_vsknn.yml
│ │ │ │ ├── window_xing_vsknn_B.yml
│ │ │ │ ├── window_xing_vsknn_E.yml
│ │ │ │ ├── window_xing_vsknn_EB.yml
│ │ │ │ ├── window_xing_vsknn_EBR.yml
│ │ │ │ ├── window_xing_vsknn_ER.yml
│ │ │ │ └── window_xing_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ │ ├── window_xing_vstan.yml
│ │ │ │ ├── window_xing_vstan_B.yml
│ │ │ │ ├── window_xing_vstan_E.yml
│ │ │ │ ├── window_xing_vstan_EB.yml
│ │ │ │ ├── window_xing_vstan_EBR.yml
│ │ │ │ ├── window_xing_vstan_ER.yml
│ │ │ │ └── window_xing_vstan_R.yml
│ │ │ ├── window_xing_hgru4rec.yml
│ │ │ ├── window_xing_ii_rnn.yml
│ │ │ ├── window_xing_ncfs.yml
│ │ │ ├── window_xing_nsar.yml
│ │ │ └── window_xing_shan.yml
│ │ │ └── opt
│ │ │ ├── gru4rec
│ │ │ ├── window_xing_gru4rec.yml
│ │ │ ├── window_xing_gru4rec_E.yml
│ │ │ └── window_xing_gru4rec_R.yml
│ │ │ ├── narm
│ │ │ ├── window_xing_narm.yml
│ │ │ ├── window_xing_narm_E.yml
│ │ │ └── window_xing_narm_R.yml
│ │ │ ├── shan_all_combination
│ │ │ ├── window_xing_shan_1.yml
│ │ │ ├── window_xing_shan_2.yml
│ │ │ ├── window_xing_shan_3.yml
│ │ │ ├── window_xing_shan_4.yml
│ │ │ ├── window_xing_shan_5.yml
│ │ │ ├── window_xing_shan_6.yml
│ │ │ ├── window_xing_shan_7.yml
│ │ │ ├── window_xing_shan_8.yml
│ │ │ └── window_xing_shan_9.yml
│ │ │ ├── sr
│ │ │ ├── window_xing_sr.yml
│ │ │ ├── window_xing_sr_B.yml
│ │ │ ├── window_xing_sr_BR.yml
│ │ │ └── window_xing_sr_R.yml
│ │ │ ├── stan
│ │ │ ├── window_xing_stan.yml
│ │ │ ├── window_xing_stan_B.yml
│ │ │ ├── window_xing_stan_E.yml
│ │ │ ├── window_xing_stan_EB.yml
│ │ │ ├── window_xing_stan_EBR.yml
│ │ │ ├── window_xing_stan_ER.yml
│ │ │ └── window_xing_stan_R.yml
│ │ │ ├── vsknn
│ │ │ ├── window_xing_vsknn.yml
│ │ │ ├── window_xing_vsknn_B.yml
│ │ │ ├── window_xing_vsknn_E.yml
│ │ │ ├── window_xing_vsknn_EB.yml
│ │ │ ├── window_xing_vsknn_EBR.yml
│ │ │ ├── window_xing_vsknn_ER.yml
│ │ │ └── window_xing_vsknn_R.yml
│ │ │ ├── vstan
│ │ │ ├── window_xing_vstan.yml
│ │ │ ├── window_xing_vstan_B.yml
│ │ │ ├── window_xing_vstan_E.yml
│ │ │ ├── window_xing_vstan_EB.yml
│ │ │ ├── window_xing_vstan_EBR.yml
│ │ │ ├── window_xing_vstan_ER.yml
│ │ │ └── window_xing_vstan_R.yml
│ │ │ ├── window_xing_hgru4rec.yml
│ │ │ ├── window_xing_ii_rnn.yml
│ │ │ ├── window_xing_ncfs.yml
│ │ │ ├── window_xing_nsar.yml
│ │ │ └── window_xing_shan.yml
│ └── zalando
│ │ └── window
│ │ ├── opt
│ │ ├── window_zalando_csrm.yml
│ │ ├── window_zalando_ct.yml
│ │ ├── window_zalando_gru.yml
│ │ ├── window_zalando_knn.yml
│ │ ├── window_zalando_narm.yml
│ │ ├── window_zalando_nextitnet.yml
│ │ ├── window_zalando_sgnn.yml
│ │ ├── window_zalando_smf.yml
│ │ ├── window_zalando_sr.yml
│ │ ├── window_zalando_stan.yml
│ │ └── window_zalando_vstan.yml
│ │ ├── window_multiple_zalando_baselines.yml
│ │ ├── window_multiple_zalando_csrm.yml
│ │ ├── window_multiple_zalando_models.yml
│ │ ├── window_multiple_zalando_sgnn.yml
│ │ ├── window_multiple_zalando_stan.yml
│ │ ├── window_multiple_zalando_vstan.yml
│ │ ├── window_zalando_baselines.yml
│ │ ├── window_zalando_csrm.yml
│ │ ├── window_zalando_ct.yml
│ │ ├── window_zalando_memory.yml
│ │ ├── window_zalando_models.yml
│ │ ├── window_zalando_srgnn.yml
│ │ ├── window_zalando_stan.yml
│ │ ├── window_zalando_time.yml
│ │ ├── window_zalando_time_ct.yml
│ │ ├── window_zalando_time_nextitnet.yml
│ │ └── window_zalando_vstan.yml
└── seqpop
│ ├── test_aotm.yml
│ ├── test_nowplaying.yml
│ └── test_rsc15_64.yml
├── data
└── rsc15
│ ├── prepared
│ ├── yoochoose-clicks-100k_test.txt
│ ├── yoochoose-clicks-100k_train_full.txt
│ ├── yoochoose-clicks-100k_train_tr.txt
│ └── yoochoose-clicks-100k_train_valid.txt
│ └── recommendations
│ ├── recoms_rsc15_100k_ar.csv
│ ├── recoms_rsc15_100k_gru4rec.csv
│ ├── recoms_rsc15_100k_sr.csv
│ └── recoms_rsc15_100k_vsknn.csv
├── docker
├── cpu
│ ├── Dockerfile
│ ├── build.txt
│ └── environment_cpu.yml
└── gpu
│ ├── Dockerfile
│ ├── build.txt
│ └── environment_gpu.yml
├── docs
├── css
│ ├── sortable-theme-bootstrap.css
│ ├── sortable-theme-dark.css
│ ├── sortable-theme-finder.css
│ ├── sortable-theme-light.css
│ ├── sortable-theme-minimal.css
│ ├── sortable-theme-slick.css
│ ├── sortable-theme-tu.css
│ ├── style.css
│ └── style_anon.css
├── index.html
├── js
│ ├── install.js
│ ├── sortable.js
│ └── sortable.min.js
├── tables_opt
│ ├── opt_table_single.html
│ └── opt_tables_window.html
├── tables_single
│ ├── tables_diginetica.html
│ ├── tables_diginetica_stamp.html
│ ├── tables_rsc15_4.html
│ └── tables_rsc15_64.html
├── tables_window
│ ├── tables_30music.html
│ ├── tables_8tracks.html
│ ├── tables_aotm.html
│ ├── tables_diginetica.html
│ ├── tables_diginetica_stamp.html
│ ├── tables_nowplaying.html
│ ├── tables_retailrocket.html
│ ├── tables_rsc15.html
│ └── tables_zalando.html
└── umuai
│ ├── css
│ ├── sortable-theme-bootstrap.css
│ ├── sortable-theme-dark.css
│ ├── sortable-theme-finder.css
│ ├── sortable-theme-light.css
│ ├── sortable-theme-minimal.css
│ ├── sortable-theme-slick.css
│ ├── sortable-theme-tu.css
│ ├── style.css
│ └── style_anon.css
│ ├── index.html
│ ├── js
│ ├── install.js
│ ├── sortable.js
│ └── sortable.min.js
│ ├── tables_opt
│ ├── opt_table_single.html
│ └── opt_tables_window.html
│ └── tables_window
│ ├── tables_30music.html
│ ├── tables_8tracks.html
│ ├── tables_aotm.html
│ ├── tables_diginetica.html
│ ├── tables_diginetica_stamp.html
│ ├── tables_nowplaying.html
│ ├── tables_retailrocket.html
│ ├── tables_rsc15.html
│ └── tables_zalando.html
├── dpython
├── dpython.bat
├── dpython.orig
├── dpython_gpu
├── environment_cpu.yml
├── environment_gpu.yml
├── evaluation
├── __init__.py
├── evaluation.py
├── evaluation_last.py
├── evaluation_multiple.py
├── evaluation_next_multiple.py
├── evaluation_user_based.py
├── loader.py
└── metrics
│ ├── __init__.py
│ ├── accuracy.py
│ ├── accuracy_ext.py
│ ├── accuracy_multiple.py
│ ├── artist_coherence.py
│ ├── artist_diversity.py
│ ├── coverage.py
│ ├── popularity.py
│ ├── saver.py
│ └── time_memory_usage.py
├── helper
├── __init__.py
└── stats.py
├── markdown-github.css
├── preprocessing
├── __init__.py
├── check_statistics
│ ├── cosmetics
│ │ └── cosmetics_statistics_sampling_sliding_splitting.py
│ ├── diginetica
│ │ └── diginetica_statistics.py
│ ├── lastfm
│ │ ├── prepared
│ │ │ ├── statistics_lastfm_for_prepared.py
│ │ │ ├── statistics_lastfm_sampling_for_prepared.py
│ │ │ ├── statistics_lastfm_sliding_for_prepared.py
│ │ │ └── statistics_lastfm_sliding_splitting_for_prepared.py
│ │ ├── statistics_lastfm.py
│ │ ├── statistics_lastfm_sample.py
│ │ ├── statistics_lastfm_sampling.py
│ │ ├── statistics_lastfm_save.py
│ │ ├── statistics_lastfm_sliding.py
│ │ └── statistics_lastfm_sliding_splitting.py
│ ├── retailrocket
│ │ ├── retailrocket_statistics.py
│ │ ├── retailrocket_statistics_sampling.py
│ │ ├── retailrocket_statistics_sliding.py
│ │ ├── retailrocket_statistics_sliding_splitting.py
│ │ ├── retailrocket_statistics_timewise.py
│ │ └── retailrocket_statistics_userwise.py
│ ├── statistics_template.py
│ ├── tmall
│ │ └── statistics_tmall.py
│ └── xing
│ │ ├── statistics_xing_sample.py
│ │ ├── xing_statistics.py
│ │ ├── xing_statistics_sampling.py
│ │ ├── xing_statistics_sliding.py
│ │ ├── xing_statistics_sliding_splitting.py
│ │ └── xing_statistics_userwise.py
├── session_aware
│ ├── preprocess_cosmetics_aware.py
│ ├── preprocess_diginetica_aware.py
│ ├── preprocess_lastfm_aware.py
│ ├── preprocess_retailrocket_aware.py
│ ├── preprocess_retailrocket_aware_sample_test.py
│ └── preprocess_xing_aware.py
├── session_based
│ ├── preprocess_diginetica.py
│ ├── preprocess_dressipi.py
│ ├── preprocess_music.py
│ ├── preprocess_playlist.py
│ ├── preprocess_retailrocket.py
│ ├── preprocess_rsc15.py
│ ├── preprocess_tmall.py
│ └── preprocess_windeln.py
└── spliting_data
│ └── split_tr_valid.py
├── run_config.py
├── run_preprocessing.py
└── webpage
├── css
├── sortable-theme-bootstrap.css
├── sortable-theme-dark.css
├── sortable-theme-finder.css
├── sortable-theme-light.css
├── sortable-theme-minimal.css
├── sortable-theme-slick.css
├── sortable-theme-tu.css
├── style.css
└── style_anon.css
├── index.html
├── js
├── install.js
├── sortable.js
└── sortable.min.js
├── tables_opt
├── opt_table_single.html
└── opt_tables_window.html
├── tables_single
├── tables_diginetica.html
├── tables_diginetica_stamp.html
├── tables_rsc15_4.html
└── tables_rsc15_64.html
└── tables_window
├── tables_30music.html
├── tables_8tracks.html
├── tables_aotm.html
├── tables_diginetica.html
├── tables_diginetica_stamp.html
├── tables_nowplaying.html
├── tables_retailrocket.html
├── tables_rsc15.html
└── tables_zalando.html
/algorithms/CSRM/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/CSRM/__init__.py
--------------------------------------------------------------------------------
/algorithms/RepeatNet/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/RepeatNet/__init__.py
--------------------------------------------------------------------------------
/algorithms/RepeatNet/base/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/RepeatNet/base/__init__.py
--------------------------------------------------------------------------------
/algorithms/RepeatNet/repeat_non_repeat_bar.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from matplotlib import pyplot as plt
3 |
4 |
5 | plt.figure(figsize=(9,6))
6 |
7 |
8 | x=np.arange(4)+1
9 |
10 |
11 | y=np.array([62.81,63.11,])
--------------------------------------------------------------------------------
/algorithms/STAMP/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/basic_layer/LinearLayer.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | import tensorflow as tf
3 | from algorithms.STAMP.util.Randomer import Randomer
4 |
5 | class LinearLayer(object):
6 |
7 | def __init__(self, w_shape, stddev = None, params=None):
8 | '''
9 | :param w_shape: [input_dim, output_dim]
10 | :param stddev: 用于初始化
11 | :param params: 从外界制定参数
12 | '''
13 | if params is None:
14 | self.w = tf.Variable(
15 | Randomer.random_normal(w_shape),
16 | trainable=True
17 | )
18 | else:
19 | self.w = params['w']
20 | def forward(self, inputs):
21 | '''
22 | count
23 | '''
24 | # batch_size = tf.shape(inputs)[0]
25 | # w_shp0 = tf.shape(self.w)[0]
26 | # w_shp1 = tf.shape(self.w)[1]
27 | # w_line_3dim.shape = [batch_size, edim, edim]
28 | # w_line_3dim = tf.reshape(
29 | # tf.tile(self.w, [batch_size, 1]),
30 | # [batch_size, w_shp0, w_shp1]
31 | # )
32 | # linear translate
33 | res = tf.matmul(inputs, self.w)
34 | return res
--------------------------------------------------------------------------------
/algorithms/STAMP/basic_layer/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/basic_layer/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/data_prepare/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/data_prepare/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/data_prepare/entity/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/data_prepare/entity/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/data_prepare/entity/sample.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 |
3 | class Sample(object):
4 | '''
5 | 一个样本。
6 | '''
7 | def __init__(self):
8 | self.id = -1
9 | self.session_id = -1
10 | self.click_items = []
11 |
12 | self.items_idxes = []
13 |
14 | self.in_idxes = []
15 | self.out_idxes = []
16 | self.label = []
17 | self.pred =[]
18 | self.best_pred = []
19 | self.ext_matrix = {'alpha':[]} # 额外数据,key是名字,value是矩阵。例如attention.
20 |
21 | def __str__(self):
22 | ret = 'id: ' + str(self.id) + '\n'
23 | ret += 'session_id: ' + str(self.session_id) + '\n'
24 | ret += 'items: '+ str(self.items_idxes) + '\n'
25 | ret += 'click_items: '+ str(self.click_items) + '\n'
26 | ret += 'out: ' + str(self.out_idxes) + '\n'
27 | ret += 'in: '+ str(self.in_idxes) + '\n'
28 | ret += 'label: '+ str(self.label) + '\n'
29 | return ret
--------------------------------------------------------------------------------
/algorithms/STAMP/model/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/model/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/util/Activer.py:
--------------------------------------------------------------------------------
1 | import tensorflow as tf
2 |
3 |
4 | def activer(inputs, case='tanh'):
5 | '''
6 | The active enter.
7 | '''
8 | switch = {
9 | 'tanh': tanh,
10 | 'relu': relu,
11 | 'sigmoid': sigmoid,
12 | }
13 | func = switch.get(case, tanh)
14 | return func(inputs)
15 |
16 |
17 | def tanh(inputs):
18 | '''
19 | The tanh active.
20 | '''
21 | return tf.nn.tanh(inputs)
22 |
23 | def sigmoid(inputs):
24 | '''
25 | The sigmoid active.
26 | '''
27 | return tf.nn.sigmoid(inputs)
28 |
29 |
30 | def relu(inputs):
31 | '''
32 | The relu active.
33 | '''
34 | return tf.nn.relu(inputs)
35 |
--------------------------------------------------------------------------------
/algorithms/STAMP/util/Bitmap.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def bitmap_by_padid(inputs, padid):
4 | '''
5 | inputs: the tensor consists of ids.
6 | padid: the pad id.
7 | generate the bitmap according to the inputs and padid.
8 | the shape of bitmap is same as inputs.
9 | '''
10 | ret = []
11 | if len(np.shape(inputs)) == 1:
12 | for idx in inputs:
13 | if idx == padid:
14 | ret.append(float(0))
15 | else:
16 | ret.append(float(1))
17 | else:
18 | for ip in inputs:
19 | ret.append(bitmap_by_padid(ip, padid))
20 | return ret
21 |
--------------------------------------------------------------------------------
/algorithms/STAMP/util/FileDumpLoad.py:
--------------------------------------------------------------------------------
1 | import dill as cp
2 |
3 |
4 | def dump_file(*dps):
5 | '''
6 | dump file.
7 | dps: [data, path]s.
8 | '''
9 | for dp in dps:
10 | if len(dp) != 2:
11 | print("issue:" + str(dp))
12 | continue
13 | dfile = open(dp[1],'wb')
14 | cp.dump(dp[0], dfile)
15 | dfile.close()
16 | print ("dump file done.")
17 |
18 |
19 | def load_file(*ps):
20 | '''
21 | load file.
22 | ps: [path,...]s
23 | '''
24 | ret = []
25 | for p in ps:
26 | dfile = open(p, 'rb')
27 | ret.append(cp.load(dfile))
28 | return ret
29 |
--------------------------------------------------------------------------------
/algorithms/STAMP/util/Formater.py:
--------------------------------------------------------------------------------
1 | def add_pad(inputs = [], max_lens = [], pad_idx = 0):
2 | '''
3 | Format the input to tensor.
4 |
5 | inputs.shape = [n]
6 | max_lens.shape = [n]
7 |
8 | inputs = [nip1, nip2, ..., nipn],
9 | nipi.shape = [batch_size, len(sentence)],
10 | nipi = [[id0, id1, id2, ...], [id0, id1, id2, ...], ...]
11 |
12 | max_lens = [nml1, nml2, ..., nmln]
13 | max_lens.shape = [n]
14 | nml1 = int. means the max length of the nipi's sentences.
15 |
16 | the pad is use on the second dim of the nipi.
17 |
18 | pad_idx: the padding word's id.
19 | '''
20 | if len(inputs) != len(max_lens):
21 | print("the max_lens.len not equal the inputs.len")
22 | return
23 | for i in range(len(inputs)):
24 | nips = inputs[i]
25 | nml = max_lens[i]
26 | for nip in nips:
27 | crt_len = len(nip)
28 | for _ in range(nml - crt_len):
29 | nip.append(pad_idx)
30 |
--------------------------------------------------------------------------------
/algorithms/STAMP/util/Randomer.py:
--------------------------------------------------------------------------------
1 | import tensorflow as tf
2 |
3 | class Randomer(object):
4 | stddev = None
5 |
6 | @staticmethod
7 | def random_normal(wshape):
8 | return tf.random_normal(wshape, stddev=Randomer.stddev)
9 |
10 | @staticmethod
11 | def set_stddev(sd):
12 | Randomer.stddev = sd
--------------------------------------------------------------------------------
/algorithms/STAMP/util/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/util/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/util/batcher/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/util/batcher/__init__.py
--------------------------------------------------------------------------------
/algorithms/STAMP/util/batcher/equal_len/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/STAMP/util/batcher/equal_len/__init__.py
--------------------------------------------------------------------------------
/algorithms/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/__init__.py
--------------------------------------------------------------------------------
/algorithms/ae/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/ae/__init__.py
--------------------------------------------------------------------------------
/algorithms/ae/helper/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/ae/helper/__init__.py
--------------------------------------------------------------------------------
/algorithms/apgnn/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/apgnn/__init__.py
--------------------------------------------------------------------------------
/algorithms/baselines/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/baselines/__init__.py
--------------------------------------------------------------------------------
/algorithms/ct/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/ct/__init__.py
--------------------------------------------------------------------------------
/algorithms/filemodel/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/filemodel/__init__.py
--------------------------------------------------------------------------------
/algorithms/gru4rec/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/gru4rec/__init__.py
--------------------------------------------------------------------------------
/algorithms/gru4rec/gpu_ops.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | Created on Fri Nov 10 14:17:58 2017
4 |
5 | @author: Balázs Hidasi
6 | """
7 |
8 | import theano
9 | from theano import tensor as T
10 |
11 | def gpu_diag_wide(X):
12 | E = T.eye(*X.shape)
13 | return T.sum(X*E, axis=1)
14 |
15 | def gpu_diag_tall(X):
16 | E = T.eye(*X.shape)
17 | return T.sum(X*E, axis=0)
--------------------------------------------------------------------------------
/algorithms/hgru4rec/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/hgru4rec/__init__.py
--------------------------------------------------------------------------------
/algorithms/hybrid/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/hybrid/__init__.py
--------------------------------------------------------------------------------
/algorithms/knn/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/knn/__init__.py
--------------------------------------------------------------------------------
/algorithms/narm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/narm/__init__.py
--------------------------------------------------------------------------------
/algorithms/nextitnet/.gitignore:
--------------------------------------------------------------------------------
1 | /checkpoint
2 | /model_nextitnet.ckpt.data-00000-of-00001
3 | /model_nextitnet.ckpt.index
4 | /model_nextitnet.ckpt.meta
5 | *.swp
--------------------------------------------------------------------------------
/algorithms/nextitnet/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/nextitnet/__init__.py
--------------------------------------------------------------------------------
/algorithms/nsar/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/nsar/__init__.py
--------------------------------------------------------------------------------
/algorithms/sbr_adapter/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/sbr_adapter/__init__.py
--------------------------------------------------------------------------------
/algorithms/sbr_adapter/factorization/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/sbr_adapter/factorization/__init__.py
--------------------------------------------------------------------------------
/algorithms/sbr_adapter/helpers/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/sbr_adapter/helpers/__init__.py
--------------------------------------------------------------------------------
/algorithms/sgnn/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/sgnn/__init__.py
--------------------------------------------------------------------------------
/algorithms/shan/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/shan/__init__.py
--------------------------------------------------------------------------------
/algorithms/smf/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/algorithms/smf/__init__.py
--------------------------------------------------------------------------------
/backup/algorithms/aware_backup/knn_aware/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/backup/algorithms/aware_backup/knn_aware/__init__.py
--------------------------------------------------------------------------------
/backup/algorithms/aware_backup/knn_aware/eknn/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/backup/algorithms/aware_backup/knn_aware/eknn/__init__.py
--------------------------------------------------------------------------------
/backup/algorithms/aware_backup/smf_aware/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/backup/algorithms/aware_backup/smf_aware/__init__.py
--------------------------------------------------------------------------------
/backup/algorithms/aware_backup/smf_aware/_test.py:
--------------------------------------------------------------------------------
1 | '''
2 | Created on 06.09.2017
3 |
4 | @author: ludewig
5 | '''
6 |
7 | import numpy as np
8 |
9 | if __name__ == '__main__':
10 |
11 | pred = np.array( [0.3,0.1,0.2,0.4,0.5] )
12 |
13 | print( np.diag( pred ) )
14 | print( pred.T )
15 |
16 | print( np.diag( pred ) - pred.T )
17 |
--------------------------------------------------------------------------------
/backup/algorithms/aware_backup/smf_aware/_test.py.orig:
--------------------------------------------------------------------------------
1 | '''
2 | Created on 06.09.2017
3 |
4 | @author: ludewig
5 | '''
6 |
7 | import numpy as np
8 |
9 | if __name__ == '__main__':
10 |
11 | pred = np.array( [0.3,0.1,0.2,0.4,0.5] )
12 |
13 | print( np.diag( pred ) )
14 | print( pred.T )
15 |
16 | print( np.diag( pred ) - pred.T )
17 |
--------------------------------------------------------------------------------
/backup/conf/example/test_csrm.yml:
--------------------------------------------------------------------------------
1 | type: single # single|window, maybe add opt
2 | key: sgnn #added to the csv names
3 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: rsc #added in the end of the csv names
6 | folder: data/rsc15/prepared/
7 | #prefix: yoochoose-clicks-100k
8 | prefix: yoochoose-clicks-short
9 | # slices: 5 #only window
10 | # skip: [0,3] #only window
11 | opts: {sessions_test: 100}
12 |
13 | results:
14 | folder: results/next/rsc15/
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: saver.Saver
28 | length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: baselines.ar.AssociationRules
35 | key: ar
36 | #- class: narm.narm.NARM
37 | # params: { epochs: 10, lr: 0.007, hidden_units: 100, factors: 100 }
38 | # key: narm
39 | - class: CSRM.csrm.CSRM
40 | params: { } # , epoch_n: 30 -- for diginetica
41 | key: csrm
42 |
--------------------------------------------------------------------------------
/backup/conf/preprocess/session_aware/cosmetics_window_feb.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: cosmetics_aware # dataset (folder) name
4 | data:
5 | folder: data/cosmetics/
6 | prefix: interactions_feb
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0
16 | days_shift: 6 # total_interval = 152
17 | min_session_length: 2 #3
18 |
19 | output:
20 | folder: data/cosmetics/prepared_window/
--------------------------------------------------------------------------------
/backup/conf/preprocess/session_aware/cosmetics_window_first_3.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: cosmetics_aware # dataset (folder) name
4 | data:
5 | folder: data/cosmetics/
6 | prefix: interactions_first_3_months
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0
16 | days_shift: 15 # total_interval = 152
17 | min_session_length: 2 #3
18 |
19 | output:
20 | folder: data/cosmetics/prepared_window/
--------------------------------------------------------------------------------
/backup/conf/preprocess/session_aware/cosmetics_window_last_2_months.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: cosmetics_aware # dataset (folder) name
4 | data:
5 | folder: data/cosmetics/
6 | prefix: interactions_last_2_months
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0
16 | days_shift: 12 # total_interval = 152
17 | min_session_length: 2 #3
18 |
19 | output:
20 | folder: data/cosmetics/prepared_window/
--------------------------------------------------------------------------------
/backup/conf/preprocess/session_aware/cosmetics_window_last_3_months.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: cosmetics_aware # dataset (folder) name
4 | data:
5 | folder: data/cosmetics/
6 | prefix: interactions_last_3_months
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0
16 | days_shift: 18 # total_interval = 152
17 | min_session_length: 2 #3
18 | sampling: False # True
19 | # percentage: 50
20 |
21 | output:
22 | folder: data/cosmetics/prepared_window/sampled/
--------------------------------------------------------------------------------
/backup/conf/save/retailrocket/session_aware/scalability/window_retailrocket_hgru4rec.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: hgru4rec #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,3] # we need only slice 4 (smallest one)
11 |
12 | results:
13 | folder: results/window/scalability/retailrocket/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # HGRU4Rec
22 | - class: hgru4rec.hgru4rec.HGRU4Rec
23 | params: { final_act: 'linear', dropout_p_hidden_usr: 0.4, dropout_p_hidden_ses: 0.3, dropout_p_init: 0.4, momentum: 0.3, learning_rate: 0.06, user_propagation_mode: 'all', batch_size: 50 }
24 | key: hgru4rec
--------------------------------------------------------------------------------
/backup/conf/save/retailrocket/session_aware/scalability/window_retailrocket_iirnn.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: ii_rnn #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,3] # we need only slice 4 (smallest one)
11 |
12 | results:
13 | folder: results/window/scalability/retailrocket/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # IIRNN
22 | - class: IIRNN.ii_rnn.IIRNN
23 | params: { learning_rate: 0.002, dropout_pkeep: 0.4, embedding_size: 100, use_last_hidden_state: False, max_session_representation: 15, max_epoch: 100}
24 | key: ii_rnn
--------------------------------------------------------------------------------
/backup/conf/save/retailrocket/session_aware/scalability/window_retailrocket_ncsf.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: ncsf #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,3] # we need only slice 4 (smallest one)
11 |
12 | results:
13 | folder: results/window/scalability/retailrocket/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # NCSF
22 | - class: NCFS.ncfs.NCFS
23 | params: { window_sz: 2, max_nb_his_sess: 5, att_alpha: 10 }
24 | key: ncsf
--------------------------------------------------------------------------------
/backup/conf/save/retailrocket/session_aware/scalability/window_retailrocket_nsar.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: nsar #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,3] # we need only slice 4 (smallest one)
11 |
12 | results:
13 | folder: results/window/scalability/retailrocket/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # NSAR
22 | - class: nsar.nsar.NSAR # small network, the TOP1 loss always outperformed other ranking losses, so we consider only it
23 | params: {num_epoch: 20, batch_size: 64, keep_pr: 0.25, learning_rate: 0.01, hidden_units: 100}
24 | key: nsar
--------------------------------------------------------------------------------
/backup/conf/save/retailrocket/session_aware/scalability/window_retailrocket_shan.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: shan #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,3] # we need only slice 4 (smallest one)
11 |
12 | results:
13 | folder: results/window/scalability/retailrocket/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # SHAN
22 | - class: shan.shan.SHAN
23 | params: { iter: 100, global_dimension: 100, lambda_uv: 0.01, lambda_a: 1 }
24 | key: shan
25 |
--------------------------------------------------------------------------------
/conf/in/test_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: sgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | #prefix: yoochoose-clicks-100k
9 | prefix: yoochoose-clicks-short
10 | # slices: 5 #only window
11 | # skip: [0,3] #only window
12 | opts: {sessions_test: 100}
13 |
14 | results:
15 | folder: results/next/rsc15/
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: accuracy_multiple.NDCG
23 | length: [3,5,10,15,20]
24 | - class: coverage.Coverage
25 | length: [20]
26 | - class: popularity.Popularity
27 | length: [20]
28 | - class: saver.Saver
29 | length: [50]
30 | - class: time_memory_usage.Time_usage_training
31 | - class: time_memory_usage.Time_usage_testing
32 | #- class: time_memory_usage.Memory_usage
33 |
34 | algorithms:
35 | - class: baselines.ar.AssociationRules
36 | key: ar
37 | #- class: narm.narm.NARM
38 | # params: { epochs: 10, lr: 0.007, hidden_units: 100, factors: 100 }
39 | # key: narm
40 | - class: CSRM.csrm.CSRM
41 | params: { } # , epoch_n: 30 -- for diginetica
42 | key: csrm
43 |
--------------------------------------------------------------------------------
/conf/preprocess/retrain/diginetica.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: retrain # single|window|retrain
3 | preprocessor: diginetica #
4 | data:
5 | folder: data/diginetica/raw/
6 | prefix: train-item-views
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 14 #all days to be tested
14 | days_train: 60 #to start retaining
15 | days_retrain: 1 #numner of days to include data for retraining
16 |
17 | output:
18 | folder: data/diginetica/retrain/
--------------------------------------------------------------------------------
/conf/preprocess/retrain/nowplaying.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: retrain # single|window
3 | preprocessor: music #
4 | data:
5 | folder: data/nowplaying/raw/
6 | prefix: nowplaying
7 |
8 | filter:
9 | min_item_support: 2
10 | min_session_length: 5
11 |
12 | params:
13 | days_test: 14 #all days to be tested
14 | days_train: 60 #to start retaining
15 | days_retrain: 1 #numner of days to include data for retraining
16 |
17 | output:
18 | folder: data/nowplaying/retrain/
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/cosmetics_window.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: cosmetics_aware # dataset (folder) name
4 | data:
5 | folder: data/cosmetics/
6 | prefix: interactions
7 | sample_percentage: 10
8 |
9 | filter:
10 | min_item_support: 5 #20
11 | min_session_length: 2 #3
12 | min_user_sessions: 3 # 5
13 |
14 | params:
15 | num_slices: 5
16 | days_offset: 0
17 | days_shift: 31 # total_interval = 152
18 | min_session_length: 2 #3
19 |
20 | output:
21 | folder: data/cosmetics/prepared_window/sampled/
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/for_debugging/retailrocket_sample_test.yml:
--------------------------------------------------------------------------------
1 | type: single # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: retailrocket_aware_sample_test # dataset (folder) name
4 | data:
5 | folder: data/retailrocket/raw/
6 | prefix: events
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
12 | # max_user_sessions: 200
13 |
14 | params:
15 | min_session_length: 2 #3
16 | test_sessions: 1
17 |
18 | output:
19 | folder: data/retailrocket/prepared/sample/
20 |
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/lastfm_window.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: lastfm_aware # dataset (folder) name
4 | data:
5 | folder: data/lastfm/
6 | prefix: userid-timestamp-artid-artname-traid-traname
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
12 | max_session_length: 20
13 |
14 | params:
15 | num_slices: 5
16 | days_offset: 500 # to skip first 1/3 of data
17 | days_shift: 217 # total_interval = 1587
18 | min_session_length: 2 #3
19 |
20 | output:
21 | folder: data/lastfm/prepared_window/
22 |
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/retailrocket_window.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: retailrocket_aware # dataset (folder) name
4 | data:
5 | folder: data/retailrocket/raw/
6 | prefix: events
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0 # to skip first 1/3 of data
16 | days_shift: 27 # total_interval = 139
17 | min_session_length: 2 #3
18 |
19 | output:
20 | folder: data/retailrocket/prepared_window/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/single/diginetica.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single
3 | mode: session_aware # session_based | session_aware
4 | preprocessor: diginetica_aware # dataset (folder) name
5 | data:
6 | folder: data/diginetica/
7 | prefix: train-item-views
8 |
9 | filter:
10 | min_item_support: 5
11 | min_session_length: 2 #3
12 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
13 | # max_user_sessions: 200
14 |
15 | params:
16 | min_session_length: 2 #3
17 | test_sessions: 1
18 |
19 | output:
20 | folder: data/diginetica/prepared/
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/single/lastfm.yml:
--------------------------------------------------------------------------------
1 | type: single # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: lastfm_aware # dataset (folder) name
4 | data:
5 | folder: data/lastfm/
6 | prefix: userid-timestamp-artid-artname-traid-traname
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
12 | max_session_length: 20
13 |
14 | params:
15 | min_session_length: 2 #3
16 |
17 | output:
18 | folder: data/lastfm/prepared/
19 |
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/single/retailrocket.yml:
--------------------------------------------------------------------------------
1 | type: single # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: retailrocket_aware # dataset (folder) name
4 | data:
5 | folder: data/retailrocket/raw/
6 | prefix: events
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # need to be 3, because we need at least 1 for each training, validation and test set!
12 | # max_user_sessions: 200
13 |
14 | params:
15 | min_session_length: 2 #3
16 | test_sessions: 1
17 |
18 | output:
19 | folder: data/retailrocket/prepared/
20 |
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/single/xing.yml:
--------------------------------------------------------------------------------
1 | type: single # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: xing_aware # dataset (folder) name
4 | data:
5 | folder: data/xing/xing2016/
6 | prefix: interactions
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | min_session_length: 2 #3
15 |
16 | output:
17 | folder: data/xing/xing2016/prepared/
--------------------------------------------------------------------------------
/conf/preprocess/session_aware/xing_window.yml:
--------------------------------------------------------------------------------
1 | type: window # single
2 | mode: session_aware # session_based | session_aware
3 | preprocessor: xing_aware # dataset (folder) name
4 | data:
5 | folder: data/xing/xing2016/
6 | prefix: interactions
7 |
8 | filter:
9 | min_item_support: 5 #20
10 | min_session_length: 2 #3
11 | min_user_sessions: 3 # 5
12 |
13 | params:
14 | num_slices: 5
15 | days_offset: 0
16 | days_shift: 16 # total_interval = 82
17 | min_session_length: 2 #3
18 |
19 | output:
20 | folder: data/xing/xing2016/prepared_window/
--------------------------------------------------------------------------------
/conf/preprocess/session_based/retrain/diginetica.yml:
--------------------------------------------------------------------------------
1 | type: retrain # single|window|retrain
2 | preprocessor: diginetica #
3 | data:
4 | folder: data/diginetica/raw/
5 | prefix: train-item-views
6 |
7 | filter:
8 | min_item_support: 5
9 | min_session_length: 2
10 |
11 | params:
12 | days_test: 14 #all days to be tested
13 | days_train: 60 #to start retaining
14 | days_retrain: 1 #numner of days to include data for retraining
15 |
16 | output:
17 | folder: data/diginetica/retrain/
--------------------------------------------------------------------------------
/conf/preprocess/session_based/retrain/nowplaying.yml:
--------------------------------------------------------------------------------
1 | type: retrain # single|window
2 | preprocessor: music #
3 | data:
4 | folder: data/nowplaying/raw/
5 | prefix: nowplaying
6 |
7 | filter:
8 | min_item_support: 2
9 | min_session_length: 5
10 |
11 | params:
12 | days_test: 14 #all days to be tested
13 | days_train: 60 #to start retaining
14 | days_retrain: 1 #numner of days to include data for retraining
15 |
16 | output:
17 | folder: data/nowplaying/retrain/
--------------------------------------------------------------------------------
/conf/preprocess/session_based/single/diginetica.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window
3 | mode: session_based # session_based | session_aware
4 | preprocessor: diginetica # dataset (folder) name
5 | data:
6 | folder: data/diginetica/raw/
7 | prefix: train-item-views
8 |
9 | filter:
10 | min_item_support: 5
11 | min_session_length: 2
12 |
13 | params:
14 | days_test: 7
15 |
16 | output:
17 | folder: data/diginetica/prepared/
18 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/single/rsc15.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window
3 | mode: session_based # session_based | session_aware
4 | preprocessor: rsc15 #
5 | data:
6 | folder: data/rsc15/raw/
7 | prefix: rsc15-clicks
8 |
9 | filter:
10 | min_item_support: 5
11 | min_session_length: 2
12 |
13 | params:
14 | days_test: 1
15 |
16 | output:
17 | folder: data/rsc15/prepared/
18 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/single/rsc15_4.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window
3 | mode: session_based # session_based | session_aware
4 | preprocessor: rsc15 #
5 | data:
6 | folder: data/rsc15/raw/
7 | prefix: rsc15-clicks
8 |
9 | filter:
10 | min_item_support: 5
11 | min_session_length: 2
12 |
13 | params:
14 | days_test: 1
15 | last_nth: 4 #optional for rsc15_4/64
16 |
17 | output:
18 | folder: data/rsc15/prepared/
19 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/single/rsc15_64.yml:
--------------------------------------------------------------------------------
1 | type: single # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: rsc15 #
4 | data:
5 | folder: data/rsc15/raw/
6 | prefix: rsc15-clicks
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 1
14 | last_nth: 64 #optional for rsc15_4/64
15 |
16 | output:
17 | folder: data/rsc15/prepared/
18 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/30music.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: music #
4 | data:
5 | folder: data/30music/raw/
6 | prefix: 30music-200ks
7 |
8 | filter:
9 | min_item_support: 2
10 | min_session_length: 5
11 |
12 | params:
13 | days_test: 5
14 | days_train: 90
15 | num_slices: 5 #only window
16 | days_offset: 0 #only window
17 | days_shift: 60 #only window
18 |
19 | output:
20 | folder: data/30music/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/aotm.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: music #
4 | data:
5 | folder: data/aotm/raw/
6 | prefix: playlists-aotm
7 |
8 | filter:
9 | min_item_support: 2
10 | min_session_length: 5
11 |
12 | params:
13 | days_test: 5
14 | days_train: 90
15 | num_slices: 5 #only window
16 | days_offset: 0 #only window
17 | days_shift: 60 #only window
18 |
19 | output:
20 | folder: data/aotm/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/diginetica.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: diginetica #
4 | data:
5 | folder: data/diginetica/raw/
6 | prefix: train-item-views
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 7
14 | days_train: 25 #only window
15 | num_slices: 5 #only window
16 | days_offset: 45 #only window
17 | days_shift: 18 #only window
18 |
19 | output:
20 | folder: data/diginetica/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/nowplaying.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: music #
4 | data:
5 | folder: data/nowplaying/raw/
6 | prefix: nowplaying
7 |
8 | filter:
9 | min_item_support: 2
10 | min_session_length: 5
11 |
12 | params:
13 | days_test: 5
14 | days_train: 90
15 | num_slices: 5 #only window
16 | days_offset: 0 #only window
17 | days_shift: 60 #only window
18 |
19 | output:
20 | folder: data/nowplaying/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/retailrocket.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: retailrocket #
4 | data:
5 | folder: data/retailrocket/raw/
6 | prefix: events
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 2
14 | days_train: 25 #only window
15 | num_slices: 5 #only window
16 | days_offset: 0 #only window
17 | days_shift: 27 #only window
18 |
19 | output:
20 | folder: data/retailrocket/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/rsc15.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | preprocessor: rsc15 #
4 | data:
5 | folder: data/rsc15/raw/
6 | prefix: rsc15-clicks
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 1
14 | days_train: 30 #only window
15 | num_slices: 5 #only window
16 | days_offset: 5 #only window
17 | days_shift: 31 #only window
18 |
19 | output:
20 | folder: data/rsc15/slices/
21 |
--------------------------------------------------------------------------------
/conf/preprocess/session_based/window/tmall.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window
2 | mode: session_based # session_based | session_aware
3 | dataset: tmall #
4 | data:
5 | folder: data/tmall/raw/
6 | prefix: dataset
7 |
8 | filter:
9 | min_item_support: 5
10 | min_session_length: 2
11 |
12 | params:
13 | days_test: 1
14 | days_train: 90
15 | num_slices: 5 #only window
16 | days_offset: 1 #only window
17 | days_shift: 10 #only window
18 |
19 | output:
20 | folder: data/tmall/slices/
21 |
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/30music_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 |
28 | optimize:
29 | class: accuracy.MRR
30 | length: [20]
31 | iterations: 50 #optional
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, batch_size: 128}
36 | params_opt:
37 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
38 | memory_size: [128]
39 | key: csrm
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/30music_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: ct.ct.ContextTree
34 | params: {}
35 | params_opt:
36 | expert: ['StdExpert', 'DirichletExpert']
37 | history_maxlen: [5,10,20,30,40,50,75]
38 | nb_candidates: [250,500,1000,1500]
39 | key: ct
40 |
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: ../../data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 2000}
10 |
11 | results:
12 | folder: results/opt/30music_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20,30]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/30music_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/30music/window/opt/window_30music_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/single/
8 | prefix: 30music-200ks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/30music_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,2.1,4.2,8.4,16.8,33.6]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,2.1,4.2,8.4,16.8,33.6]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/30music/window/window_30music_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/slices/
8 | prefix: 30music-200ks
9 | # opts: {sessions_test: 5000}
10 | slices: 5
11 |
12 | results:
13 | folder: results/window/30music/
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: data/30music/slices/recs/csrm-second }
33 | key: csrm-second
34 | - class: filemodel.resultfile.ResultFile
35 | params: { file: data/30music/slices/recs/csrm-best }
36 | key: csrm-best
37 |
--------------------------------------------------------------------------------
/conf/save/30music/window/window_30music_sgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: sgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 30music-window #added in the end of the csv names
7 | folder: data/30music/slices/
8 | prefix: 30music-200ks
9 | # opts: {sessions_test: 5000}
10 | slices: 5
11 |
12 | results:
13 | folder: results/window/30music/
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: saver.Saver
27 | length: [50]
28 | - class: time_memory_usage.Time_usage_training
29 | - class: time_memory_usage.Time_usage_testing
30 | #- class: time_memory_usage.Memory_usage
31 |
32 | algorithms:
33 | - class: sgnn.gnn.GGNN
34 | params: { hidden_size: 100, out_size: 100, step: 1, nonhybrid: True, batch_size: 100, epoch_n: 10, batch_predict: True, lr: 0.0006, l2: 3.00E-05, lr_dc: 0.36666667, lr_dc_step: 3}
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks-window #added in the end of the csv names
7 | folder: data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/8tracks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 |
28 | optimize:
29 | class: accuracy.MRR
30 | length: [20]
31 | iterations: 50 #optional
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10 }#, batch_size: 256 }
36 | params_opt:
37 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
38 | memory_size: [128,256,512]
39 | key: csrm
40 |
41 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks-window #added in the end of the csv names
7 | folder: ../../data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 1000}
10 |
11 | results:
12 | folder: results/opt/8tracks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 | iterations_skip: 46
32 |
33 | algorithms:
34 | - class: narm.narm.NARM
35 | params: { epochs: 20 }
36 | params_opt:
37 | factors: [50, 100]
38 | hidden_units: [50, 100]
39 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
40 | key: narm
41 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/8tacks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | # - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks-window #added in the end of the csv names
7 | folder: ../../data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/8tracks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks-window #added in the end of the csv names
7 | folder: data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/8tracks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params: {}
35 | params_opt:
36 | n_epochs: [10,20]
37 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
38 | init_lr: [{from: 0.001, to: 0.01, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
39 | key: stamp
40 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/opt/window_8tracks_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks-window #added in the end of the csv names
7 | folder: data/8tracks/single/
8 | prefix: playlists-8tracks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/8tracks_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,1.42,2.84,5.68,11.36,22.72]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,1.42,2.84,5.68,11.36,22.72]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/window_8tracks_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks #added in the end of the csv names
7 | folder: data/8tracks/slices/
8 | prefix: playlists-8tracks
9 | slices: 5 #only window
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/8tracks/
14 | #pickle_models: results/models/music-window/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [1,3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: time_memory_usage.Time_usage_training
28 | - class: time_memory_usage.Time_usage_testing
29 | #- class: time_memory_usage.Memory_usage
30 |
31 | algorithms:
32 | - class: filemodel.resultfile.ResultFile
33 | params: { file: data/8tracks/slices/recs/csrm-second }
34 | key: csrm-second
35 | - class: filemodel.resultfile.ResultFile
36 | params: { file: data/8tracks/slices/recs/csrm-best }
37 | key: csrm-best
38 |
--------------------------------------------------------------------------------
/conf/save/8tracks/window/window_8tracks_sgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks #added in the end of the csv names
7 | folder: data/8tracks/slices/
8 | prefix: playlists-8tracks
9 | slices: 5 #only window
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/8tracks/
14 | #pickle_models: results/models/music-window/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: saver.Saver
28 | length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 |
34 | algorithms:
35 | - class: sgnn.gnn.GGNN
36 | params: { hidden_size: 100, out_size: 100, step: 1, nonhybrid: True, batch_size: 100, epoch_n: 10, batch_predict: True, lr: 0.002, l2: 5.00E-05, lr_dc: 0.46, lr_dc_step: 7}
--------------------------------------------------------------------------------
/conf/save/8tracks/window/window_8tracks_time_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: time-nin #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: 8tracks #added in the end of the csv names
7 | folder: ../../data/8tracks/slices/
8 | prefix: playlists-8tracks
9 | slices: 5 #only window
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 1000}
12 | #opts: {sessions_test: 10}
13 |
14 | results:
15 | folder: results/window/8tracks/
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | algorithms:
27 | - class: nextitnet.nextitrec.Nextitrec
28 | params: { learning_rate: 0.001, iterations: 1 }
29 | key: nextitnet
--------------------------------------------------------------------------------
/conf/save/aotm/window/opt/window_aotm_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm-window #added in the end of the csv names
7 | folder: data/aotm/single/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/aotm_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | # - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
--------------------------------------------------------------------------------
/conf/save/aotm/window/opt/window_aotm_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm-window #added in the end of the csv names
7 | folder: data/aotm/single/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/aotm_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/aotm/window/opt/window_aotm_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm-window #added in the end of the csv names
7 | folder: data/aotm/single/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/aotm_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
37 | iterations: [10,20,30]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/aotm/window/opt/window_aotm_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailr #added in the end of the csv names
7 | folder: data/aotm/slices/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/retailrocket_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/aotm/window/opt/window_aotm_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm #added in the end of the csv names
7 | folder: data/aotm/single/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/aotm_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,1.7625,3.525,7.05,14.1,28.2]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,1.7625,3.525,7.05,14.1,28.2]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/aotm/window/window_aotm_srgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: srgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm #added in the end of the csv names
7 | folder: data/aotm/slices/
8 | prefix: playlists-aotm
9 | slices: 5 #only window
10 |
11 | results:
12 | folder: results/window/aotm/
13 | #pickle_models: results/models/nowplaying-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: data/aotm/slices/recs/srgnn-best }
33 | key: srgnn-best
34 | - class: filemodel.resultfile.ResultFile
35 | params: { file: data/aotm/slices/recs/srgnn-second }
36 | key: srgnn-second
37 |
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/exp/narm/window_cosmetics_narm.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: narm #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/cosmetics/narm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 | - class: coverage.Coverage
26 | length: [20]
27 | - class: popularity.Popularity
28 | length: [20]
29 |
30 | algorithms:
31 | # narm-epochs=20-factors=100-lr=0,007
32 | - class: narm.narm.NARM
33 | params: { epochs: 20, lr: 0.007, factors: 100 }
34 | key: narm
35 | # fixed: hidden_units: 100
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/exp/stan/window_cosmetics_stan.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: stan #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/cosmetics/stan/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 | - class: coverage.Coverage
26 | length: [20]
27 | - class: popularity.Popularity
28 | length: [20]
29 |
30 | algorithms:
31 | # stan-k=500-sample_size=2500-lambda_spw=0,905-lambda_snh=40-lambda_inh=0,4525
32 | - class: knn.stan.STAN
33 | params: { k: 500, sample_size: 2500, lambda_spw: 0.905 , lambda_snh: 40, lambda_inh: 0.4525 }
34 | key: stan
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/exp/window_cosmetics_ncfs.yml:
--------------------------------------------------------------------------------
1 | type: window # single|window, maybe add opt
2 | key: ncsf #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/cosmetics/ncsf/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 | - class: coverage.Coverage
26 | length: [20]
27 | - class: popularity.Popularity
28 | length: [20]
29 |
30 | algorithms:
31 | # ncfs-window_sz=3-max_nb_his_sess=0-att_alpha=1
32 | - class: NCFS.ncfs.NCFS
33 | params: { window_sz: 3, max_nb_his_sess: 0, att_alpha: 1 }
34 | key: ncsf
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/exp/window_cosmetics_shan.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: shan #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/cosmetics/shan/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 | - class: coverage.Coverage
26 | length: [20]
27 | - class: popularity.Popularity
28 | length: [20]
29 |
30 | algorithms:
31 | # shan1-iter=100-global_dimension=100-lambda_uv=0,01-lambda_a=1
32 | - class: shan.shan.SHAN
33 | params: { iter: 100, global_dimension: 100, lambda_uv: 0.01, lambda_a: 1 }
34 | params_opt: {}
35 | key: shan
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/narm/window_cosmetics_narm.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: narm #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/narm/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 50 #optional
29 |
30 | algorithms:
31 | - class: narm.narm.NARM
32 | params: { epochs: 20 }
33 | params_opt:
34 | factors: [50, 100]
35 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
36 | key: narm
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/shan_all_combination/window_cosmetics_shan_1.yml:
--------------------------------------------------------------------------------
1 | type: opt # single|window, maybe add opt
2 | key: shan_1 #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/shan/all_combination/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 1 #optional
29 |
30 | algorithms:
31 | - class: shan.shan.SHAN # small network, the TOP1 loss always outperformed other ranking losses, so we consider only it
32 | params: {iter: 100, global_dimension: 100, lambda_uv: 0.01, lambda_a: 1}
33 | params_opt: {}
34 | # lambda_uv: [0.01, 0.001, 0.0001]
35 | # lambda_a: [1,10,50]
36 | key: shan1
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/sr/window_cosmetics_sr.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/sr/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.sr.SequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | key: sr
37 |
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/sr/window_cosmetics_sr_B.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr_B #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/usr/B/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.usr.USequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | boost_own_sessions: {from: 0.1, to: 3.9 , in: 20, type: float32}
37 | key: sr_B
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/sr/window_cosmetics_sr_R.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr_R #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/usr/R/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 20 #optional
29 |
30 | algorithms:
31 | - class: baselines.usr.USequentialRules
32 | params: { steps: 15, weighting: div, reminders: True, remind_strategy: 'hybrid' }
33 | params_opt:
34 | remind_sessions_num: {from: 1, to: 10, in: 10, type: int32}
35 | weight_base: {from: 1, to: 10, in: 10, type: int32}
36 | weight_IRec: {from: 0, to: 9, in: 10, type: int32}
37 | key: sr_R
--------------------------------------------------------------------------------
/conf/save/cosmetics/session_aware/window/opt/window_cosmetics_ncfs.yml:
--------------------------------------------------------------------------------
1 | type: opt # single|window, maybe add opt
2 | key: ncfs #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: cosmetics #added in the end of the csv names
6 | folder: data/cosmetics/prepared_window/sampled/
7 | prefix: interactions.1
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/cosmetics/ncfs/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: NCFS.ncfs.NCFS
32 | params: {} # mini_batch_sz # neg_samples # max_epoch # max_session_len # embeding_len
33 | params_opt:
34 | window_sz: {from: 1, to: 10, in: 10, type: int32}
35 | max_nb_his_sess: [0,1,2,5,10]
36 | att_alpha: [0.01, 0.1, 1, 10]
37 | key: ncfs
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_digi_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica #added in the end of the csv names
7 | folder: data/diginetica/prepared/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_digi_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica #added in the end of the csv names
7 | folder: data/diginetica/prepared/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_digi_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica #added in the end of the csv names
7 | folder: data/diginetica/prepared/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params: {}
35 | params_opt:
36 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
37 | n_epochs: [10, 20, 30]
38 | init_lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: stamp
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_digi_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica #added in the end of the csv names
7 | folder: data/diginetica/prepared/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,0.625,1.25,2.5,5,10]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,0.625,1.25,2.5,5,10]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_wrongtime_digi_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-wrongtime #added in the end of the csv names
7 | folder: data/diginetica/prepared_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_wrongtime_digi_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-wrongtime #added in the end of the csv names
7 | folder: data/diginetica/prepared_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_wrongtime_digi_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-wrongtime #added in the end of the csv names
7 | folder: data/diginetica/prepared_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/diginetica/single split/opt/single_wrongtime_digi_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-wrongtime #added in the end of the csv names
7 | folder: data/diginetica/prepared_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params_opt:
35 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
36 | n_epochs: [10, 20, 30]
37 | init_lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
38 | key: stamp
39 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt/window_digi_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt/window_digi_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt/window_digi_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt/window_digi_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params: {}
35 | params_opt:
36 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
37 | n_epochs: [10, 20, 30]
38 | init_lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: stamp
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt_wrongtime/window_wrongtime_digi_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt_wrongtime/window_wrongtime_digi_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt_wrongtime/window_wrongtime_digi_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/diginetica/window/opt_wrongtime/window_wrongtime_digi_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/single_stamp/
8 | prefix: train-item-views
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/diginetica_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params: {}
35 | params_opt:
36 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
37 | n_epochs: [10, 20, 30]
38 | init_lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: stamp
40 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/window_digi_sgnn.yml:
--------------------------------------------------------------------------------
1 |
2 | ---
3 | type: window # single|window, maybe add opt
4 | key: models #added to the csv names
5 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
6 | data:
7 | name: diginetica-window #added in the end of the csv names
8 | folder: ../../data/diginetica/slices/
9 | prefix: train-item-views
10 | # opts: {sessions_test: 5000}
11 | slices: 5
12 |
13 | results:
14 | folder: results/window/diginetica/
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: saver.Saver
28 | length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: sgnn.gnn.GGNN
35 | params: { lr: 0.0001, l2: 0.000007, lr_dc: 0.63, lr_dc_step: 3, nonhybrid: True, epoch_n: 10 }
36 | key: srgnn-best
37 |
--------------------------------------------------------------------------------
/conf/save/diginetica/window/window_digi_smf.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: baselines #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: diginetica-window #added in the end of the csv names
7 | folder: ../../data/diginetica/slices/
8 | prefix: train-item-views
9 | # opts: {sessions_test: 5000}
10 | slices: 5
11 |
12 | results:
13 | folder: results/window/diginetica/smf/
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: saver.Saver
27 | length: [50]
28 | - class: time_memory_usage.Time_usage_training
29 | - class: time_memory_usage.Time_usage_testing
30 | #- class: time_memory_usage.Memory_usage
31 |
32 | algorithms:
33 | - class: smf.smf.SessionMF
34 | params: { objective: 'bpr_max_org', activation: 'linear', dropout: 0.2, skip: 0.2, momentum: 0.7, learning_rate: 0.01 }
35 | key: smf
36 |
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/scalability/window_lastfm_session_based.yml:
--------------------------------------------------------------------------------
1 | type: window # opt|single|window
2 | key: session_based #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_next_multiple|evaluation_user_based_next|evaluation_user_based_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | slices: 5
10 | skip: [0,1,2,4] # we need only slice 3
11 |
12 | results:
13 | folder: results/window/scalability/lastfm/
14 |
15 | metrics:
16 | - class: time_memory_usage.Time_usage_training
17 | - class: time_memory_usage.Time_usage_testing
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | # GRU4Rec
22 | - class: gru4rec.gru4rec.GRU4Rec
23 | params: { loss: 'bpr-max', final_act: 'linear', batch_size: 100, dropout_p_hidden: 0.0, learning_rate: 0.04, momentum: 0.1, constrained_embedding: False }
24 | key: gru4rec
25 | # NARM
26 | - class: narm.narm.NARM
27 | params: { epochs: 20, lr: 0.007, factors: 100}
28 | key: narm
29 |
30 |
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/single/opt/single_lastfm_ncfs.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: ncfs #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: lastfm #added in the end of the csv names
7 | folder: data/lastfm/prepared/
8 | prefix: userid-timestamp-artid-artname-traid-traname_sample
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/single/lastfm/ncfs/
13 |
14 |
15 | metrics:
16 | - class: accuracy_multiple.Precision
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.Recall
19 | length: [5,10,15,20]
20 | - class: accuracy_multiple.MAP
21 | length: [5,10,15,20]
22 | - class: accuracy.HitRate
23 | length: [5,10,15,20]
24 | - class: accuracy.MRR
25 | length: [5,10,15,20]
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: NCFS.ncfs.NCFS
34 | params: {} # mini_batch_sz # neg_samples # max_epoch # max_session_len # embeding_len
35 | params_opt:
36 | window_sz: {from: 1, to: 10, in: 10, type: int32}
37 | max_nb_his_sess: [0,1,2,5,10]
38 | att_alpha: [0.01, 0.1, 1, 10]
39 | key: ncfs
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/window/opt/narm/window_lastfm_narm.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: narm #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname.3
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/lastfm/narm/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 50 #optional
29 |
30 | algorithms:
31 | - class: narm.narm.NARM
32 | params: { epochs: 20 }
33 | params_opt:
34 | factors: [50, 100]
35 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
36 | key: narm
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/window/opt/narm/window_lastfm_narm_E.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: unarm #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname.3
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/lastfm/unarm/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: narm.unarm.UNARM
32 | params: { epochs: 20 }
33 | params_opt:
34 | factors: [50, 100]
35 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
36 | extend_session_length: {from: 1, to: 25, in: 25, type: int32}
37 | key: unarm
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/window/opt/sr/window_lastfm_sr.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname.3
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/lastfm/sr/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.sr.SequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | key: sr
37 |
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/window/opt/sr/window_lastfm_sr_B.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: usr #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname.3
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/lastfm/usr/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.usr.USequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | boost_own_sessions: {from: 0.1, to: 3.9 , in: 20, type: float32}
37 | key: usr
--------------------------------------------------------------------------------
/conf/save/lastfm/session_aware/window/opt/window_lastfm_ncfs.yml:
--------------------------------------------------------------------------------
1 | type: opt # single|window, maybe add opt
2 | key: ncfs #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
4 | data:
5 | name: lastfm #added in the end of the csv names
6 | folder: data/lastfm/prepared_window/
7 | prefix: userid-timestamp-artid-artname-traid-traname.3
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/lastfm/ncfs/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: NCFS.ncfs.NCFS
32 | params: {} # mini_batch_sz # neg_samples # max_epoch # max_session_len # embeding_len
33 | params_opt:
34 | window_sz: {from: 1, to: 10, in: 10, type: int32}
35 | max_nb_his_sess: [0,1,2,5,10]
36 | att_alpha: [0.01, 0.1, 1, 10]
37 | key: ncfs
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/opt/window_nowplaying_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/csrm/opt/nowplaying/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [3,5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [3,5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
40 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/opt/window_nowplaying_csrm.yml~513094df8433db6ca6b1100d4a760f30bb014381:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/nowplaying_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | # - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/opt/window_nowplaying_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/nowplaying_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | # - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20,30]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/opt/window_nowplaying_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/nowplaying_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/opt/window_nowplaying_vstan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/nowplaying_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,1.275,2.55,5.1,10.2,20.4]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,1.275,2.55,5.1,10.2,20.4]
42 | key: vstan
43 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/window_nowplaying_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: srgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/slices/
8 | prefix: nowplaying
9 | slices: 5 #only window
10 |
11 | results:
12 | folder: results/window/nowplaying/
13 | pickle_models: results/models/nowplaying-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: data/nowplaying/slices/recs/csrm-second }
33 | key: csrm-second
34 | - class: filemodel.resultfile.ResultFile
35 | params: { file: data/nowplaying/slices/recs/csrm-best }
36 | key: csrm-best
37 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/window_nowplaying_srgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: srgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/slices/
8 | prefix: nowplaying
9 | slices: 5 #only window
10 |
11 | results:
12 | folder: results/window/nowplaying/
13 | pickle_models: results/models/nowplaying-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: data/nowplaying/slices/recs/srgnn-second }
33 | key: srgnn-second
34 | - class: filemodel.resultfile.ResultFile
35 | params: { file: data/nowplaying/slices/recs/srgnn-best }
36 | key: srgnn-best
37 |
--------------------------------------------------------------------------------
/conf/save/nowplaying/window/window_nowplaying_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/slices/
8 | prefix: nowplaying
9 | slices: 5 #only window
10 |
11 | results:
12 | folder: results/window/nowplaying/
13 | pickle_models: results/models/nowplaying-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: data/nowplaying/slices/recs/stamp-second }
33 | key: stamp-second
34 | - class: filemodel.resultfile.ResultFile
35 | params: { file: data/nowplaying/slices/recs/stamp-org }
36 | key: stamp-org
37 |
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_aware/single/opt/narm/single_retailrocket_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
5 | data:
6 | name: retailrocket #added in the end of the csv names
7 | folder: data/retailrocket/prepared/
8 | prefix: events
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/retailrocket/narm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 50 #optional
30 |
31 | algorithms:
32 | - class: narm.narm.NARM
33 | params: { epochs: 20 }
34 | params_opt:
35 | factors: [50, 100]
36 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
37 | key: narm
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_aware/single/opt/usr/single_retailrocket_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailrocket #added in the end of the csv names
7 | folder: data/retailrocket/prepared/
8 | prefix: events
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/retailrocket/sr/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: baselines.sr.SequentialRules
33 | params: {}
34 | params_opt:
35 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
36 | weighting: ['linear','div','quadratic','log']
37 | key: sr
38 |
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_aware/single/opt/usr/single_retailrocket_usr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: usr #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailrocket #added in the end of the csv names
7 | folder: data/retailrocket/prepared/
8 | prefix: events
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/retailrocket/usr/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: baselines.usr.USequentialRules
33 | params: {}
34 | params_opt:
35 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
36 | weighting: ['linear','div','quadratic','log']
37 | boost_own_sessions: {from: 0.1, to: 3.9 , in: 20, type: float32}
38 | key: usr
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_aware/window/opt/narm/window_retailrocket_narm.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: narm #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events.2
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results/opt/window/retailrocket/narm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 50 #optional
30 |
31 | algorithms:
32 | - class: narm.narm.NARM
33 | params: { epochs: 20 }
34 | params_opt:
35 | factors: [50, 100]
36 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
37 | key: narm
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_aware/window/opt/sr/window_retailrocket_sr.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
4 | data:
5 | name: retailrocket #added in the end of the csv names
6 | folder: data/retailrocket/prepared_window/
7 | prefix: events.2
8 | type: hdf #hdf (if there is no type, the default is csv)
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results/opt/window/retailrocket/sr/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: baselines.sr.SequentialRules
33 | params: {}
34 | params_opt:
35 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
36 | weighting: ['linear','div','quadratic','log']
37 | key: sr
38 |
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_based/window/opt/window_retailrocket_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailr-window #added in the end of the csv names
7 | folder: data/retailrocket/single/
8 | prefix: events
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/retailrocket_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_based/window/opt/window_retailrocket_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailr-window #added in the end of the csv names
7 | folder: data/retailrocket/single/
8 | prefix: events
9 | opts: {sessions_test: 5000}
10 | results:
11 | folder: results/opt/retailr_window/
12 |
13 | metrics:
14 | - class: accuracy.HitRate
15 | length: [5,10,15,20]
16 | - class: accuracy.MRR
17 | length: [5,10,15,20]
18 | - class: coverage.Coverage
19 | length: [20]
20 | - class: popularity.Popularity
21 | length: [20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: nextitnet.nextitrec.Nextitrec
33 | params: {}
34 | params_opt:
35 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
36 | iterations: [10,20,30]
37 | is_negsample: [True,False]
38 | key: nextitnet
39 |
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_based/window/opt/window_retailrocket_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailr #added in the end of the csv names
7 | folder: ../../data/retailrocket/single/
8 | prefix: events
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/retailrocket_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/retailrocket/session_based/window/window_retailr_smf.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: smf #added to the csv names
4 | evaluation: evaluation_multiple #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: retailr-window-multiple #added in the end of the csv names
7 | folder: data/retailrocket/slices/
8 | prefix: events
9 | slices: 5
10 |
11 | results:
12 | folder: results/retailrocket_window/
13 | #pickle_models: results/models/retailrocket-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy_multiple.Precision
17 | length: [3,5,10,15,20]
18 | - class: accuracy_multiple.Recall
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.MAP
21 | length: [3,5,10,15,20]
22 | - class: accuracy_multiple.NDCG
23 | length: [3,5,10,15,20]
24 | - class: coverage.Coverage
25 | length: [20]
26 | - class: popularity.Popularity
27 | length: [20]
28 | - class: saver.Saver
29 | length: [50]
30 | - class: time_memory_usage.Time_usage_training
31 | - class: time_memory_usage.Time_usage_testing
32 | #- class: time_memory_usage.Memory_usage
33 |
34 | algorithms:
35 | - class: filemodel.resultfile.ResultFile
36 | params: { file: data/retailrocket/slices/recs/smf-best }
37 | key: smf-best
38 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/opt/window_rsc15_knnidf.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: knn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/single/
8 | prefix: yoochoose-clicks-full
9 | opts: {sessions_test: 1000}
10 |
11 | results:
12 | folder: results/opt/rsc15_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.vmknn.VMContextKNN
34 | params: {}
35 | params_opt:
36 | k: [50,100,500,1000,1500]
37 | sample_size: [500,1000,2500,5000,10000]
38 | weighting: ['same','div','linear','quadratic','log']
39 | weighting_score: ['same','div','linear','quadratic','log']
40 | idf_weighting: [False,1,2,5,10]
41 | key: vsknn
--------------------------------------------------------------------------------
/conf/save/rsc15/window/opt/window_rsc15_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/single/
8 | prefix: yoochoose-clicks-full
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
37 | iterations: [10,20,30]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/opt/window_rsc15_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: ../../data/rsc15/single/
8 | prefix: yoochoose-clicks-full
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/rsc15/window/opt/window_rsc15_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/single/
8 | prefix: yoochoose-clicks-full
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,0.5,1,2,4,8]
40 | lambda_snh: [2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,0.5,1,2,4,8]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/1/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0002, memory_size: 256, batch_size: 256}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_10.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/10/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0001, memory_size: 512, batch_size: 512}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_2.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/2/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0002, memory_size: 128, batch_size: 128}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_3.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/3/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0004, memory_size: 256, batch_size: 256}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_4.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/4/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: saver.Saver
28 | length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0004, memory_size: 512, batch_size: 512}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_5.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/5/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0005, memory_size: 128, batch_size: 128}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_6.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/6/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0003, memory_size: 256, batch_size: 256}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_7.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/7/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0007, memory_size: 512, batch_size: 512}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_8.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/8/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.00006, memory_size: 128, batch_size: 128}
36 | key: csrm
--------------------------------------------------------------------------------
/conf/save/rsc15/window/top10/csrm/window_rsc15_csrm_9.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/rsc15/top1/9/
14 | #pickle_models: results/window/rsc15/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | #- class: saver.Saver
28 | # length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: CSRM.csrm.CSRM
35 | params: { hidden_units: 100, epoch: 10, lr: 0.0008, memory_size: 512, batch_size: 512}
36 | key: csrm
37 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/window_multiple_rsc15_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/rsc15/
13 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: saver.Saver
27 | length: [50]
28 | - class: time_memory_usage.Time_usage_training
29 | - class: time_memory_usage.Time_usage_testing
30 |
31 | algorithms:
32 | - class: nextitnet.nextitrec.Nextitrec
33 | params: { learning_rate: 0.0003, iterations: 10, is_negsample: False}
34 | key: nextitnet
--------------------------------------------------------------------------------
/conf/save/rsc15/window/window_rsc15_memory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: models #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15 #added in the end of the csv names
7 | folder: ../../data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 2000}
12 |
13 | results:
14 | folder: results/window/memory/rsc15/
15 | pickle_models: results/models/rsc15-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | - class: gru4rec.gru4rec.GRU4Rec
22 | params: { n_epochs: 0}
23 | key: gru4rec-best
24 | - class: STAMP.model.STAMP.Seq2SeqAttNN
25 | params: { n_epochs: 0}
26 | key: stamp
27 | - class: narm.narm.NARM
28 | params: { epochs: 0 }
29 | key: narm
30 | - class: nextitnet.nextitrec.Nextitrec
31 | params: { iterations: 0 }
32 | key: nextitnet
33 |
--------------------------------------------------------------------------------
/conf/save/rsc15/window/window_rsc15_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 |
11 | results:
12 | folder: results/window/rsc15/
13 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: saver.Saver
27 | length: [50]
28 | - class: time_memory_usage.Time_usage_training
29 | - class: time_memory_usage.Time_usage_testing
30 |
31 | algorithms:
32 | - class: nextitnet.nextitrec.Nextitrec
33 | params: { learning_rate: 0.0003, iterations: 10, is_negsample: False}
34 | key: nextitnet
--------------------------------------------------------------------------------
/conf/save/rsc15/window/window_rsc15_time_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: time-ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 500}
12 |
13 | results:
14 | folder: results/window/rsc15/
15 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | algorithms:
27 | - class: ct.ct.ContextTree
28 | params: {}
29 | key: ct-pre
--------------------------------------------------------------------------------
/conf/save/rsc15/window/window_rsc15_time_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: time-nin #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-window #added in the end of the csv names
7 | folder: data/rsc15/slices/
8 | prefix: yoochoose-clicks-full
9 | slices: 5
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 1000}
12 |
13 | results:
14 | folder: results/window/rsc15/
15 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | algorithms:
27 | - class: nextitnet.nextitrec.Nextitrec
28 | params: { learning_rate: 0.001, iterations: 1 }
29 | key: nextitnet
30 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/opt/single_rsc15_4_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/csrm/opt/rsc15_4/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [3,5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [3,5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/opt/single_rsc15_4_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_4/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/opt/single_rsc15_4_stamp.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stamp #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_4/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: STAMP.model.STAMP.Seq2SeqAttNN
34 | params_opt:
35 | decay_rate: {from: 0.0, to: 0.9, in: 10, type: float32}
36 | n_epochs: [10, 20, 30]
37 | init_lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
38 | key: stamp
39 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/opt/single_rsc15_4_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_4/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,0.5,1,2,4,8]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,0.5,1,2,4,8]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/opt/single_rsc_15_4_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_4/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/single_multiple_rsc15_4_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation_multiple #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4-multiple #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results_new/single/multiple/rsc15_4/
13 | #pickle_models: results/models/rsc15_4/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy_multiple.Precision
17 | length: [3,5,10,15,20]
18 | - class: accuracy_multiple.Recall
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.MAP
21 | length: [3,5,10,15,20]
22 | - class: accuracy_multiple.NDCG
23 | length: [3,5,10,15,20]
24 | - class: coverage.Coverage
25 | length: [20]
26 | - class: popularity.Popularity
27 | length: [20]
28 | - class: time_memory_usage.Time_usage_training
29 | - class: time_memory_usage.Time_usage_testing
30 | #- class: time_memory_usage.Memory_usage
31 |
32 | algorithms:
33 | - class: filemodel.resultfile.ResultFile
34 | params: { file: data/rsc15/rsc15_4_recommendations/csrm }
35 | key: csrm
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/single_multiple_rsc15_4_sgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: sgnn #added to the csv names
4 | evaluation: evaluation_multiple #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4_multi #added in the end of the csv names
7 | folder: ../../data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results/single/rsc15_4/multiple/
13 | #pickle_models: results/models/rsc15_4/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: coverage.Coverage
21 | length: [20]
22 | - class: popularity.Popularity
23 | length: [20]
24 | #- class: saver.Saver
25 | # length: [50]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: filemodel.resultfile.ResultFile
32 | params: { file: ../../data/rsc15/rsc15_4_recommendations/test_single_sgnn_rsc15_4 }
33 | key: sgnn
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/single_rsc15_4_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results_new/single/rsc15_4/
13 | #pickle_models: results/models/rsc15_4/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: coverage.Coverage
21 | length: [20]
22 | - class: popularity.Popularity
23 | length: [20]
24 | - class: saver.Saver
25 | length: [50]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: CSRM.csrm.CSRM
32 | params: { hidden_units: 100, epoch: 10, lr: 0.0008, memory_size: 512}
33 | key: csrm
34 |
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/single_rsc15_4_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: ../../data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results/single/rsc15_4/
13 | pickle_models: results/models/rsc15_4/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: coverage.Coverage
21 | length: [20]
22 | - class: popularity.Popularity
23 | length: [20]
24 | - class: saver.Saver
25 | length: [50]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: ct.ct.ContextTree
32 | params: {}
33 | key: ct-pre
--------------------------------------------------------------------------------
/conf/save/rsc15_4/single split/single_rsc15_4_sgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: sgnn #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_4 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-4
9 | #opts: {sessions_test: 10}
10 |
11 | results:
12 | folder: results/single/rsc15_4/
13 | #pickle_models: results/models/rsc15_4/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: coverage.Coverage
21 | length: [20]
22 | - class: popularity.Popularity
23 | length: [20]
24 | - class: saver.Saver
25 | length: [50]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: sgnn.gnn.GGNN
32 | params: { hidden_size: 100, out_size: 100, step: 1, nonhybrid: True, batch_size: 100, epoch_n: 10, batch_predict: True, lr: 0.0006, l2: 5.00E-06, lr_dc: 0.1, lr_dc_step: 3}
33 | key: sgnn
--------------------------------------------------------------------------------
/conf/save/rsc15_64/single split/opt/single_rsc15_54_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15_64 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-64
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_64/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,0.5,1,2,4,8]
40 | lambda_snh: [0.00001,2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,0.5,1,2,4,8]
42 | key: stan
43 |
--------------------------------------------------------------------------------
/conf/save/rsc15_64/single split/opt/single_rsc15_64_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-64 #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-64
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/csrm/opt/rsc15/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [3,5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [3,5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
40 |
--------------------------------------------------------------------------------
/conf/save/rsc15_64/single split/opt/single_rsc_15_64_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-64 #added in the end of the csv names
7 | folder: ../../data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-64
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/rsc15_64/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/tmall/window/opt/window_tmall_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: tmall-window #added in the end of the csv names
7 | folder: data/tmall/single/
8 | prefix: dataset15
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/retailrocket_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/narm/single_xing_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based_next|evaluation_user_based_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/narm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
38 | key: narm
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/narm/single_xing_unarm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: unarm #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/unarm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.unarm.UNARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
38 | extend_session_length: {from: 1, to: 25, in: 25, type: int32}
39 | key: unarm
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/single_xing_ncfs.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: ncfs #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/ncfs/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: NCFS.ncfs.NCFS
33 | params: {} # mini_batch_sz # neg_samples # max_epoch # max_session_len # embeding_len
34 | params_opt:
35 | window_sz: {from: 1, to: 10, in: 10, type: int32}
36 | max_nb_his_sess: [0,1,2,5,10]
37 | att_alpha: [0.01, 0.1, 1, 10]
38 | key: ncfs
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/usr/single_xing_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/sr/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
39 |
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/usr/single_xing_usr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: usr #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/usr/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.usr.USequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | boost_own_sessions: {from: 0.1, to: 3.9 , in: 20, type: float32}
39 | key: usr
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/single/opt/uvsknn/single_xing_vsknn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: vsknn #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared/
8 | prefix: interactions
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/xing/vsknn/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 100 #optional
30 |
31 | algorithms:
32 | - class: knn.vsknn.VMContextKNN
33 | params: {}
34 | params_opt:
35 | k: [50,100,500,1000,1500]
36 | sample_size: [500,1000,2500,5000,10000]
37 | weighting: ['same','div','linear','quadratic','log']
38 | weighting_score: ['same','div','linear','quadratic','log']
39 | idf_weighting: [False,1,2,5,10]
40 | key: vsknn
41 |
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/window/opt/narm/window_xing_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # opt|single|window
3 | key: narm #added to the csv names
4 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
5 | data:
6 | name: xing #added in the end of the csv names
7 | folder: data/xing/xing2016/prepared_window/
8 | prefix: interactions.3 # slice with maximum number of users
9 | type: hdf #hdf (if there is no type, the default is csv)
10 |
11 | results:
12 | folder: results/opt/window/xing/narm/
13 |
14 | metrics:
15 | - class: accuracy_multiple.Precision
16 | length: [5,10,15,20]
17 | - class: accuracy_multiple.Recall
18 | length: [5,10,15,20]
19 | - class: accuracy_multiple.MAP
20 | length: [5,10,15,20]
21 | - class: accuracy.HitRate
22 | length: [5,10,15,20]
23 | - class: accuracy.MRR
24 | length: [5,10,15,20]
25 |
26 | optimize:
27 | class: accuracy.MRR
28 | length: [20]
29 | iterations: 50 #optional
30 |
31 | algorithms:
32 | - class: narm.narm.NARM
33 | params: { epochs: 20 }
34 | params_opt:
35 | factors: [50, 100]
36 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
37 | key: narm
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/window/opt/sr/window_xing_sr.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
4 | data:
5 | name: xing #added in the end of the csv names
6 | folder: data/xing/xing2016/prepared_window/
7 | prefix: interactions.3 # slice with maximum number of users
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/xing/sr/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.sr.SequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | key: sr
37 |
--------------------------------------------------------------------------------
/conf/save/xing/session_aware/window/opt/sr/window_xing_sr_B.yml:
--------------------------------------------------------------------------------
1 | type: opt # opt|single|window
2 | key: sr_B #added to the csv names
3 | evaluation: evaluation_user_based #evaluation|evaluation_last|evaluation_multiple|evaluation_user_based|evaluation_user_based_multiple
4 | data:
5 | name: xing #added in the end of the csv names
6 | folder: data/xing/xing2016/prepared_window/
7 | prefix: interactions.3 # slice with maximum number of users
8 | type: hdf #hdf (if there is no type, the default is csv)
9 |
10 | results:
11 | folder: results/opt/window/xing/usr/
12 |
13 | metrics:
14 | - class: accuracy_multiple.Precision
15 | length: [5,10,15,20]
16 | - class: accuracy_multiple.Recall
17 | length: [5,10,15,20]
18 | - class: accuracy_multiple.MAP
19 | length: [5,10,15,20]
20 | - class: accuracy.HitRate
21 | length: [5,10,15,20]
22 | - class: accuracy.MRR
23 | length: [5,10,15,20]
24 |
25 | optimize:
26 | class: accuracy.MRR
27 | length: [20]
28 | iterations: 100 #optional
29 |
30 | algorithms:
31 | - class: baselines.usr.USequentialRules
32 | params: {}
33 | params_opt:
34 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
35 | weighting: ['linear','div','quadratic','log']
36 | boost_own_sessions: {from: 0.1, to: 3.9 , in: 20, type: float32}
37 | key: sr_B
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_csrm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: csrm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: rsc15-64 #added in the end of the csv names
7 | folder: ../../data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/csrm/opt/zalando/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [3,5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [3,5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: CSRM.csrm.CSRM
34 | params: { hidden_units: 100, epoch: 10}
35 | params_opt:
36 | lr: [{from: 0.001, to: 0.0001, in: 10, type: float32},{from: 0.0001, to: 0.00001, in: 10, type: float32}]
37 | memory_size: [128,256,512]
38 | key: csrm
39 |
40 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando-window #added in the end of the csv names
7 | folder: data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: ct.ct.ContextTree
34 | params: {}
35 | params_opt:
36 | expert: ['StdExpert', 'DirichletExpert']
37 | history_maxlen: [5,10,20,30,40,50,75]
38 | nb_candidates: [250,500,1000,1500]
39 | key: ct
40 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_narm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: narm #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando-window #added in the end of the csv names
7 | folder: data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: narm.narm.NARM
34 | params: { epochs: 20 }
35 | params_opt:
36 | factors: [50, 100]
37 | hidden_units: [50, 100]
38 | lr: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.0001, to: 0.001, in: 10, type: float32}]
39 | key: narm
40 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: nextitnet #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando-window #added in the end of the csv names
7 | folder: data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | # - class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 50 #optional
31 |
32 | algorithms:
33 | - class: nextitnet.nextitrec.Nextitrec
34 | params: {}
35 | params_opt:
36 | learning_rate: [{from: 0.01, to: 0.001, in: 10, type: float32},{from: 0.001, to: 0.0001, in: 10, type: float32}]
37 | iterations: [10,20]
38 | is_negsample: [True,False]
39 | key: nextitnet
40 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_sr.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: sr #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando-window #added in the end of the csv names
7 | folder: data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: baselines.sr.SequentialRules
34 | params: {}
35 | params_opt:
36 | steps: [2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30]
37 | weighting: ['linear','div','quadratic','log']
38 | key: sr
--------------------------------------------------------------------------------
/conf/save/zalando/window/opt/window_zalando_stan.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: opt # single|window, maybe add opt
3 | key: stan #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando-window #added in the end of the csv names
7 | folder: data/zalando/single/
8 | prefix: clicks
9 | opts: {sessions_test: 5000}
10 |
11 | results:
12 | folder: results/opt/zalando_window/
13 |
14 | metrics:
15 | - class: accuracy.HitRate
16 | length: [5,10,15,20]
17 | - class: accuracy.MRR
18 | length: [5,10,15,20]
19 | - class: coverage.Coverage
20 | length: [20]
21 | - class: popularity.Popularity
22 | length: [20]
23 | - class: time_memory_usage.Time_usage_training
24 | - class: time_memory_usage.Time_usage_testing
25 | #- class: time_memory_usage.Memory_usage
26 |
27 | optimize:
28 | class: accuracy.MRR
29 | length: [20]
30 | iterations: 100 #optional
31 |
32 | algorithms:
33 | - class: knn.stan.STAN
34 | params: {}
35 | params_opt:
36 | k: [100,200,500,1000,1500,2000]
37 | sample_size: [1000,2500,5000,10000]
38 | #stan
39 | lambda_spw: [0.00001,1.56, 3.13, 6.25, 12.51, 25.02]
40 | lambda_snh: [2.5,5,10,20,40,80,100]
41 | lambda_inh: [0.00001,1.56, 3.13, 6.25, 12.51, 25.02]
42 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/window_zalando_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando #added in the end of the csv names
7 | folder: data/zalando/slices/
8 | prefix: clicks
9 | slices: 5 #only window
10 | #opts: {sessions_test: 10}
11 |
12 | results:
13 | folder: results/window/zalando/
14 | #pickle_models: results/models/music-window/ # not working for tensorflow models
15 |
16 | metrics:
17 | - class: accuracy.HitRate
18 | length: [3,5,10,15,20]
19 | - class: accuracy.MRR
20 | length: [3,5,10,15,20]
21 | - class: accuracy_multiple.NDCG
22 | length: [3,5,10,15,20]
23 | - class: coverage.Coverage
24 | length: [20]
25 | - class: popularity.Popularity
26 | length: [20]
27 | - class: saver.Saver
28 | length: [50]
29 | - class: time_memory_usage.Time_usage_training
30 | - class: time_memory_usage.Time_usage_testing
31 | #- class: time_memory_usage.Memory_usage
32 |
33 | algorithms:
34 | - class: ct.ct.ContextTree
35 | params: {}
36 | key: ct-default
37 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/window_zalando_memory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: models #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando #added in the end of the csv names
7 | folder: ../../data/zalando/slices/
8 | prefix: clicks
9 | slices: 5 #only window
10 | skip: [1,2,3,4]
11 | #opts: {sessions_test: 10}
12 |
13 | results:
14 | folder: results/window/memory/zalando/
15 | pickle_models: results/models/zalando-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: time_memory_usage.Memory_usage
19 |
20 | algorithms:
21 | - class: gru4rec.gru4rec.GRU4Rec
22 | params: { n_epochs: 0}
23 | key: gru4rec-best
24 | - class: STAMP.model.STAMP.Seq2SeqAttNN
25 | params: { n_epochs: 0}
26 | key: stamp
27 | - class: narm.narm.NARM
28 | params: { epochs: 0 }
29 | key: narm
30 | - class: nextitnet.nextitrec.Nextitrec
31 | params: { iterations: 0 }
32 | key: nextitnet
33 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/window_zalando_srgnn.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: models #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando #added in the end of the csv names
7 | folder: ../../data/zalando/slices/
8 | prefix: clicks
9 | slices: 5 #only window
10 |
11 | results:
12 | folder: results/window/zalando/sgnn/
13 | pickle_models: results/sgnn/window/ # not working for tensorflow models
14 |
15 | metrics:
16 | - class: accuracy.HitRate
17 | length: [1,3,5,10,15,20]
18 | - class: accuracy.MRR
19 | length: [3,5,10,15,20]
20 | - class: accuracy_multiple.NDCG
21 | length: [3,5,10,15,20]
22 | - class: coverage.Coverage
23 | length: [20]
24 | - class: popularity.Popularity
25 | length: [20]
26 | - class: time_memory_usage.Time_usage_training
27 | - class: time_memory_usage.Time_usage_testing
28 | #- class: time_memory_usage.Memory_usage
29 |
30 | algorithms:
31 | - class: sgnn.gnn.GGNN
32 | params: { lr: 0.006, l2: 0.000005, lr_dc: 0.28, lr_dc_step: 3, nonhybrid: True, epoch_n: 10 }
33 | key: srgnn
--------------------------------------------------------------------------------
/conf/save/zalando/window/window_zalando_time_ct.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: time-ct #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando #added in the end of the csv names
7 | folder: ../../data/zalando/slices/
8 | prefix: clicks
9 | slices: 5
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 500}
12 |
13 | results:
14 | folder: results/window/time/zalando/
15 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | algorithms:
27 | - class: ct.ct.ContextTree
28 | params: {}
29 | key: ct-pre
30 |
31 |
--------------------------------------------------------------------------------
/conf/save/zalando/window/window_zalando_time_nextitnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: window # single|window, maybe add opt
3 | key: time-nin #added to the csv names
4 | evaluation: evaluation #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: zalando #added in the end of the csv names
7 | folder: ../../data/zalando/slices/
8 | prefix: clicks
9 | slices: 5
10 | skip: [1,2,3,4]
11 | opts: {sessions_test: 500}
12 |
13 | results:
14 | folder: results/window/time/zalando/
15 | #pickle_models: results/models/rsc15-window/ # not working for tensorflow models
16 |
17 | metrics:
18 | - class: accuracy.HitRate
19 | length: [3,5,10,15,20]
20 | - class: accuracy.MRR
21 | length: [3,5,10,15,20]
22 | - class: time_memory_usage.Time_usage_training
23 | - class: time_memory_usage.Time_usage_testing
24 | - class: time_memory_usage.Memory_usage
25 |
26 | algorithms:
27 | - class: nextitnet.nextitrec.Nextitrec
28 | params: { learning_rate: 0.001, iterations: 1 }
29 | key: nextitnet
30 |
--------------------------------------------------------------------------------
/conf/seqpop/test_aotm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: baselines #added to the csv names
4 | evaluation: evaluation_ext #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm #added in the end of the csv names
7 | folder: data/aotm/single/
8 | prefix: playlists-aotm
9 | opts: {sessions_test: 1000}
10 |
11 | results:
12 | folder: results/single/
13 | pickle_models: results/models/aotm/
14 |
15 | metrics:
16 | - class: accuracy_ext.HitRate
17 | length: [5,10,15,20]
18 | - class: accuracy_ext.MRR
19 | length: [5,10,15,20]
20 |
21 | algorithms:
22 |
23 | - class: baselines.ar.AssociationRules
24 | key: ar
25 | - class: baselines.sr.SequentialRules
26 | params: { weighting: div }
27 | key: sr
28 | - class: knn.vmknn.VMContextKNN
29 | params:
30 | k: 100
31 | sample_size: 1000
32 | weighting: quadratic
33 | weighting_score: quadratic
34 | key: vsknn
--------------------------------------------------------------------------------
/conf/seqpop/test_nowplaying.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: baselines #added to the csv names
4 | evaluation: evaluation_ext #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: nowplaying #added in the end of the csv names
7 | folder: data/nowplaying/single/
8 | prefix: nowplaying
9 | opts: {sessions_test: 1000}
10 |
11 | results:
12 | folder: results/single/
13 | pickle_models: results/models/nowplaying/
14 |
15 | metrics:
16 | - class: accuracy_ext.HitRate
17 | length: [5,10,15,20]
18 | - class: accuracy_ext.MRR
19 | length: [5,10,15,20]
20 |
21 | algorithms:
22 |
23 | - class: baselines.ar.AssociationRules
24 | key: ar
25 | - class: baselines.sr.SequentialRules
26 | params: { weighting: div }
27 | key: sr
28 | - class: knn.vmknn.VMContextKNN
29 | params:
30 | k: 100
31 | sample_size: 1000
32 | weighting: quadratic
33 | weighting_score: quadratic
34 | key: vsknn
--------------------------------------------------------------------------------
/conf/seqpop/test_rsc15_64.yml:
--------------------------------------------------------------------------------
1 | ---
2 | type: single # single|window, maybe add opt
3 | key: baselines #added to the csv names
4 | evaluation: evaluation_ext #evaluation|evaluation_last|evaluation_multiple
5 | data:
6 | name: aotm #added in the end of the csv names
7 | folder: data/rsc15/prepared/
8 | prefix: yoochoose-clicks-full-64
9 | opts: {sessions_test: 10000}
10 |
11 | results:
12 | folder: results/single/
13 | pickle_models: results/models/rsc15_64/
14 |
15 | metrics:
16 | - class: accuracy_ext.HitRate
17 | length: [5,10,15,20]
18 | - class: accuracy_ext.MRR
19 | length: [5,10,15,20]
20 |
21 | algorithms:
22 |
23 | - class: baselines.ar.AssociationRules
24 | key: ar
25 | - class: baselines.sr.SequentialRules
26 | params: { weighting: div }
27 | key: sr
28 | - class: knn.vmknn.VMContextKNN
29 | params:
30 | k: 100
31 | sample_size: 1000
32 | weighting: quadratic
33 | weighting_score: quadratic
34 | key: vsknn
--------------------------------------------------------------------------------
/docker/cpu/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM continuumio/miniconda3
2 |
3 | WORKDIR /app
4 |
5 | # Make RUN commands use `bash --login`:
6 | SHELL ["/bin/bash", "--login", "-c"]
7 |
8 | # Create the environment:
9 | COPY environment_cpu.yml .
10 | RUN conda env create -f environment_cpu.yml
11 |
12 | # Initialize conda in bash config fiiles:
13 | RUN conda init bash
14 |
15 | # Activate the environment, and make sure it's activated:
16 | RUN echo "conda activate srec37" > ~/.bashrc
17 | RUN echo "Make sure flask is installed:"
18 | RUN python -c "import tensorflow as tf"
19 |
20 | # The code to run when container is started:
21 | #COPY python.sh .
22 | #ENTRYPOINT ["/bin/bash"]
--------------------------------------------------------------------------------
/docker/cpu/build.txt:
--------------------------------------------------------------------------------
1 | docker build -t maltel/session-rec-cpu:v1 .
2 |
--------------------------------------------------------------------------------
/docker/cpu/environment_cpu.yml:
--------------------------------------------------------------------------------
1 | name: srec37
2 | channels:
3 | - defaults
4 | - conda-forge
5 | - mila-udem
6 | dependencies:
7 | - python=3.7
8 | - pip
9 | - scipy=1.6.2
10 | - python-dateutil=2.8.1
11 | - pytz=2021.1
12 | - certifi=2020.12.5
13 | - numpy=1.20.2
14 | - dill=0.3.3
15 | - pyyaml=5.4.1
16 | - networkx=2.5.1
17 | - scikit-learn=0.24.2
18 | - numexpr=2.7.3
19 | - keras=2.3.1
20 | - six=1.15.0
21 | - pandas=1.2.4
22 | - psutil=5.8.0
23 | - pympler=0.9
24 | - tensorflow=1.14
25 | - pytables=3.6.1
26 | - scikit-optimize=0.8.1
27 | - python-telegram-bot=13.5
28 | - theano=1.0.3
--------------------------------------------------------------------------------
/docker/gpu/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM continuumio/miniconda3
2 |
3 | WORKDIR /app
4 |
5 | # Make RUN commands use `bash --login`:
6 | SHELL ["/bin/bash", "--login", "-c"]
7 |
8 | # Create the environment:
9 | COPY environment_gpu.yml .
10 | RUN conda env create -f environment_gpu.yml
11 |
12 | # Initialize conda in bash config fiiles:
13 | RUN conda init bash
14 |
15 | # Activate the environment, and make sure it's activated:
16 | RUN echo "conda activate srec37" > ~/.bashrc
17 | RUN echo "Make sure flask is installed:"
18 | RUN python -c "import tensorflow as tf"
19 |
20 | # The code to run when container is started:
21 | #COPY python.sh .
22 | #ENTRYPOINT ["/bin/bash"]
--------------------------------------------------------------------------------
/docker/gpu/build.txt:
--------------------------------------------------------------------------------
1 | docker build -t maltel/session-rec-gpu:v1 .
--------------------------------------------------------------------------------
/docker/gpu/environment_gpu.yml:
--------------------------------------------------------------------------------
1 | name: srec37
2 | channels:
3 | - defaults
4 | - conda-forge
5 | - mila-udem
6 | dependencies:
7 | - python=3.7
8 | - scipy=1.6.2
9 | - python-dateutil=2.8.1
10 | - pytz=2021.1
11 | - certifi=2020.12.5
12 | - numpy=1.20.2
13 | - dill=0.3.3
14 | - pyyaml=5.4.1
15 | - networkx=2.5.1
16 | - scikit-learn=0.24.2
17 | - numexpr=2.7.3
18 | - keras=2.3.1
19 | - six=1.15.0
20 | - theano=1.0.3
21 | - pygpu
22 | - pandas=1.2.4
23 | - psutil=5.8.0
24 | - pympler=0.9
25 | - tensorflow-gpu=1.14
26 | - pytables=3.6.1
27 | - scikit-optimize=0.8.1
28 | - python-telegram-bot=13.5
--------------------------------------------------------------------------------
/docs/css/style_anon.css:
--------------------------------------------------------------------------------
1 |
2 | h2 {
3 | color:#333333;
4 | }
5 | .nav-tabs a:hover {
6 | color: #333333;
7 | }
8 |
9 | table th {
10 | border-top: 1px solid #333333;
11 | border-bottom: 1px solid #333333;
12 | }
13 |
14 | table tr:nth-child(odd) {
15 | background-color: #f7f7f7;
16 | }
17 |
18 | table tr:last-child td {
19 | border-bottom: 1px solid #333333;
20 | }
--------------------------------------------------------------------------------
/docs/js/install.js:
--------------------------------------------------------------------------------
1 | (function(){
2 | var options = INSTALL_OPTIONS;
3 |
4 | Array.prototype.forEach.call(document.querySelectorAll('table'), function(table){
5 | var firstTBodyRow, tHead;
6 |
7 | try {
8 | // If there’s no tHead but the first tBody row contains ths, create a tHead and move that row into it.
9 | if (!table.tHead && (firstTBodyRow = table.tBodies[0].rows[0]).children[0].tagName === 'TH') {
10 | tHead = document.createElement('thead');
11 | tHead.appendChild(firstTBodyRow);
12 | table.insertBefore(tHead, table.firstChild);
13 | }
14 |
15 | // Sortable requires this
16 | if (table.tHead.rows.length !== 1) {
17 | return;
18 | }
19 | } catch (err) {
20 | return;
21 | }
22 |
23 | table.setAttribute('data-sortable', '');
24 | table.classList.add('sortable-theme-' + options.theme);
25 | });
26 | })();
27 |
--------------------------------------------------------------------------------
/docs/umuai/css/style_anon.css:
--------------------------------------------------------------------------------
1 |
2 | h2 {
3 | color:#333333;
4 | }
5 | .nav-tabs a:hover {
6 | color: #333333;
7 | }
8 |
9 | table th {
10 | border-top: 1px solid #333333;
11 | border-bottom: 1px solid #333333;
12 | }
13 |
14 | table tr:nth-child(odd) {
15 | background-color: #f7f7f7;
16 | }
17 |
18 | table tr:last-child td {
19 | border-bottom: 1px solid #333333;
20 | }
--------------------------------------------------------------------------------
/docs/umuai/js/install.js:
--------------------------------------------------------------------------------
1 | (function(){
2 | var options = INSTALL_OPTIONS;
3 |
4 | Array.prototype.forEach.call(document.querySelectorAll('table'), function(table){
5 | var firstTBodyRow, tHead;
6 |
7 | try {
8 | // If there’s no tHead but the first tBody row contains ths, create a tHead and move that row into it.
9 | if (!table.tHead && (firstTBodyRow = table.tBodies[0].rows[0]).children[0].tagName === 'TH') {
10 | tHead = document.createElement('thead');
11 | tHead.appendChild(firstTBodyRow);
12 | table.insertBefore(tHead, table.firstChild);
13 | }
14 |
15 | // Sortable requires this
16 | if (table.tHead.rows.length !== 1) {
17 | return;
18 | }
19 | } catch (err) {
20 | return;
21 | }
22 |
23 | table.setAttribute('data-sortable', '');
24 | table.classList.add('sortable-theme-' + options.theme);
25 | });
26 | })();
27 |
--------------------------------------------------------------------------------
/dpython:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #docker run -it --runtime=nvidia --hostname=$HOSTNAME -v $PWD:/project -w /project 042019/session-rec:latest /bin/bash -c "pip install -r requirements_pip.txt; python $*"
3 | docker run -it --hostname=$HOSTNAME -v $PWD:/project -w /project maltel/session-rec-cpu:v1 \
4 | /bin/bash -c "source /opt/conda/etc/profile.d/conda.sh; conda activate srec37; python $*"
--------------------------------------------------------------------------------
/dpython.bat:
--------------------------------------------------------------------------------
1 | docker run -it --hostname=%COMPUTERNAME% -v %cd%:/project -w /project maltel/session-rec-cpu:v1 /bin/bash -c "source /opt/conda/etc/profile.d/conda.sh; conda activate srec37; python %*"
--------------------------------------------------------------------------------
/dpython.orig:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | docker run -it --runtime=nvidia --hostname=$HOSTNAME -v $PWD:/project -w /project 042019/session-rec-docker:latest /bin/bash -c "pip install -r requirements.txt; python $*"
3 |
--------------------------------------------------------------------------------
/dpython_gpu:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #docker run -it --runtime=nvidia --hostname=$HOSTNAME -v $PWD:/project -w /project 042019/session-rec:latest /bin/bash -c "pip install -r requirements_pip.txt; python $*"
3 | #docker run -it --gpus all --hostname=$HOSTNAME -v $PWD:/project -w /project maltel/session-rec-gpu:v1 \
4 | # /bin/bash -c "source /opt/conda/etc/profile.d/conda.sh; conda activate srec37; THEANO_FLAGS='device=cuda0,floatX=float32' python $*"
5 | docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 --hostname=$HOSTNAME -v $PWD:/project -w /project maltel/session-rec-gpu:v1 \
6 | /bin/bash -c "source /opt/conda/etc/profile.d/conda.sh; conda activate srec37; THEANO_FLAGS='device=cuda0,floatX=float32' python $*"
7 |
--------------------------------------------------------------------------------
/environment_cpu.yml:
--------------------------------------------------------------------------------
1 | name: srec37
2 | channels:
3 | - defaults
4 | - conda-forge
5 | dependencies:
6 | - python=3.7
7 | - scipy=1.6.2
8 | - python-dateutil=2.8.1
9 | - pytz=2021.1
10 | - certifi=2020.12.5
11 | - numpy=1.20.2
12 | - dill=0.3.3
13 | - pyyaml=5.4.1
14 | - networkx=2.5.1
15 | - scikit-learn=0.24.2
16 | - numexpr=2.7.3
17 | - keras=2.3.1
18 | - six=1.15.0
19 | - theano=1.0.3
20 | - pandas=1.2.4
21 | - psutil=5.8.0
22 | - pympler=0.9
23 | - tensorflow=1.14
24 | - pytables=3.6.1
25 | - scikit-optimize=0.8.1
26 | - python-telegram-bot=13.5
--------------------------------------------------------------------------------
/environment_gpu.yml:
--------------------------------------------------------------------------------
1 | name: srec37
2 | channels:
3 | - defaults
4 | - conda-forge
5 | - mila-udem
6 | dependencies:
7 | - python=3.7
8 | - scipy=1.6.2
9 | - python-dateutil=2.8.1
10 | - pytz=2021.1
11 | - certifi=2020.12.5
12 | - numpy=1.20.2
13 | - dill=0.3.3
14 | - pyyaml=5.4.1
15 | - networkx=2.5.1
16 | - scikit-learn=0.24.2
17 | - numexpr=2.7.3
18 | - keras=2.3.1
19 | - six=1.15.0
20 | - theano=1.0.3
21 | - pygpu
22 | - pandas=1.2.4
23 | - psutil=5.8.0
24 | - pympler=0.9
25 | - tensorflow-gpu=1.14
26 | - pytables=3.6.1
27 | - scikit-optimize=0.8.1
28 | - python-telegram-bot=13.5
--------------------------------------------------------------------------------
/evaluation/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/evaluation/__init__.py
--------------------------------------------------------------------------------
/evaluation/metrics/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/evaluation/metrics/__init__.py
--------------------------------------------------------------------------------
/helper/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/helper/__init__.py
--------------------------------------------------------------------------------
/preprocessing/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rn5l/session-rec/5dcd583cbd8d44703a5248b9a308945f24b91390/preprocessing/__init__.py
--------------------------------------------------------------------------------
/webpage/css/style_anon.css:
--------------------------------------------------------------------------------
1 |
2 | h2 {
3 | color:#333333;
4 | }
5 | .nav-tabs a:hover {
6 | color: #333333;
7 | }
8 |
9 | table th {
10 | border-top: 1px solid #333333;
11 | border-bottom: 1px solid #333333;
12 | }
13 |
14 | table tr:nth-child(odd) {
15 | background-color: #f7f7f7;
16 | }
17 |
18 | table tr:last-child td {
19 | border-bottom: 1px solid #333333;
20 | }
--------------------------------------------------------------------------------
/webpage/js/install.js:
--------------------------------------------------------------------------------
1 | (function(){
2 | var options = INSTALL_OPTIONS;
3 |
4 | Array.prototype.forEach.call(document.querySelectorAll('table'), function(table){
5 | var firstTBodyRow, tHead;
6 |
7 | try {
8 | // If there’s no tHead but the first tBody row contains ths, create a tHead and move that row into it.
9 | if (!table.tHead && (firstTBodyRow = table.tBodies[0].rows[0]).children[0].tagName === 'TH') {
10 | tHead = document.createElement('thead');
11 | tHead.appendChild(firstTBodyRow);
12 | table.insertBefore(tHead, table.firstChild);
13 | }
14 |
15 | // Sortable requires this
16 | if (table.tHead.rows.length !== 1) {
17 | return;
18 | }
19 | } catch (err) {
20 | return;
21 | }
22 |
23 | table.setAttribute('data-sortable', '');
24 | table.classList.add('sortable-theme-' + options.theme);
25 | });
26 | })();
27 |
--------------------------------------------------------------------------------