The name Mojmelo
is derived from the "Mojo Machine Learning" expression. It includes the implementation of Machine Learning algorithms from scratch in pure Mojo.
Here is the list of the algorithms:
- Linear Regression
- Polynomial Regression
- Logistic Regression
- KNN
- KMeans
- DBSCAN
- SVM
- Primal
- Dual
- Perceptron (single layer: Binary Classification)
- Naive Bayes
- GaussianNB
- MultinomialNB
- Decision Tree (both Regression/Classification)
- Random Forest (both Regression/Classification)
- GBDT (both Regression/Classification)
- PCA
- LDA
- Adaboost
Preprocessing:
- normalize
- MinMaxScaler
- StandardScaler
- KFold
- GridSearchCV
Mojmelo will not only be limited to above algorithms.
The following steps let you know how to get started with Mojmelo.
- Mojo compiler
Additionally, you may want to install bellow Python packages for a better usability and to run tests:
- Numpy
- Pandas
- Scikit-learn
- Matplotlib
You can put the compiled version of the package into your project and use it. The file can be found in releases
folder.
or just download the whole mojmelo
folder and put it into your project.
Just import any model you want this way:
from mojmelo.LinearRegression import LinearRegression
You may also want to use the utility codes I've written for this project:
from mojmelo.utils.Matrix import Matrix
from mojmelo.utils.utils import *
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
You can contribute to the project in 3 ways:
- Apply improvements to the code and Open a Pull Request
- Report a bug
- Suggest new features
Took inspiration from Patrick Loeber's MLfromscratch and Erik Linder-Norén's ML-From-Scratch
Mojo usage and distribution is licensed under the MAX & Mojo Community License.