APL-Brochu - The Implementation of the paper Active Preference Learning with Discrete Choice Data by Brochu et al. (2011)
Project description
Active Preference Learning with Discrete Choice Data
This is an unofficial implementation of the Active Preference Learning with Discrete Choice Data by Brochu et al. as published in NIPS 2007.
Why would this package be useful for you?
Imagine a scenario where you are trying to find a place to have lunch today. There are tons of places to eat around. An app presents you two restaurants to compare at a time and can help you reach a good enough restaurant in as few queries as possible. Each time you pick a restaurant, the model gradually learns what you want and hopefully, its suggestions get gradually better. This will save you a lot of time and when designed well, can be a much more fun way to search as opposed to going through a boring list view.
In general, if the following conditions are present, active preference can be useful for you:
- User is searching for an item in a very large set of items that's impossible go through one by one.
- User is okay with a good enough solution if it is going to be found shortly.
- Items can be embedded in a vectors space where proximity in that space implies similarity in preference between items.
Installation
There are currently two modes of installation: bare bones, extras, development.
Whichever mode, first clone the repository.
git clone git@github.com:dorukhansergin/APL-Brochu.git
Bare Bones
The package requires:
numpy~=1.20.1
scikit-learn~=0.24.1
scipy
Change into the folder of the cloned repository and use pip
to install.
pip install .
Extras
In addition to bare bones, the following packages will be installed:
streamlit
matplotlib
pip install .\[extras\]
Development
In addition to bare bones, the following packages will be installed:
pytest
pylint
black
rope
Change into the folder of the cloned repository and use pip
to install, with the dev mode. The -e
flag listens to change in code so it's recommended.
pip install -e .\[dev\]
You can run the tests using pytest with the simple pytest
command.
Play with the Demo
See above for the installation of extras. The extras has a demo for you to get a feeling for the algorithm. Use the streamlit command to run it.
streamlit run extras/brochu2d.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file APL-Brochu-0.0.1.tar.gz
.
File metadata
- Download URL: APL-Brochu-0.0.1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c523018983888d2b04a07af8b72493cd050d5b5e62b41360eb51b9e9effede4d |
|
MD5 | d22be51142b6dc3e3f5103f38d986592 |
|
BLAKE2b-256 | 26df033085f116b4134fd33be128985aeb9bd90b874e4b48f4e340a35b53cf58 |
File details
Details for the file APL_Brochu-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: APL_Brochu-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f5d64db93a2c4ae87c63e36ea827e98abcfd093a79c0bb43da3f8b0352323e4 |
|
MD5 | 9c7bc7d10d736296c3128e7194e41730 |
|
BLAKE2b-256 | 60ab4b988efa10494304adbe466a733318ffc5d58c295012b3a43e43e0c30547 |