Getting started with Julia

Knoldus Inc.
Knoldus - Technical Insights
2 min readJun 30, 2016

What is Julia ?

“Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. ”

It provides a sophisticated compiler and extensive mathematical function library.

It has a wide range of statistical packages like R and is easy to write and learn like Python.

Benchmark time of Julia relative to C : ( smaller is better, C performance = 1.0 )

julia-benchmark-fig

[Image source : http://julialang.org/benchmarks/]

Growing importance of Julia:

Ambition of Julia’s project team is to create an open source language that is general purpose and excels at numerical computing and data science. The motivation and goals behind Julia excite researchers and analysts because many have had first hand experience with the difficulties of writing high performance codes.

Julia offers a unique feature set as well :

  • Syntax similar to MATLAB.
  • Free and open source.
  • Sophisticated compiler , Just-in-time(JIT) compilation.
  • Designed for parallelism and distributed computation.
  • C functions can be called directly without any special API’s needed.
  • A powerful mathematical function library written in Julia.
  • Pycall package can call python functions in Julia.

Setting up Julia environment:

Installing packages in Julia:

julia> Pkg.add(“DataFrames”)

Using a package in Julia.

julia> using DataFrames

Updating your installed packages :

julia> Pkg.update()

Introductory example of Julia using PyPlot :

Plotting a process

using PyPlot
length = 50
epsilon_values = randn(length)
plot(epsilon_values, "b-")
newFig

Statistical packages in Julia:

Julia provides easy to use open source tools for statistics and machine learning.

Some of the great packages offered by Julia are :

  • StatsBase : Basic functionalities for statistics
  • DataArrays : Arrays that allow missing data
  • MultivariateStats : Multivariate statistical analysis
  • HypothesisTests : Parametric and non-Parametric tests.
  • MLBase : Swiss knife for machine learning
  • Clustering : Algorithms for data clustering
  • NMF : Nonnegative matrix factorization
  • TimeSeries : Time series analysis
  • MCMC : Markov Chain Monte Carlo

References:

--

--

Knoldus Inc.
Knoldus - Technical Insights

Group of smart Engineers with a Product mindset who partner with your business to drive competitive advantage | www.knoldus.com