All Projects → christopherjenness → Ml Lib

christopherjenness / Ml Lib

Licence: mit
An extensive machine learning library, made from scratch (Python).

Programming Languages

python
139335 projects - #7 most used programming language

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

Travis Coverage Status

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
  • 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.

Imgur

Imgur

Support Vector Machines

  • Support vector machines maximize the margins between classes

Imgur

  • Using kernels, support vector machines can produce non-linear decision boundries. The RBF kernel is shown below

Imgur

Imgur

  • An alternative learning algorithm, the perceptron, can linearly separate classes. It does not maximize the margin, and is severely limited.

Imgur

Tree Methods

  • The library contains a large collection of tree methods, the basis of which are decision trees for classification and regression

Imgur

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

Imgur

  • Local linear regression uses weighted least squares to locally fit an affine function to the data

Imgur

  • The library also supports kernel density estimation (KDE) of data which is used for kernel density classification

Imgur

Discriminant Analysis

  • Linear Discriminant Analysis creates decision boundries by assuming classes have the same covariance matrix.
  • LDA can only form linear boundries

Imgur

  • Quadratic Discriminant Analysis creates deicion boundries by assuming classes have indepdent covariance matrices.
  • QDA can form non-linear boundries.

Imgur

  • Regularized Discriminant Analysis uses a combination of pooled and class covariance matrices to determine decision boundries.

Imgur

Prototype Methods

  • K-nearest neighbors determines target values by averaging the k-nearest data points. The library supports both regression and classification.

Imgur

  • Learning vector quantization is a prototype method where prototypes are iteratively repeled by out-of-class data, and attracted to in-class data

Imgur

  • Discriminant Adaptive Nearest Neighbors (DANN). DANN adaptively elongates neighborhoods along boundry regions.
  • Useful for high dimensional data.

Imgur

Unsupervised Learning

  • K means and K mediods clustering. Partitions data into K clusters.

Imgur

  • 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.

Imgur

  • Principal Component Analysis (PCA) Transforms given data set into orthonormal basis, maximizing variance.

Imgur

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].