• Complain

Adrian Salceanu - Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web

Here you can read online Adrian Salceanu - Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2018, publisher: Packt Publishing, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web
  • Author:
  • Publisher:
    Packt Publishing
  • Genre:
  • Year:
    2018
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

A step-by-step guide that demonstrates how to build simple-to-advanced applications through examples in Julia Lang 1.x using modern tools

Key Features
  • Work with powerful open-source libraries for data wrangling, analysis, and visualization
  • Develop full-featured, full-stack web applications
  • Learn to perform supervised and unsupervised machine learning and time series analysis with Julia
Book Description

Julia is a new programming language that offers a unique combination of performance and productivity. Its powerful features, friendly syntax, and speed are attracting a growing number of adopters from Python, R, and Matlab, effectively raising the bar for modern general and scientific computing.

After six years in the making, Julia has reached version 1.0. Now is the perfect time to learn it, due to its large-scale adoption across a wide range of domains, including fintech, biotech, education, and AI.

Beginning with an introduction to the language, Julia Programming Projects goes on to illustrate how to analyze the Iris dataset using DataFrames. You will explore functions and the type system, methods, and multiple dispatch while building a web scraper and a web app. Next, youll delve into machine learning, where youll build a books recommender system. You will also see how to apply unsupervised machine learning to perform clustering on the San Francisco business database. After metaprogramming, the final chapters will discuss dates and time, time series analysis, visualization, and forecasting.

Well close with package development, documenting, testing and benchmarking.

By the end of the book, you will have gained the practical knowledge to build real-world applications in Julia.

What you will learn
  • Leverage Julias strengths, its top packages, and main IDE options
  • Analyze and manipulate datasets using Julia and DataFrames
  • Write complex code while building real-life Julia applications
  • Develop and run a web app using Julia and the HTTP package
  • Build a recommender system using supervised machine learning
  • Perform exploratory data analysis
  • Apply unsupervised machine learning algorithms
  • Perform time series data analysis, visualization, and forecasting
Who this book is for

Data scientists, statisticians, business analysts, and developers who are interested in learning how to use Julia to crunch numbers, analyze data and build apps will find this book useful. A basic knowledge of programming is assumed.

Table of Contents
  1. Getting started with Julia Programming
  2. Creating Our First Julia App
  3. Setting Up the Wiki Game
  4. Building the Wiki Game Web Crawler
  5. Adding a Web UI for the Wiki Game
  6. Implementing Recommender Sytems with Julia
  7. Machine Learning For Recommender Systems
  8. Leveraging Unsupervised Learning Techniques
  9. Working with Dates, Time, and Time Series
  10. Time Series Forecasting
  11. Creating Julia Packages

Adrian Salceanu: author's other books


Who wrote Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web? Find out the surname, the name of the author of the book and a list of all author's works by series.

Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Training our model

Only one small step and we're ready to train our model. We need to convert the DataFrame into an array and to permute the dimensions of the array so that the DataFrame columns become rows. In the new structure, each column (zip code and count pair) is considered a training sample. Let's do it:

julia> training_data = permutedims(convert(Array, model_data), [2, 1])

Our training data is ready! It's time to put it to good use:

julia> using Clustering
julia> result = kmeans(training_data, 3, init=:kmpp, display=:iter)
Iters objv objv-change | affected ------------------------------------------------------------- 0 6.726516e+06 1 4.730363e+06 -1.996153e+06 | 0 2 4.730363e+06 0.000000e+00 | 0 K-means converged with 2 iterations (objv = 4.73036279655838e6)

We're using the k-means algorithm by invoking the function with the same name. As arguments, we provide the training_data array and give it three clusters. We want to split the areas into three tierslow, medium, and high density. The training shouldn't take more than a few seconds. And since we gave it the display=:iter argument, we get progressive debug info at each iteration. For the seeding algorithm, we have used k-means++ ( :kmpp ).

Contributors
Time series decomposition

We can thus say that any value in a time series can be represented through a function of the four components we discussed earliertrend, seasonality, error, and cycle. The relationship between the four components can be either additive or multiplicative.

The additive model is used when the seasonal variation stays about the same across time. The trend may be upward or downward, but the seasonality stays more or less the same. A plot of such data will look very similar to this:

If we draw two imaginary lines between the yearly maximums and the yearly - photo 1

If we draw two imaginary lines between the yearly maximums and the yearly minimums, the lines will be pretty much parallel.

For an additive time series model, the four components are summed up to produce the values in the series. Thus, a time series Y can be decomposed into Y = Trend + Cycle + Seasonality + Noise.

A multiplicative model should be used with a time series where the seasonal variability increases over time. For example, a typical multiplicative time series is represented by the international airline passenger data between January 1949 and January 1960:

We can see how the variation in the seasonal pattern is correlated with the - photo 2

We can see how the variation in the seasonal pattern is correlated with the level of the time series: the more passengers we have, the higher the variation. A multiplicative time series Y can be represented as Y = Trend * Cycle * Seasonality * Noise.

As a side note, we can convert a multiplicative model into an additive model by transforming the data until it becomes stable over time, for example, by means of log transformationsY = Trend * Cycle * Seasonality * Noise is equivalent to log Y = log Trend + log Cycle + log Seasonality + log Noise.

Splitting a time series into its components is a widely employed technique for time data analysis. This is known as time series decomposition, and it also represents the foundation of time series forecasting.

@where

One of the most useful commands is @where , which allows us to filter a data source so that only the elements that satisfy the condition are returned. Similar to @select , the condition can be any arbitrary Julia expression:

julia> @from p in shopping_list begin @where p.qty < 2 @select p @collect DataFrame end

We get the following output:

Only bread has a qty smaller than 2 Filtering can be made even more powerful - photo 3

Only bread has a qty smaller than 2.

Filtering can be made even more powerful by means of range variables. These act like new variables belonging to the query expression and can be introduced using the @let macro:

julia> @from p in shopping_list begin @let weekly_qty = 7p.qty @where weekly_qty > 10 @select { p.produce, week_qty=weekly_qty } @collect DataFrame end

The output is as follows:

Here you can see how within the beginend block we defined a local - photo 4

Here, you can see how, within the begin...end block, we defined a local variable called weekly_qty with a value equal to 7 * p.qty. We used the @let macro to introduce new variables. In the next line, we used it to filter out the rows that have a weekly_qty smaller than 10. And then finally, we selected it and collected it into a DataFrame.

Homebrew

Homebrew is a well-known package manager for macOS in the line of apt and yum on Linux. It's not really necessary for installing Julia, but it's worth setting it up as it can be very useful during development since it can seamlessly install database servers, libraries, and other components for your projects.

As per the instructions at https://brew.sh , it can be installed by running the following command in a Terminal window:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

It might take a while but once Homebrew is installed, a new command-line utility, brew, will become available.

Finally, $ brew cask install julia will download and install the latest version of Julia. In the process, it will also link the julia binary to /usr/local/bin/julia so you can interact with the language from the command line by simply typing $ julia.

As soon as you get the confirmation that the installation was successful you can run $ julia to start a new REPL session:

Search modes Besides the help and the shell modes there are two search modes - photo 5

Search modes

Besides the help and the shell modes, there are two search modes. These are not necessarily Julia specific, being common to many *nix style editing apps.

Press the Ctrl key and the R key at the same time in order to initiate a reverse incremental search. The prompt will change to (reverse-i-search). Start typing your query and the most recent result will show. To find older results, type Ctrl + R again.

The counterpart of Ctrl + R is Ctrl + S, initiating an incremental search. The two may be used in conjunction to move through the previous or next matching results, respectively.

Peeking into Julia's registry

As we were saying, we need a way to retrieve the GitHub URI of a package, based on the package's name. Now, given that we're able to successfully execute operations such as add and develop with Pkg, without having to provide the GitHub URI, we can assume that there is a way to convert a package name to a package URL.

Indeed, Julia manages a repository of all the packages that are known to Pkg. These packages are grouped into multiple registries that are copied to your computer. By default, Julia comes with the so-called General registry, which can be found in the .julia/ folder in your home directory. The General registry itself is nothing but a folder that contains subfolders named after each letter in the English alphabet (thus, from A to Z). Within each of these folders, we can find all the packages whose names start with that letter:

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web»

Look at similar books to Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web»

Discussion, reviews of the book Julia Programming Projects: Learn Julia 1.x by building apps for data analysis, visualization, machine learning, and the web and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.