Metadata-Version: 2.1
Name: feyn
Version: 3.2.0
Summary: Feyn is a symbolic regression package named after Richard Feynman, that uses the QLattice as a simulator to generate models.
Author-email: Abzu <support@abzu.ai>
License: CC BY-NC-ND 4.0
Project-URL: Homepage, https://abzu.ai
Project-URL: Documentation, https://docs.abzu.ai
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy >=1.19.5
Requires-Dist: pynacl
Requires-Dist: pandas
Requires-Dist: lark
Requires-Dist: svgwrite
Requires-Dist: matplotlib >=3.6.0
Requires-Dist: scikit-learn
Requires-Dist: sympy
Provides-Extra: extras
Requires-Dist: ipython ; extra == 'extras'
Requires-Dist: ipywidgets ; extra == 'extras'
Provides-Extra: tests
Requires-Dist: statsmodels ; extra == 'tests'
Requires-Dist: pytest ; extra == 'tests'
Requires-Dist: pyarrow >=7.0.0 ; extra == 'tests'
Requires-Dist: ipykernel ; extra == 'tests'

# Feyn

## Quick start

`Feyn` is available as Python3.8+ package [through `pip`](https://pypi.org/project/feyn/). You can install it with the following command:

```bash
richard@feyn:~$ pip3 install feyn
```

Once installed, go to your preferred `Python` environment and follow along with this example.

## Running a QLattice

If you're using the community edition of a `QLattice` then you can instantiate it by:

```python
import feyn

ql = feyn.QLattice()
```

## Auto run

The quickest way to get started is to use the `auto_run` function on the `QLattice`. First we will make a classification problem with `feyn.datasets.make_classification`.

```python
from feyn.datasets import make_classification

train, test = make_classification()
models = ql.auto_run(train, output_name = 'y', kind = 'classification')
```

This returns a list of fitted models that are the best the `QLattice` has sampled, sorted by ascending loss.

## Evaluate

The model with the lowest loss is `models[0]`. We can evaluate that model with the `plot` function and it's ROC curve.

```python
best = models[0]
best.plot(train, test)
best.plot_roc_curve(test)
```
