
Explore data analysis with a purely functional approach featuring lazy evaluation and strong typing, using text, video, and code examples to tackle real-world data and coding challenges.
Learn how to install Haskell using Stack for project-level dependency management, compare GHC and Cabal and the Haskell Platform, and follow cross-platform download instructions on haskell.org.
Install Haskell on OSX via Spack or Homebrew, download and extract the release, add the stack executable to your path, and run stack setup to install GHC and start interpreter.
Install Haskell on Windows using Stack, selecting the 64-bit installer and accepting defaults. Open a new shell and run Stack ghci to use the interactive interpreter.
Install the Haskell stack toolchain on Linux via apt from FP Complete, add the repository key, run stack set up, and install GHC 8 0 1 on Ubuntu 16.04.
Discover how to launch the GHCi interpreter and explore Haskell's data types and type system. Use type and info commands to inspect booleans, numbers, strings, lists, and undefined.
Explore built-in data structures in Haskell, including lists, tuples, a simple dictionary using the lookup function, and the maybe data type, with strings modeled as lists of characters.
edit Haskell source code by creating a test.hs file and writing a main function, then load, run, and compile with GHC, exploring editors like Vim and GHC's edit command.
Learn how Haskell uses types and functions, including currying and partial application, to build arithmetic with add and the plus operator, and distinguish total and partial functions.
Explore building your own data structures in Haskell, using type synonyms, algebraic data types, and deriving to enable comparisons, printing, and simple language expressions.
Explore pattern matching in Haskell to evaluate expression types, implement a calculate function returning int, handle numbers, addition, and subtraction recursively, and pattern match lists with head and tail.
Install and use the Haskell csp library to parse csv files, explore the data structure, and extract numeric columns by reading strings, with a focus on 2015 baseball game logs.
Compute the data range in Haskell as a core descriptive statistic using maximum and minimum functions. Return a tuple and wrap with a maybe to handle empty lists.
Learn to compute the mean and sample standard deviation from a dataset using sum and length, and apply the functions to the 2015 away runs.
Compute the median by sorting data and averaging the two middle values. Demonstrate a Haskell median prototype handling odd, even, and empty lists and returning a double when needed.
Discover how to compute the mode with run-length encoding in Haskell. The method groups data, counts frequencies, and selects the most frequent value in the 2015 baseball away runs dataset.
Learn to use regular expressions in Haskell by installing the rejects POSIX library, then explore dot matching any single character and the pipe operator for alternation.
Master regular expressions by learning atoms, modifiers, and optional, star, plus, and custom modifiers, with practical date and text examples in the Haskell: data analysis made easy course.
Explore character classes, ranges, and negations to match vowels, digits, letters, and hexadecimal characters, and learn to build regex for dates.
Extract March dates from a CSV-style dataset with regular expressions, pair them with away runs, then filter and compute the average runs for March in a Haskell data analysis workflow.
Explore how to use regular expressions with sqlite3 data to filter and analyze time-stamped earthquake records, counting events by hour across a 24-hour window.
Explore data analysis in Haskell by installing easy plot, pulling Yahoo Finance historical data for Apple, and creating the first line plot of adjusted close.
Learn to compute moving averages with a window size of three, plot line graphs, and smooth jagged stock data to reveal trends using a 200-day example.
Learn how to create publication-ready plots by overlaying multiple datasets, adding a legend and titles, customizing colors, and saving the plot to a file for publication.
Plot Apple, Google, and Microsoft on one chart to compare growth using feature scaling. Apply the rescale formula to map data to -1 to 1 while preserving shape.
Compare stock price to traded volume using scatter plots and a log-transformed volume across Apple, Microsoft, and Google. Discover how rising prices relate to decreasing purchasing power.
Explore how the central limit theorem leads to the normal distribution and learn the two key parameters, the mean and standard deviation, that shape its center and width.
Kernel density estimation uses a kernel function, usually the normal distribution, to estimate data shape by centering a normal curve at each value, summing them, and normalizing to a density.
Apply kernel density estimation to the Monet auction data to estimate sale-price distributions and compute the probability that a Monet painting sells for five million dollars or more.
Explore how linear regression models the relationship between year and population with a line of best fit, using covariance, variance, gradient, and intercept to estimate population values.
Explore the Pearson r and r-squared coefficients, and compute them using covariance, variance, and standard deviation on the United States population dataset from 1790 to 2010.
Learn the drawbacks of linear regression using the quartet data, illustrating how similar statistics can mask diverse visualizations and outliers, and why you should plot data before regression.
Explore logarithmic regression on the U.S. population data, compare log-based models with linear regression, plot log population, evaluate Pearson r and r-squared, and conclude the population isn't exponentially growing.
Explore polynomial regression in Haskell, fitting a second-degree model to the U.S. population data using linear algebra, plotting the regression line and comparing with linear and logarithmic models.
Build matrices from the movie ratings dataset by encoding genres as a binary matrix and use from list to assemble data for multivariate regression.
Perform multivariate regression on the movieland dataset to see how 18 genre indicators influence the average movie rating, and interpret coefficients and the intercept.
Compute the R-squared and adjusted R-squared scores for a multiple regression, then interpret how the adjusted metric offsets the natural increase from adding variables.
Explore techniques to improve the adjusted R-squared score by selecting variables with forward selection, backward elimination, and forward-backward stepwise methods, and implement a practical adjustment function.
prepare your text data for analysis by building a corpus of the 85 Federalist Papers, cleaning the text to lowercase, removing punctuation, and tokenizing into words.
Explore how to compute n-grams from a document by defining subsequences, generating two-grams, three-grams, and four-grams, and building a set with a hash map.
Demonstrate how to compute cosine similarity between two vectors using dot product and magnitudes, apply it to hash maps of documents in Haskell, and interpret scores for author similarity.
Explore tf-idf concepts by defining term frequency and inverse document frequency in Haskell. Learn to implement tf-idf by combining these scores for documents within a corpus.
Apply tf-idf to a corpus of document maps by converting each document into a map, computing tf, idf, and tf-idf scores, and ranking terms to identify the most important words.
A staggering amount of data is created everyday; analyzing and organizing this enormous amount of data can be quite a complex task. Haskell is a powerful and well-designed functional programming language that is designed to work with complex data. It is trending in the field of data science as it provides a powerful platform for robust data science practices.
This course will introduce the basic concepts of Haskell and move on to discuss how Haskell can be used to solve the issues by using the real-world data.
The course will guide you through the installation procedure, after you have all the tools that you require in place, you will explore the basic concepts of Haskell including the functions, and the data structures.
It will also discuss the various formats of raw data and the procedures for cleaning the data and plotting them.
With a good hold on the basics of Haskell and data analysis, you will then be introduced to advanced concepts of data analysis such as Kernel Density Estimation, Hypothesis Testing, Regression Analysis, Text Analysis, Clustering, Naïve Bayes Classification, and Principal Component Analysis.
Why go for this course?
We've spent the last decade working to help developers stay relevant. The structure of this course is a result of deep and intensive research into what real-world developers need to know in order to be job-ready. We don't spend too long on theory, and focus on practical results so that you can see for yourself how things work in action.
This course follows an example-based approach that will take you through learning Haskell initially, and then learning to manipulate data and visualizing it, and then gradually building your skill level where you can perform advanced algorithms on the data, such that you can make more sense of the data and interpret the future, or give suggestions. It's a blend of text, videos, code examples, and assessments, which together makes your learning journey all the more exciting and truly rewarding. It includes sections that form a sequential flow of concepts covering a focused learning path presented in a modular manner. This helps you learn a range of topics at your own speed and also move towards your goal of learning Haskell.
After completing this course, you will be equipped to analyze data and organize them using advanced algorithms.
This course is authored by some of the best in the field.
We have combined the following best Haskell products by Packt:
Meet your expert instructions:
James Church is an assistant professor of computer science at Austin Peay State University. He has consulted for various companies and a chemical laboratory for the purpose of performing data analysis work.
Hakim Cassimally learned the basics of Lisp 15 years ago and has been interested in functional programming ever since. He has written, spoken, and evangelised about learning and writing Haskell since 2006.
What are the requirements?
You do not need any programming knowledge, or knowledge in data science before you take up this course.
What am I going to get from this course?
Learn the basics of Haskell
Learn how to clean data
Learn how to plot data on a graph and to draw conclusions based on the graphs
Apply advanced algorithms on the data to extract more information from the data.