This is the source code corresponding to the journal article
Guillermo Romero Moreno, Javier Padilla & Enrique Chueca (2020) Learning VAA: A new method for matching users to parties in voting advice applications, Journal of Elections, Public Opinion and Parties, DOI: 10.1080/17457289.2020.1760282
It allows to build a Learning VAA, which is a Voting Advice Application that self-tunes its comparison parameters to give enhanced recommendations. This self-tuning is based on previous users' answers to the questionaire.
The code also allows to replicate the figures and tables shown in the paper.
The code is implemented in python 3.7 and requires the following packages:
matplotlib 3.0.2
numpy 1.15.4
pandas 0.24.1
scikit-learn 0.20.2
theano 1.0.3
- The tables and figures of the paper are in the
tables
andplots
folders, respectively. - These were generated by running the script
results_paper.py
with pre-trained models. These models are saved in the foldermodels
. - The models were trained by running the script
algorithm.py
. New models can be trained by rerunning such script. - The models are defined in the file
model.py
. - The data upon which the models are trained are contained in the folder
data
.
We have performed our experiments on the data from two different VAAs: the EUVox2014, a VAA released for the 2014 European Elections; and aquienvoto.org, a national VAA released for the 2019 Spanish elections.
Mendez, F. University of Zürich. (2018). EUvox2014: Voting Advice Application data for the 2014 European Parliament elections (Version: 1.0.0). , DOI: https://doi.org/10.7802/1750.
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Coming...