christopherjenness / Ml Lib
Licence: mit
An extensive machine learning library, made from scratch (Python).
Stars: ✭ 102
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Ml Lib
Php Ml
PHP-ML - Machine Learning library for PHP
Stars: ✭ 7,900 (+7645.1%)
Mutual labels: machine-learning-algorithms, unsupervised-learning, supervised-learning, machine-learning-library
Machine Learning Algorithms From Scratch
Implementing machine learning algorithms from scratch.
Stars: ✭ 297 (+191.18%)
Mutual labels: machine-learning-algorithms, unsupervised-learning, supervised-learning
ml-ai
ML-AI Community | Open Source | Built in Bharat for the World | Data science problem statements and solutions
Stars: ✭ 32 (-68.63%)
Mutual labels: machine-learning-algorithms, supervised-learning, unsupervised-learning
Free Ai Resources
🚀 FREE AI Resources - 🎓 Courses, 👷 Jobs, 📝 Blogs, 🔬 AI Research, and many more - for everyone!
Stars: ✭ 192 (+88.24%)
Mutual labels: machine-learning-algorithms, unsupervised-learning, supervised-learning
machine-learning-course
Machine Learning Course @ Santa Clara University
Stars: ✭ 17 (-83.33%)
Mutual labels: supervised-learning, unsupervised-learning
spark-transformers
Spark-Transformers: Library for exporting Apache Spark MLLIB models to use them in any Java application with no other dependencies.
Stars: ✭ 39 (-61.76%)
Mutual labels: machine-learning-algorithms, machine-learning-library
100 Days Of Ml Code
100-Days-Of-ML-Code中文版
Stars: ✭ 16,797 (+16367.65%)
Mutual labels: unsupervised-learning, supervised-learning
Mlxtend
A library of extension and helper modules for Python's data analysis and machine learning libraries.
Stars: ✭ 3,729 (+3555.88%)
Mutual labels: unsupervised-learning, supervised-learning
Pyltr
Python learning to rank (LTR) toolkit
Stars: ✭ 377 (+269.61%)
Mutual labels: machine-learning-algorithms, machine-learning-library
Machinejs
[UNMAINTAINED] Automated machine learning- just give it a data file! Check out the production-ready version of this project at ClimbsRocks/auto_ml
Stars: ✭ 412 (+303.92%)
Mutual labels: machine-learning-algorithms, machine-learning-library
Susi
SuSi: Python package for unsupervised, supervised and semi-supervised self-organizing maps (SOM)
Stars: ✭ 42 (-58.82%)
Mutual labels: unsupervised-learning, supervised-learning
Concrete Autoencoders
Stars: ✭ 68 (-33.33%)
Mutual labels: unsupervised-learning, supervised-learning
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+39.22%)
Mutual labels: machine-learning-algorithms, supervised-learning
mljar-examples
Examples how MLJAR can be used
Stars: ✭ 42 (-58.82%)
Mutual labels: machine-learning-algorithms, machine-learning-library
L2c
Learning to Cluster. A deep clustering strategy.
Stars: ✭ 262 (+156.86%)
Mutual labels: unsupervised-learning, supervised-learning
machine-learning
Programming Assignments and Lectures for Andrew Ng's "Machine Learning" Coursera course
Stars: ✭ 83 (-18.63%)
Mutual labels: supervised-learning, unsupervised-learning
machine learning from scratch matlab python
Vectorized Machine Learning in Python 🐍 From Scratch
Stars: ✭ 28 (-72.55%)
Mutual labels: supervised-learning, unsupervised-learning
sutton-barto-rl-exercises
📖Learning reinforcement learning by implementing the algorithms from reinforcement learning an introduction
Stars: ✭ 77 (-24.51%)
Mutual labels: supervised-learning, unsupervised-learning
Karateclub
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)
Stars: ✭ 1,190 (+1066.67%)
Mutual labels: unsupervised-learning, supervised-learning
Jsat
Java Statistical Analysis Tool, a Java library for Machine Learning
Stars: ✭ 683 (+569.61%)
Mutual labels: machine-learning-algorithms, machine-learning-library
Overview
This is a machine learning library, made from scratch.
It uses:
-
numpy
: for handling matrices/vectors -
scipy
: for various mathematical operations -
cvxopt
: for convex optimization -
networkx
: for handling graphs in decision trees
It contains the following functionality:
-
Supervised Learning:
- Linear and Logistic regression
- Regularization
- Solvers
- Gradient descent
- Steepest descent
- Newton's method
- SGD
- Backtracking line search
- Closed form solutions
- Support Vector Machines
- Soft and hard margins
- Kernels
- Tree Methods
- CART (classificiation and regression)
- PRIM
- AdaBoost
- Gradient Boost
- Random Forests
- Kernel Smoothing Methods
- Nadaraya average
- Local linear regression
- Local logistic regression
- Kernel density classification
- Discriminant Analysis
- LDA, QDA, RDA
- Naive Bayes Classification
- Gaussian
- Bernoulli
- Prototype Methods
- KNN
- LVQ
- DANN
- Perceptron
- Linear and Logistic regression
-
Unsupervised Learning
- K means/mediods clustering
- PCA
- Gaussian Mixtures
- Model Selection and Validation
Examples
Examples are shown in two dimensions for visualisation purposes, however, all methods can handle high dimensional data.
Regression
- Linear and logistic regression with regularization. Closed form, gradient descent, and SGD solvers.
Support Vector Machines
- Support vector machines maximize the margins between classes
- Using kernels, support vector machines can produce non-linear decision boundries. The RBF kernel is shown below
- An alternative learning algorithm, the perceptron, can linearly separate classes. It does not maximize the margin, and is severely limited.
Tree Methods
- The library contains a large collection of tree methods, the basis of which are decision trees for classification and regression
These decision trees can be aggregated and the library supports the following ensemble methods:
- AdaBoosting
- Gradient Boosting
- Random Forests
Kernel Methods
Kernel methods estimate the target function by fitting seperate functions at each point using local smoothing of training data
- Nadaraya–Watson estimation uses a local weighted average
- Local linear regression uses weighted least squares to locally fit an affine function to the data
- The library also supports kernel density estimation (KDE) of data which is used for kernel density classification
Discriminant Analysis
- Linear Discriminant Analysis creates decision boundries by assuming classes have the same covariance matrix.
- LDA can only form linear boundries
- Quadratic Discriminant Analysis creates deicion boundries by assuming classes have indepdent covariance matrices.
- QDA can form non-linear boundries.
- Regularized Discriminant Analysis uses a combination of pooled and class covariance matrices to determine decision boundries.
Prototype Methods
- K-nearest neighbors determines target values by averaging the k-nearest data points. The library supports both regression and classification.
- Learning vector quantization is a prototype method where prototypes are iteratively repeled by out-of-class data, and attracted to in-class data
- Discriminant Adaptive Nearest Neighbors (DANN). DANN adaptively elongates neighborhoods along boundry regions.
- Useful for high dimensional data.
Unsupervised Learning
- K means and K mediods clustering. Partitions data into K clusters.
- Gaussian Mixture Models. Assumes data are generated from a mixture of Gaussians and estimates those Gaussians via the EM algorithm. The decision boundry between two estimated Gaussians is shown below.
- Principal Component Analysis (PCA) Transforms given data set into orthonormal basis, maximizing variance.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].