Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We'll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.
Introduction to Machine Learning and Scala
- Learning Outcome: Understand the fundamentals of machine learning and Scala's role in this domain.
- What is Machine Learning?
- Machine Learning with Scala: Advantages and Use Cases
- Lab: Setting up your environment (OPTIONAL)
Supervised Learning in Scala
- Learn the basics of supervised learning and how to apply it using Scala.
- Supervised Learning: Regression and Classification
- Linear Regression in Scala
- Logistic Regression in Scala
- Lab: Linear Regression Model
Unsupervised Learning in Scala
- Understand unsupervised learning and how to apply it using Scala.
- Unsupervised Learning: Clustering and Dimensionality Reduction
- K-means Clustering in Scala
- Principal Component Analysis in Scala
- Lab: K-means Clustering: Apply K-means clustering to a dataset in Scala using Breeze.
Neural Networks and Deep Learning in Scala
- Learning Outcome: Learn the basics of neural networks and deep learning with a focus on implementing them in Scala.
- Introduction to Neural Networks
- Feedforward Neural Networks in Scala
- Deep Learning and Convolutional Neural Networks
- Lab: Feedforward Neural Network: Build a simple feedforward neural network in Scala using DeepLearning.scala.
Introduction to Generative AI and GPT in Scala
- Gain a basic understanding of generative AI and GPT, and how to utilize GPT-Scala for natural language tasks.
- Generative AI: Overview and Use Cases
- Introduction to GPT (Generative Pre-trained Transformer)
- GPT-Scala: A Library for GPT in Scala
- Lab: Text Generation with GPT-Scala
Reinforcement Learning in Scala
- Understand the basics of reinforcement learning and its implementation in Scala.
- Introduction to Reinforcement Learning
- Q-learning and Value Iteration
- Reinforcement Learning with Scala
- Lab: Q-learning in Scala: Implement a simple Q-learning algorithm in Scala to solve a gridworld problem.
Time Series Analysis using Scala
- Learn time series analysis techniques and how to apply them in Scala.
- Introduction to Time Series Analysis
- Autoregressive Integrated Moving Average (ARIMA) Models
- Time Series Analysis in Scala
- Lab: Time Series Forecasting: Perform time series forecasting using Scala with an ARIMA model.
Natural Language Processing (NLP) with Scala
- Gain an understanding of natural language processing techniques and their application in Scala.
- Introduction to NLP: Techniques and Applications
- Text Processing and Feature Extraction
- NLP Libraries and Tools for Scala
- Lab: Text Classification in Scala: Description: Implement a text classification model in Scala using Breeze and Saddle.
Image Processing and Computer Vision with Scala
- Learn image processing techniques and computer vision concepts with a focus on implementing them in Scala.
- Introduction to Image Processing and Computer Vision
- Feature Extraction and Image Classification
- Image Processing Libraries for Scala
- Lab: Image Classification in Scala.
Model Evaluation and Validation
- Understand the importance of model evaluation and validation, and how to apply these concepts using Scala.
- Model Evaluation Metrics
- Cross-Validation Techniques
- Model Selection and Tuning in Scala
- Lab: Model Evaluation in Scala
Scalable Machine Learning with Scala
- Learn how to handle large-scale machine learning problems using Scala.
- Challenges of Large-Scale Machine Learning
- Data Partitioning and Parallelization
- Distributed Machine Learning with Scala
- Lab: Parallelized Machine Learning: Implement a parallelized version of a machine learning algorithm in Scala.
Machine Learning Deployment and Production
- Understand the process of deploying machine learning models into production using Scala.
- Deployment Challenges and Best Practices
- Model Serialization and Deserialization
- Monitoring and Updating Models in Production
- Lab: Model Deployment with Scala
Addendum: Next Steps in Machine Learning with Scala
Bonus Chapters / Time Permitting
Ensemble Learning Techniques in Scala
- Discover ensemble learning techniques and their implementation in Scala.
- Introduction to Ensemble Learning
- Bagging and Boosting Techniques
- Implementing Ensemble Models in Scala
- Lab: Implementing a Random Forest model
Feature Engineering for Machine Learning in Scala
- Learn advanced feature engineering techniques to improve machine learning model performance in Scala.
- Importance of Feature Engineering in Machine Learning
- Feature Scaling and Normalization Techniques
- Handling Missing Data and Categorical Features
- Lab: Feature Selection and Transformation
Advanced Optimization Techniques for Machine Learning
- Understand advanced optimization techniques for machine learning models and their application in Scala.
- Gradient Descent and Variants
- Regularization Techniques (L1 and L2)
- Hyperparameter Tuning Strategies
- Lab: Hyperparameter Tuning with Grid Search (