Skip to content

Commit

Permalink
Merge pull request #101 from NiklasMelton/readthedocs
Browse files Browse the repository at this point in the history
Readthedocs and numpy formatted docstrings
  • Loading branch information
NiklasMelton authored Oct 16, 2024
2 parents 10bea8b + 41074d2 commit 6b39aa1
Show file tree
Hide file tree
Showing 67 changed files with 4,731 additions and 1,705 deletions.
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

Welcome to AdaptiveResonanceLib, a comprehensive and modular Python library for Adaptive Resonance Theory (ART) algorithms. Based on scikit-learn, our library offers a wide range of ART models designed for both researchers and practitioners in the field of machine learning and neural networks. Whether you're working on classification, clustering, or pattern recognition, AdaptiveResonanceLib provides the tools you need to implement ART algorithms efficiently and effectively.

<!-- START available_models -->
## Available Models

AdaptiveResonanceLib includes implementations for the following ART models:
Expand All @@ -17,7 +18,6 @@ AdaptiveResonanceLib includes implementations for the following ART models:
- Fuzzy ART
- Quadratic Neuron ART
- Dual Vigilance ART
- Gram ART
- #### Metric Informed
- CVI ART
- iCVI Fuzzy ART
Expand All @@ -35,13 +35,20 @@ AdaptiveResonanceLib includes implementations for the following ART models:
- Fusion ART
- #### Reinforcement Learning
- FALCON

- TD-FALCON
- #### Biclustering
- Biclustering ARTMAP

<!-- END available_models -->

<!-- START comparison_of_elementary_models -->
## Comparison of Elementary Models
![Comparison of Elementary Images](./img/comparison_of_elementary_methods.jpg?raw=true")

[comment]: <> (![Comparison of Elementary Images]&#40;https://github.com/NiklasMelton/AdaptiveResonanceLib/raw/main/docs/_static/comparison_of_elementary_methods.jpg?raw=true"&#41;)
![Comparison of Elementary Images](https://github.com/NiklasMelton/AdaptiveResonanceLib/raw/main/img/comparison_of_elementary_methods.jpg?raw=true")
<!-- END comparison_of_elementary_models -->

<!-- START installation -->
## Installation

To install AdaptiveResonanceLib, simply use pip:
Expand All @@ -57,7 +64,9 @@ pip install artlib
```

Ensure you have Python 3.9 or newer installed.
<!-- END installation -->

<!-- START quick-start -->
## Quick Start

Here's a quick example of how to use AdaptiveResonanceLib with the Fuzzy ART model:
Expand All @@ -80,28 +89,38 @@ model.fit(train_X)
predictions = model.predict(test_X)
```

Replace `params` with the parameters appropriate for your use case.
<!-- END quick-start -->

<!-- START documentation -->
## Documentation

For more detailed documentation, including the full list of parameters for each model, visit our [documentation page](https://github.com/NiklasMelton/AdaptiveResonanceLib).
<!-- END documentation -->

<!-- START examples -->
## Examples

For examples of how to use each model in AdaptiveResonanceLib, check out the `/examples` directory in our repository.
<!-- END examples -->

<!-- START contributing -->
## Contributing

We welcome contributions to AdaptiveResonanceLib! If you have suggestions for improvements, or if you'd like to add more ART models, please see our `CONTRIBUTING.md` file for guidelines on how to contribute.

You can also join our [Discord server](https://discord.gg/E465HBwEuN) and participate directly in the discussion.
<!-- END contributing -->

<!-- START license -->
## License

AdaptiveResonanceLib is open source and available under the MIT license. See the `LICENSE` file for more info.
<!-- END license -->

<!-- START contact -->
## Contact

For questions and support, please open an issue in the GitHub issue tracker or message us on our [Discord server](https://discord.gg/E465HBwEuN). We'll do our best to assist you.

Happy Modeling with AdaptiveResonanceLib!
<!-- END contact -->
21 changes: 19 additions & 2 deletions artlib/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
"""
Adaptive Resonance Theory (ART) is a cognitive and neural network model that explains how the brain learns to recognize
patterns while maintaining stability in the face of new, potentially conflicting information. ART networks are known for
their ability to perform unsupervised learning and adaptively categorize data without forgetting previously learned
patterns, a feature known as "plasticity-stability balance."
The ART modules provided here support classification, clustering, and reinforcement learning tasks by dynamically
adjusting to incoming data streams. They also offer advanced capabilities, including hierarchical clustering,
topological clustering, data fusion, and regression, enabling flexible exploration of complex data structures.
`Adaptive Resonance Theory <https://en.wikipedia.org/wiki/Adaptive_resonance_theory>`_
"""


from artlib.common.BaseART import BaseART
from artlib.common.BaseARTMAP import BaseARTMAP
from artlib.common.utils import normalize, compliment_code, de_compliment_code, de_normalize
Expand All @@ -6,7 +21,6 @@
from artlib.elementary.ART1 import ART1
from artlib.elementary.ART2 import ART2A
from artlib.elementary.BayesianART import BayesianART
from artlib.elementary.DualVigilanceART import DualVigilanceART
from artlib.elementary.EllipsoidART import EllipsoidART
from artlib.elementary.GaussianART import GaussianART
from artlib.elementary.FuzzyART import FuzzyART
Expand All @@ -28,6 +42,7 @@
from artlib.biclustering.BARTMAP import BARTMAP

from artlib.topological.TopoART import TopoART
from artlib.topological.DualVigilanceART import DualVigilanceART

__all__ = [
"BaseART",
Expand All @@ -51,5 +66,7 @@
"FusionART",
"BARTMAP",
"iCVIFuzzyART",
"CVIART"
"CVIART",
"FALCON",
"TD_FALCON"
]
Loading

0 comments on commit 6b39aa1

Please sign in to comment.