O'Reilly logo
live online training icon Live Online training

High performance machine learning and data analysis with Julia

Learn to perform a range of tasks from every-day data wrangling to developing high-performance AI and machine learning algorithms using Julia

Alan Edelman

Join Julia co-creator and Professor of Mathematics at MIT and CSAIL, Alan Edelman, for a hands-on, in-depth exploration of the Julia Language.

Julia combines the ease of use of R and Python with the performance of C++, Java, and Fortran. With Julia, you'll get a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library as well as more than 1200 packages in the Julia ecosystem that range across a variety of scientific and business disciplines.

In this course, you’ll gain a thorough understanding of Julia and learn how build your own machine learning algorithms at scale.

What you'll learn-and how you can apply it

By the end of this live, online course, you'll understand:

  • Data munging and analysis on large volumes and variety of data in Julia
  • How to develop effective prototypes in a short time in Julia How to easily convert prototyped models into real-world applications in Julia
  • Various concepts that aid the writing of high-performance and fast code in Julia

And you'll be able to:

  • Use Julia effectively for variety of applications, such as building a recommender system from scratch with support of Julia’s extensive mathematical function library
  • Build larger end-to-end applications, such as an analytics platform for asset management
  • Build high-performance machine learning algorithms using Julia
  • Effectively use various resources, development platforms within Julia
  • Better collaborate with analysis and development teams
  • Effectively use GitHub to get help and collaborate with the Julia community

This training course is for you because...

You are a data analyst with at least 2+ years experience who wants to build high performance functional prototypes of data-related applications in your organization.

You are computer science student finishing up college, and would like to get an edge over fellow students to get exciting and lucrative job offers.

You are a developer writing code in C/C++ and would like to use a higher level language to save time and effort.

Prerequisites

Some basic knowledge of scripting languages, such as PERL, or Python, and at least one high-level programming language, such as C or MATLAB.

Materials or downloads needed in advance: - You'll need to install JuliaPro (preferred) or Juliabox.com

Recommended Preparation

Getting Started with Julia

About your instructor

  • Alan Edelman is Professor of Applied Mathematics, and in 2004 founded Interactive Supercomputing (recently acquired by Microsoft). He received the B.S. & M.S. degrees in mathematics from Yale in 1984, and the Ph.D. in applied mathematics from MIT in 1989 under the direction of Lloyd N. Trefethen. Following a year at Thinking Machines Corp and at CERFACS in France, Edelman went to U.C. Berkeley as a Morrey Assistant Professor and Lewy Fellow, 1990-93. He joined the MIT faculty in applied mathematics in 1993. Edelman's research interests include high performance computing, numerical computation, linear algebra and stochastic eigenanalysis (random matrix theory). He has consulted for Akamai, IBM, Pixar, and NKK Japan among other corporations.

    A Sloan fellow, Edelman received an NSF Faculty Career award in 1995. He has received numerous awards, among them the Gordon Bell Prize and Householder Prize (1990), the Chauvenet Prize (1998), the Edgerly Science Partnership Award (1999), the SIAM Activity Group on Linear Algebra Prize (2000), and the Lester R. Ford Award, (2005). In 2011, Edelman was selected a Fellow of SIAM, for his contributions in bringing together mathematics and industry in the areas of numerical linear algebra, random matrix theory, and parallel computing.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Segment 1 Getting started with Julia (15 mins)

  • Introduction to the Julia language
  • Demonstration of various Julia tools and IDEs using a simple program
  • How to load a small dataset and produce a plot

Segment 2 Julia Basics (20 mins)

  • Data types, control flow, arrays
  • Introduction to type systems and multiple dispatch in Julia

Segment 3 Handling data in Julia (20 mins)

  • Refresher intro to Linear Algebra with examples in Julia
  • How to perform fast array operations in Julia
  • Handling File I/O(JLD, CSV)
  • How to call C functions from Julia

Q&A/break (5 mins)

Segment 4 Fast data analysis using Julia (25 mins)

  • Introduction to basic statistical and data manipulation
  • Demo: Deep learning for character recognition

Segment 5 Parallel processing (20 mins)

  • Introduction to parallelism in Julia
  • Shared and distributed arrays
  • Short demos of parallel tasks

Segment 5 Julia and the external world (10 mins)

  • Calling C functions from Julia
  • Interoperability with Python and R

Q&A (5 mins)