--- layout: global title: Machine Learning Library (MLlib) --- MLlib is a Spark implementation of some common machine learning (ML) functionality, as well associated tests and data generators. MLlib currently supports four common types of machine learning problem settings, namely, binary classification, regression, clustering and collaborative filtering, as well as an underlying gradient descent optimization primitive. # Available Methods The following links provide a detailed explanation of the methods and usage examples for each of them: * Classification and Regression * Binary Classification * SVM (L1 and L2 regularized) * Logistic Regression (L1 and L2 regularized) * Linear Regression * Least Squares * Lasso * Ridge Regression * Clustering * k-Means * Collaborative Filtering * Matrix Factorization using Alternating Least Squares * Optimization * Gradient Descent and Stochastic Gradient Descent * Linear Algebra * Singular Value Decomposition * Principal Component Analysis # Dependencies MLlib uses the [jblas](https://github.com/mikiobraun/jblas) linear algebra library, which itself depends on native Fortran routines. You may need to install the [gfortran runtime library](https://github.com/mikiobraun/jblas/wiki/Missing-Libraries) if it is not already present on your nodes. MLlib will throw a linking error if it cannot detect these libraries automatically. To use MLlib in Python, you will need [NumPy](http://www.numpy.org) version 1.7 or newer.