Mojmelo: Machine Learning algorithms
I want to introduce you Mojmelo. 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
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
https://github.com/yetalit/mojmelo
GitHub
GitHub - yetalit/Mojmelo: Machine Learning algorithms in pure Mojo ...
Machine Learning algorithms in pure Mojo 🔥. Contribute to yetalit/Mojmelo development by creating an account on GitHub.
5 Replies
The plan is to implement more ML algorithms including neural networks and importantly improve the algorithms. So, any suggestion from you related to mojo language is really appreciated!
I didn't get the name until I got to the repo, NOW I get the name 🙂
Very nice
😄😄 Yes, played a bit with the words. Thank you for your interest!
very cool! I love the little marshmallow guy 💖
🙂 Thank you!
I want to talk a bit about the latest commit and the future plan.
GBDT algorithm added for both classification and regression.
Mojmelo now supports following preprocessing operations:
- train_test_split
- normalize with inversion
- standardScalar with inversion
-MinMaxScalar with inversion
For better prototyping, I added the support to initialize a Matrix in numpy style:
----------------
The implemented algorithms are the fundamental algorithms. And there will not be much new algorithms in the near future. Instead, I will focus on increasing the accuracy of current algorithms. I also keep my eyes on mojo numpy replacement projects like Endia and NuMojo. So, after dealing with accuracy of models, I'll try to increase the speed by optimizing the algorithms and may replace my Matrix type with a better numpy equivalent.
Hope progress will be made over time, even if it's slow.