Quickstart guide¶
Installation¶
You can install librec-auto
using pip as follows:
$ pip install librec-auto
Dependencies¶
You will need to install the Java Java Runtime Environment 8, since Librec
is executed from a Java JAR file.
The installation is complete. You can now run your experiments with:
$ python -m librec_auto -t <study directory>
Building from Source¶
Instead of installing librec_auto
from pip, you can also build it from the source.
First, you’ll need to clone this repository:
$ git clone https://github.com/that-recsys-lab/librec-auto.git && cd librec-auto
Then, run the setup script:
$ python setup.py install
If you already have librec_auto
installed, you will need to uninstall
the librec_auto
module before you install it from source. Run:
$ pip uninstall librec_auto
Note on MS Recommenders¶
The Microsoft Recommenders library is available as an installation extra:
$ pip install librec-auto[ms-recommend]
However, you may find it easier to install this package manually. In particular, pip will not install the library on version of Python greater than 3.7. You also must have a version of tensorflow no later that 2.2.0. If you are installing on Python 3.8 or later, we have had success installing from the GitHub repository directly.
$ pip install -e git+https://github.com/microsoft/recommenders/#egg=pkg
The librec-auto-demo2021
repository has a working example of using a variational autoencoder from MS Recommenders: librec-auto-demo2021
Running an Example¶
Clone the following librec-auto-demo2021
repository:
$ git clone https://github.com/that-recsys-lab/librec-auto-demo2021.git
You can run a basic matrix factorization recommender over a movie ratings data set using the following command:
$ python -m librec_auto run -t librec-auto-demo2021/demo01 -c config01.xml
The configuration file for the above study is located at:
$ librec-auto-demo2020/demo01/config/config01.xml
The -c
command line parameter allows other configuration files to be selected.
Results¶
Let’s say you want to run a study in the target directory target
.
target
└── conf
└── config01.xml
Now, let’s say you run the study, like:
python -m librec_auto -t target run
Your directory structure should now look similar to this:
target
├── conf
│ └── config01.xml
├── exp00000
│ ├── conf
│ │ ├── config.xml
│ │ └── librec.properties
│ ├── log
│ │ └── librec-<timstamp>.log
│ ├── original
│ └── result
│ ├── out-1.txt
│ ├── out-2.txt
│ └── ...
├── exp00001
│ └── ...
├── exp00002
│ └── ...
├── ...
└── post
├── study-results-full_<timestamp>.csv
├── study-results-summary_<timestamp>.csv
└── ...
output.xml
librec-auto
will run several experiments for your target
study.
These experiments each have their own subdirectory, under target
. In the
diagram above, these subdirectories are like exp0000n
.
If your configuration file is set up to produce them, various compilations of the study results
will be stored in the target/post
directory. You can also write your own post-processing scripts.
The output.xml
file contains information about the run of the study including any errors or warning that were encountered.
Quickstart with your own data¶
To quickly set up a librec-auto study using your own data, you can use the setup wizard provided. This is a python script located in the librec-auto/bin
folder. Run the wizard with the following arguments
$ python path_to_librec-auto/bin/wizard.py --data your_data_file --study path_of_study_directory
The wizard will create a study file structure as described above and import your data file into it. It will also create a configuration with a basic experimental setup. You can run the study with the following commands:
$ cd path_of_study_directory
$ python -m librec_auto run -t .
Your results will be stored in the output.xml
file in the study directory.