Metadata-Version: 2.1
Name: autora-experimentalist-sampler-model-disagreement
Version: 1.0.2
Summary: Compares weaknesses in multiple models
Author-email: "Built by Sebastian Musslick, re-factored by Chad Williams" <sebastian_musslick@brown.edu>
License: MIT license
Project-URL: homepage, http://www.empiricalresearch.ai
Project-URL: repository, https://github.com/AutoResearch/autora-experimentalist-sampler-model-disagreement
Project-URL: documentation, https://autoresearch.github.io/autora/
Requires-Python: <4,>=3.8
Description-Content-Type: text/markdown
Requires-Dist: autora-core (>=3.1.0)
Requires-Dist: scikit-learn
Provides-Extra: dev
Requires-Dist: autora-core[dev] ; extra == 'dev'

# AutoRA Model Disagreement Sampler

The model disagreement sampler identifies experimental conditions $\vec{x}' \in X'$ with respect to
a pairwise distance metric between theorist models, $P_{M_{i}}(\hat{y}, \vec{x}')$:

$$
\underset{\vec{x}'}{\arg\max}~(P_{M_{1}}(\hat{y}, \vec{x}') - P_{M_{2}}(\hat{y}, \vec{x}'))^2
$$

# Example Code

```
from autora.experimentalist.sampler.model_disagreement import model_disagreement_sample
from autora.theorist.bms import BMSRegressor; BMSRegressor()
from autora.theorist.darts import DARTSRegressor; DARTSRegressor()
import numpy as np

#Meta-Setup
X = np.linspace(start=-3, stop=6, num=10).reshape(-1, 1)
y = (X**2).reshape(-1, 1)
n = 5

#Theorists
bms_theorist = BMSRegressor()
darts_theorist = DARTSRegressor()
bms_theorist.fit(X,y)
darts_theorist.fit(X,y)

#Sampler
X_new = model_disagreement_sample(X, [bms_theorist, darts_theorist], n)
```
