Metadata-Version: 2.1
Name: modelingtools
Version: 0.3.1
Summary: Tools to make modeling easier - Work in progress
Home-page: https://github.com/jeremymiller00/modelingtools
Author: Jeremy Miller
Author-email: jeremymiller00@gmail.com
Project-URL: Bug Tracker, https://github.com/jeremymiller00/modelingtools/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: scikit-learn
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: statsmodels
Requires-Dist: pandas

# ModelTools - Work in progress, but what's here should work.
A collection of utility model training and statistical tools. These tools intend to solve problems such as:
* Integrating components of different ML libraries so they can be used together
* Addressing specific shortcomings of specific ML library functions
* Simplify common tasks, such as plots for classifier evaluation

# Bayesian AB Testing

A convenience wrapper for common Bayesian A/B Testing tasks.  
Bayesian AB Testing is base on the use of conjugate prior distributions. A description of common conjugate prior relationships can be found [here](https://en.wikipedia.org/wiki/Conjugate_prior).

The most common use case is when the metric of interest is a measure of K successes in N trials, such as a click-through-rate. Another common use case is a Poisson proccess (k events per interval) such as signups or api traffic per day.

Sample usage:

```python
from modelingtools.testingtools import BayesianABTesting  
data = {  
  "a_trials": 1000,
  "a_successes": 100,
  "b_trials": 2000,
  "b_successes": 201,
}
ab_test_ctr = BayesianABTesting(likelihood_function="binomial", data=data)
result = ab_test_ctr.execute_test(metric="CTR")
```

You can call some static methods to get info:
```python
BayesianABTesting.get_likelihood_options()
BayesianABTesting.get_required_data_fields()
```
