Classification with Born's rule
Project description
Classification with Born's Rule
This repository implements the classifier proposed in:
Emanuele Guidotti and Alfio Ferrara. Text Classification with Born’s Rule. Advances in Neural Information Processing Systems, 2022.
Installation
pip install bornrule
Usage
Scikit-Learn
from bornrule import BornClassifier
- Use it as any other
sklearn
classifier - Supports both dense and sparse input and GPU-accelerated computing via
cupy
- Documentation available here
PyTorch
from bornrule.torch import Born
- Use it as any other
torch
layer - Supports real and complex-valued inputs. Outputs probabilities in the range [0, 1]
- Documentation available here
SQL
from bornrule.sql import BornClassifierSQL
- Use it for in-database classification
- Supports inputs represented as json
{feature: value, ...}
- Documentation available here
Paper replication
All the results in the paper are obtained using Python 3.9 on a Google Cloud Virtual Machine equipped with CentOS 7, 12 vCPU Intel Cascade Lake 85 GB RAM, 1 GPU NVIDIA Tesla A100, and CUDA 11.5.
Install this package:
pip install bornrule==0.1.0
Install additional dependencies to replicate the paper:
pip install bs4==0.0.1 nltk==3.7 matplotlib==3.5.1
Install pytorch
version 1.11.0
with GPU support. For CUDA 11.5 the command is:
pip install torch==1.11.0+cu115 -f https://download.pytorch.org/whl/torch_stable.html
Install cupy
version 10.4.0
. For CUDA 11.5 the command is:
pip install cupy-cuda115==10.4.0
Run the script nips.py
:
python -u nips.py > nips.log &
The script generates a folder named results
with all the results in the paper. Additional information are saved to the log file nips.log
Cite as
Please cite the following when using this software:
@inproceedings{guidotti2022text,
title={Text Classification with Born's Rule},
author={Emanuele Guidotti and Alfio Ferrara},
booktitle={Advances in Neural Information Processing Systems},
editor={Alice H. Oh and Alekh Agarwal and Danielle Belgrave and Kyunghyun Cho},
year={2022},
url={https://openreview.net/forum?id=sNcn-E3uPHA}
}
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.