Machine learning kernels in Julia.


Machine Learning Kernels

MLKernels.jl is a Julia package that provides a collection of common machine learning kernels and a set of methods to efficiently compute kernel matrices.

Package Status Build Status
License Dev Documentation Build Status Coverage Status


Read the full documentation.


Through the use of kernel functions, kernel-based methods may operate in a high (potentially infinite) dimensional implicit feature space without explicitly mapping data from the original feature space to the new feature space. Non-linearly separable data may be linearly separable in the transformed space. For example, the following data set is not linearly separable:

Feature Space

Using a Polynomial Kernel of degree 2, the points are mapped to a 3-dimensional space where a plane can be used to linearly separate the data:

Transformed Data

Explicitly, the Polynomial Kernel of degree 2 maps the data to a cone in 3-dimensional space. The intersecting hyperplane forms a conic section with the cone:

Transformed Data

When translated back to the original feature space, the conic section corresponds to a circle which can be used to perfectly separate the data:

Separating Hyperplane

The above plots were generated using PyPlot.jl.

First Commit


Last Touched

12 days ago


221 commits

Used By: