Julia is the strong underdog amongst programming languages inheriting the features of Python and C. It has ease of programming and readability from Python while Speed comparable to that of C. When you want to prototype some Machine Learning Model quickly and want speed and efficiency, Julia is your answer.
The focus of this writing will be an introduction to various Machine Learning packages and associated tasks in Julia. Julia is amazing and extensible, It provides many libraries and packages specific to a domain.
This library is equivalent to Pythons version of Scikit-Learn. Scikit-Learn is popular amongst Python developers. The major Features of ScikitLearn.jl are:
- It has around 150 models accessed with a uniform interface
- Pipelines and Feature Unions
- Cross validation
- Hyperparameter tuning
- DataFrames support
You install ScikitLearn.jl using following Julia command
You can use ScikitLearn.jl with other classifiers like DecisionTree.jl
You can learn more about ScikitLearn.jl here
MXNet is a deep learning package available for Julia. It utilises GPU for more efficient results. The major features of MXNet are :
- Handles Tensor efficiently. Scales up to multi GPUs and distributed setting with auto parallelism
- Effectively handles manipulation of deep learning models
- Lightweight, memory efficient and portable to smart devices
- Flexible configuration for arbitrary computation graph
You can learn about MXNet more here.
TensorFlow has gained a lot of attention amongst data scientist, Its essentialy a framework for building deep learning neural network models. The nodes represent mathematical operations, and the edges connecting the node indicate the data arrays termed Tensors.You can add TensorFlow using following command in Julia.
Using the GPU for efficient processing is an important attribute of machine learning approaches. To activate the GPU support, the environment variable TF_USE_GPU needs to be set to 1. To enable GPU usage, CUDA 7.5 and cudnn are needed.
ENV[“TF_USE_GPU”] = “1”
TensorFlow API is humongous and cannot be covered in a single article, Although we can list some of its features.
- Unary and binary mathematical functions
- Commonly used neural network operations. This covers convolutions, recurrent neural networks, etc
- Fundamental image-loading and resizing operations
You can learn more about TensorFlow.jl here.
Machine learning is a universe in itself and what we’ve covered is just a tip of the iceberg. Let us know which Julia package you want us to try in the comments below.