Julia is an easy, fast, open source language that if written well performs nearly as well as low-level languages such as C and FORTRAN. Its design is a dance between specialization and abstraction, providing high machine performance without the sacrifice of human convenience. Julia is a fresh approach to technical computing, combining expertise from diverse fields of computational and computer science.
This video course walks you through all the steps involved in applying the Julia ecosystem to your own data science projects. We start with the basics and show you how to design and implement some of the general purpose features of Julia. Is fast development and fast execution possible at the same time? Julia provides the best of both worlds with its wide range of types, and our course covers this in depth. You will have organized and readable code by the end of the course by learning how to write Lisp style macros and modules.
The course demonstrates the power of the DataFrames package to manage, organize, and analyze data. It enables you to work with data from various sources, perform statistical calculations on them, and visualize their relationships in different kinds of plots through live demonstrations.
Julia for Data Science takes you from zero to hero, leaving you with the know-how required to apply
About The Author
Ivo Balbaert is currently a web programming and databases lecturer at CVO Antwerpen , a community college in Belgium. He received a PhD in applied physics in 1986 from the University of Antwerp. He worked for 20 years in the software industry as a developer and consultant in several companies, and, for 10 years, as a project manager at the University Hospital of Antwerp. In 2000, he switched over to partly teach and partly develop software (KHM Mechelen, CVO Antwerp).
He also wrote Programmeren met Ruby en Rails, an introductory book in Dutch about developing in Ruby and Rails, by Van Duuren Media.
In 2012, he authored The Way To Go, a book on the Go programming language by IUniverse.
In 2014, he wrote Learning Dart (in collaboration with Dzenan Ridzanovic) and Dart Cookbook, both by Packt Publishing.
Finally, in 2015, he wrote Getting started with Julia and Rust Essentials, both by Packt Publishing.
We are going to install Julia with any one of the common development environments available.
Program data needs to be stored efficiently and in an easy to use form.
This video deals with the problem of how to control the order of execution in Julia code and what to do when errors occur.
Julia code is much less performant and readable when the code is not subdivided in functions.
Arrays can only be accessed by index and all the elements have to be of the same type. We want more flexible data structures; in particular, we want to also store and retrieve data by keys.
Data is often presented in the form of a matrix. We need to know how to work with matrices in order to work on data.
The aim of the video is to show you the importance of using types and parametrized methods in writing generic and performant code.
Coding is often a repetitive task. Shorten your code, make it more elegant and avoid repetition by making and using macros.
In order to build a Julia package we need something to structure that, why? Because of the following reasons:
• A package can contain multiple files
• Different packages can have functions with the same name that would conflict
Functionality that you need in your project is often already written and exists as a package. How to search, install, and work with these packages?
In order to process data, we need to get them out of their data-sources and into our Julia program.
Working with tabular data in matrices is possible, but not very convenient. The DataFrame offers us a more convenient data structure for data science purposes.
What are the possibilities that DataFrame offers for data manipulation?
Relational databases are an important data source. How can we work from Julia with the data in these data sources?
In certain situations data is better stored in NoSQL databases. Julia can work with a number of these through specialized packages; amongst them are Mongo and Redis.
We need to calculate various statistical numbers to get insight into a dataset. How can we do this with Julia?
Data must be graphically visualized to get better insight onto them. What are the possibilities Julia offers in this area?
Scatterplots, histograms, and box plots are some of the basic tools of the data scientist. We investigate our iris data by using each of them in turn.
In statistical investigations, we need to be able to define distributions, cluster data into groups, and test hypotheses.
A lot of useful libraries exist written in R that are not yet implemented in Julia. Can we use these R libraries from Julia code?
Data must be prepared before machine learning algorithms can be applied. Furthermore, applying an algorithm follows a specific cycle, which we will review here. The MLBase package will be used in this section.
Data often needs to be classified in groups; Decision Tree is one of the basic algorithms to do that.
In a realistic setting, a model is first trained, and then tested.
To obtain better linear regression models, and to be able to work with more independent variables, we need more generalized linear modeling.
We need a better classification algorithm than Decision Trees for more complex data, like in pattern recognition. The Support Vector Machine is developed for these tasks.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.