uplift-analysis is a Python
library that contains implementations of methods and utilities, which can serve use
cases requiring the analysis of uplift modeling techniques.
The implemented modules include scoring utilities, analysis strategy, and relevant visualization methods.
This library works for Python 3.7 and higher.
This library is distributed on PyPi and can be installed using pip
.
$ pip install uplift-analysis
The command above will automatically install all the required dependencies. Please visit the installation page for more details.
Check out the comprehensive tutorial for a complete walk-through of the library.
import pandas as pd
from uplift_analysis import data, evaluation
eval_set = data.EvalSet(df=pd.DataFrame({
'observed_action': treatments,
'responses': responses,
'score': scores,
'proposed_action': recommended_treatments
}))
evaluator = evaluation.Evaluator()
eval_res, summary = evaluator.eval_and_show(eval_set, specify=['uplift'],
show_random=True, num_random_rep=4)
For more information, refer to the accompanying blogpost "Analyzing Uplift Models", the package's complete documentation, and the walkthrough tutorials.
The source code of the project is available on GitHub.
$ git clone https://github.com/PlaytikaOSS/uplift-analysis.git
You can install the library and the dependencies with one of the following commands:
$ pip install . # install library + dependencies
$ pip install ".[develop]" # install library + dependencies + developer-dependencies
$ pip install -r requirements.txt # install dependencies
$ pip install -r requirements-dev.txt # install developer-dependencies
For creating the "pip-installable" *.whl
file, run the following command (at the root of the repository):
$ python -m build
For creating the HTML documentation of the project, run the following commands:
$ cd docs
$ make clean
$ make html
Tests can be executed with pytest
running the following commands:
$ cd tests
$ pytest # run all tests
$ pytest test_testmodule.py # run all tests within a module
$ pytest test_testmodule.py -k test_testname # run only 1 test