Implementation of the Acquire Valued Shoppers Challenge in C++.
Usage: ./shopper-hivemind [options]
General options:
-h [ --help ] display this message
-c [ --cache ] generate cache files, if they do not exist yet
-p [ --clear-cache ] clears cache files (will ask for confirmation)
-t [ --debug ] use small debug subset, for code testing purposes
-f [ --force ] will never ask confirmation, answer [YES] to
everything
-d [ --datadir ] arg specify in which directory to search for the data
files (default ./data)
-a [ --algorithm ] arg {svm, linear} (defaults to svm)
shopper-hivemind
can be compiled using at least Clang 3.2
or higher.
Compilation has been tested with the following setups:
- Ubuntu 13.10, Clang 3.2
- Ubuntu 14.04, Clang 3.4
This software project uses the following packages:
- Boost with {system, filesystem, regex, program_options, iostreams}
- Msgpack
- LibSVM
- LibLinear
- Qt5
To install the software required to compile shopper-hivemind
on Ubuntu, use the following commands:
# apt-get update
# apt-get install libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libboost-iostreams-dev libmsgpack-dev libsvm-dev qtbase5-dev
You then still need to install liblinear
, which can easily be downloaded by running:
$ git submodule sync
$ git submodule update --init
See contrib/liblinear
for details on how to build and install liblinear
.
shopper-hivemind
can be built using both qmake and cmake. For qmake, just install QtCreator and load the .pro-file. For cmake, run:
$ ./cmake-linux
$ cd build
$ make
To retrieve the source data, including the (partial) cached files, run
$ ./download-data
This will use up approximately 8.7GiB of disk space, so beware. When testing, try first to run with the --debug
cli option. This will force the algorithm to use a random subset of the dataset.