Duration
5 Days
Audience
Employees of federal, state and local governments; and businesses working with the government.
Course Overview
Apache Spark, a significant component in the Hadoop Ecosystem, is a cluster computing engine used in Big Data. Building on top of the Hadoop YARN and HDFS ecosystem, offers order-of-magnitude faster processing for many in-memory computing tasks compared to Map/Reduce. It can be programmed in Java, Scala, Python, and R – the favorite languages of Data Scientists – along with SQL-based front ends.
The first part of the course teaches performing Machine Learning at Scale using the popular Apache Spark framework. This course is intended for data scientists and software engineers, and assumes attendees have little or no previous experience with Machine Learning. This course explores popular machine learning algorithms from the ground up. Students will explore Apache Spark essentials, core machine learning concepts, regressions, classifications, clustering and more.
The abundance of data and affordable cloud scale has led to an explosion of interest in Deep Learning. Google has released an excellent library called TensorFlow to open-source, allowing state-of-the-art machine learning done at scale, complete with GPU-based acceleration. Students will explore these skills in an active hands-on manner. The second part of the course introduces students to Deep Learning concepts and how TensorFlow implements them.
Learning Objectives
This “skills-centric” course is about 50% hands-on lab and 50% lecture, with extensive practical exercises designed to reinforce fundamental skills, concepts and best practices taught throughout the course. Throughout the program, working in a hands-on learning environment guided by our expert instructor, students will
- Learn popular machine learning algorithms, their applicability, and limitations
- Practice the application of these methods in the Spark machine learning environment
- Learn practical use cases and limitations of algorithms
- Will explore not just the related APIs, but will also learn the theory behind them
- Work with real world datasets from Uber, Netflix, Walmart, Prosper, etc.
Course Outline
-
Part 1: Introduction to Machine Learning
Machine Learning (ML) Overview
- Machine Learning landscape
- Machine Learning applications
- Understanding ML algorithms & models
ML in Python and Spark
- Spark ML Overview
- Introduction to Jupyter notebooks
- Lab: Working with Jupyter + Python + Spark
- Lab: Spark ML utilities
Machine Learning Concepts
- Statistics Primer
- Covariance, Correlation, Covariance Matrix
- Errors, Residuals
- Overfitting / Underfitting
- Cross-validation, bootstrapping
- Confusion Matrix
- ROC curve, Area Under Curve (AUC)
- Lab: Basic stats
Feature Engineering (FE)
- Preparing data for ML
- Extracting features, enhancing data
- Data cleanup
- Visualizing Data
- Lab: data cleanup
- Lab: visualizing data
Linear Regression
- Simple Linear Regression
- Multiple Linear Regression
- Running LR
- Evaluating LR model performance
- Lab
- Use case: House price estimates
Logistic Regression
- Understanding Logistic Regression
- Calculating Logistic Regression
- Evaluating model performance
- Lab: Use case: credit card application, college admissions
Classification: SVM (Supervised Vector Machines)
- SVM concepts and theory
- SVM with kernel
- Lab: Use case: Customer churn data
Classification: Decision Trees & Random Forests
- Theory behind trees
- Classification and Regression Trees (CART)
- Random Forest concepts
- Labs: Use case: predicting loan defaults, estimating election contributions
Classification: Naive Bayes
- Theory
- Lab
- Use case: spam filtering
Clustering (K-Means)
- Theory behind K-Means
- Running K-Means algorithm
- Estimating the performance
- Lab: Use case: grouping cars data, grouping shopping data
Principal Component Analysis (PCA)
- Understanding PCA concepts
- PCA applications
- Running a PCA algorithm
- Evaluating results
- Lab: Use case: analyzing retail shopping data
Recommendations (Collaborative filtering)
- Recommender systems overview
- Collaborative Filtering concepts
- Lab: Use case: movie recommendations, music recommendations
Performance
- Best practices for scaling and optimizing Apache Spark
- Memory caching
- Testing and validation
Part Two: Introduction to Deep Learning with TensorFlow
Introducing TensorFlow
- TensorFlow intro
- TensorFlow Features
- TensorFlow Versions
- GPU and TPU scalability
- Lab: Setting up and Running TensorFlow
The Tensor: The Basic Unit of TensorFlow
- Introducing Tensors
- TensorFlow Execution Model
- Lab: Learning about Tensors
Single Layer Linear Perceptron Classifier with TensorFlow
- Introducing Perceptrons
- Linear Separability and Xor Problem
- Activation Functions
- Softmax output
- Backpropagation, loss functions, and Gradient Descent
- Lab: Single-Layer Perceptron in TensorFlow
Hidden Layers: Intro to Deep Learning
- Hidden Layers as a solution to XOR problem
- Distributed Training with TensorFlow
- Vanishing Gradient Problem and ReLU
- Loss Functions
- Lab: Feedforward Neural Network Classifier in TensorFlow
High level TensorFlow: tf.learn
- Using high level TensorFlow
- Developing a model with tf.learn
- Lab: Developing a tf.learn model
Convolutional Neural Networks in TensorFlow
- Introducing CNNs
- CNNs in TensorFlow
- Lab : CNN apps
Introducing Keras
- What is Keras?
- Using Keras with a TensorFlow Backend
- Lab: Example with a Keras
Recurrent Neural Networks in TensorFlow
- Introducing RNNs
- RNNs in TensorFlow
- Lab: RNN
Long Short-Term Memory (LSTM) in TensorFlow
- Introducing RNNs
- RNNs in TensorFlow
- Lab: RNN
Conclusion
- Summarize features and advantages of TensorFlow
- Summarize Deep Learning and How TensorFlow can help
- Next steps