A meta package to load all related Machine Learning libraries in Pharo
# Pharo-AI - Machine Learning in Pharo
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://github.com/pharo-ai/ai/actions/workflows/continuous.yml)
[](https://raw.githubusercontent.com/PolyMathOrg/PolyMath/master/LICENSE)
- [Pharo-AI - Machine Learning in Pharo](#pharo-ai---machine-learning-in-pharo)
- [Description](#description)
- [Installation](#installation)
- [Implemented Algorithms](#implemented-algorithms)
- [Machine Learning](#machine-learning)
- [Data Mining](#data-mining)
- [Natural Language Processing](#natural-language-processing)
- [Data Preprocessing](#data-preprocessing)
- [Datasets](#datasets)
- [Metrics](#metrics)
- [Applications](#applications)
- [Tools](#tools)
- [Work in Progress](#work-in-progress)
- [Pharo-AI and Pharo-Launcher](#pharo-ai-and-pharo-launcher)
## Description
A meta package to load all related Machine Learning libraries in Pharo.
For more information about the naming convention or the requirement to be integrated in Pharo-AI, refere to the [Contribution file](CONTRIBUTION.md).
## Installation
You can load all the Artificial Intelligence packages from the pharo-ai project into a fresh Pharo image by going to the Playground (Ctrl + OW/Cmd + OW) and executing the following expression (select it and press Do-it button or Ctrl+D/Cmd+D):
```smalltalk
EpMonitor disableDuring: [
Metacello new
baseline: 'AIPharo';
repository: 'github://pharo-ai/ai/src';
onWarningLog;
onConflictUseIncoming;
load ]
```
This should load the default version of the AIPharo (you can also specify another version or branch).
To add it to your Baseline:
```smalltalk
spec
baseline: 'AIPharo'
with: [ spec repository: 'github://pharo-ai/ai/src' ]
```
If you are new to baselines and Metacello, check out the [Baselines](https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/Baselines.md) tutorial on Pharo Wiki.
## Implemented Algorithms
### Machine Learning
| Name | Chapter | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|---|
| [Linear Regression](https://github.com/pharo-ai/linear-models) | WiP | Yes | [](https://coveralls.io/github/pharo-ai/linear-models?branch=master) | [](https://github.com/pharo-ai/linear-regression/actions/workflows/test.yml) | None |
| [Logistic Regression](https://github.com/pharo-ai/linear-models) | No | Yes | [](https://coveralls.io/github/pharo-ai/linear-models?branch=master) | [](https://github.com/pharo-ai/linear-regression/actions/workflows/test.yml) | None |
| [K-Means](https://github.com/pharo-ai/k-means) | No | No | [](https://coveralls.io/github/pharo-ai/k-means?branch=master) | [](https://github.com/pharo-ai/k-means/actions/workflows/test.yml) | [AIEditDistances](https://github.com/pharo-ai/edit-distances) |
| [K-Nearest Neighbours](https://github.com/pharo-ai/k-nearest-neighbors) | No | Yes | [](https://coveralls.io/github/pharo-ai/k-nearest-neighbors?branch=master) | [](https://github.com/pharo-ai/k-nearest-neighbors/actions/workflows/test.yml) | [AIEditDistances](https://github.com/pharo-ai/edit-distances) |
| [Naive Bayes Classifier](https://github.com/pharo-ai/naive-bayes-classifier) | No | No | [](https://coveralls.io/github/olekscode/NaiveBayesClassifier?branch=master) | [](https://github.com/pharo-ai/NaiveBayesClassifier/actions/workflows/test.yml) | None |
| [Decision Tree Model](https://github.com/pharo-ai/decision-tree-model) | No | Yes | [](https://coveralls.io/github/pharo-ai/DecisionTreeModel?branch=master) | [](https://github.com/pharo-ai/DecisionTreeModel/actions/workflows/test.yml) | [DataFrame](https://github.com/PolyMathOrg/DataFrame), [AIDatasets](https://github.com/pharo-ai/Datasets) |
### Data Mining
| Name | Chapter | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|---|
| [A-Priori](https://github.com/pharo-ai/APriori) | Yes | Yes | [](https://coveralls.io/github/pharo-ai/APriori?branch=master) | [](https://github.com/pharo-ai/APriori/actions/workflows/test.yml) | [ContainersOrderedSet](https://github.com/pharo-containers/Containers-OrderedSet) |
### Natural Language Processing
| Name | Chapter | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|---|
| [N-gram Model](https://github.com/pharo-ai/NgramModel) | No | Yes* | [](https://coveralls.io/github/pharo-ai/NgramModel?branch=master) | [](https://github.com/pharo-ai/NgramModel/actions/workflows/test.yml) | |
| [Term Frequency - Inverse Document Frequency](https://github.com/pharo-ai/tf-idf) | Yes | Yes | [](https://coveralls.io/github/pharo-ai/tf-idf?branch=master) | [](https://github.com/pharo-ai/tf-idf/actions/workflows/test.yml) | None |
### Data Preprocessing
| Name | Chapter | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|---|
| [Data Partitioners](https://github.com/pharo-ai/data-partitioners) | No | Yes | [](https://coveralls.io/github/pharo-ai/data-partitioners?branch=master) | [](https://github.com/pharo-ai/data-partitioners/actions/workflows/cimatrix.yml) | None |
| [Data Imputers](https://github.com/pharo-ai/data-imputers) | No | Yes | [](https://coveralls.io/github/pharo-ai/data-imputers?branch=master) | [](https://github.com/pharo-ai/data-imputers/actions/workflows/ci.yml) | None |
| [Data Preprocessing](https://github.com/pharo-ai/data-preprocessing) | No | Yes | [](https://coveralls.io/github/pharo-ai/data-preprocessing?branch=master) | [](https://github.com/pharo-ai/data-preprocessing/actions/workflows/ci.yml) | None |
### Datasets
| Name | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|
| [Datasets](https://github.com/pharo-ai/datasets) | Yes | [](https://coveralls.io/github/pharo-ai/datasets?branch=master) | [](https://github.com/pharo-ai/datasets/actions/workflows/test.yml) | [External Dependencies](https://github.com/pharo-ai/external-dependencies) (DataFrame) |
### Metrics
| Name | Chapter | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|---|
| [Metrics](https://github.com/pharo-ai/metrics) | No | Yes | [](https://coveralls.io/github/pharo-ai/metrics?branch=master) | [](https://github.com/pharo-ai/metrics/actions/workflows/test.yml) | [External Dependencies](https://github.com/pharo-ai/external-dependencies) (VectorMatrix) |
| [Edit Distances](https://github.com/pharo-ai/edit-distances) | No | Yes | [](https://coveralls.io/github/pharo-ai/edit-distances?branch=master) | [](https://github.com/pharo-ai/edit-distances/actions/workflows/test.yml) | None |
### Applications
| Name | "How to use" | Coverage | CI Status | Dependencies |
|---|---|---|---|---|
| [Spelling Correction](https://github.com/pharo-ai/spelling-correction) | Yes | [](https://coveralls.io/gi