Course Outline
PySpark & Machine Learning
Module 1: Big Data & Spark Foundations
- Examination of the Big Data landscape and the integration of Spark within contemporary data architectures
- Analysis of Spark core components, including driver processes, executors, cluster management, lazy evaluation, DAGs, and execution planning
- Distinction between RDD and DataFrame APIs, with guidelines for selecting the appropriate methodology for specific tasks
- Initialization of SparkSession and adherence to fundamental application configuration standards
Module 2: PySpark DataFrames
- Ingestion and export of data from institutional sources utilizing standard formats (CSV, JSON, Parquet, Delta)
- Management of PySpark DataFrames through transformations, actions, column expressions, filtering, joins, and aggregation techniques
- Application of advanced operations, including window functions, timestamp management, and nested data structures
- Implementation of data integrity validations and development of maintainable, reusable PySpark code for government applications
Module 3: Processing Large Datasets Efficiently
- Assessment of performance principles, such as partitioning methods, shuffle mechanics, caching, and persistence strategies
- Utilization of optimization techniques, including broadcast joins and detailed execution plan analysis
- Optimization of large dataset processing and adherence to best practices for scalable data workflows
- Review of schema evolution and contemporary storage formats employed in enterprise and public sector environments
Module 4: Feature Engineering at Scale
- Execution of feature engineering using Spark MLlib, covering missing value imputation, categorical variable encoding, and feature scaling
- Construction of reusable preprocessing steps and preparation of datasets for Machine Learning pipelines
- Introduction to feature selection methods and strategies for addressing imbalanced datasets
Module 5: Machine Learning with Spark MLlib
- Comprehension of MLlib architecture and the Estimator-Transformer design pattern
- Training of regression and classification models at scale, including Linear Regression, Logistic Regression, Decision Trees, and Random Forests
- Comparative analysis of models and interpretation of results within distributed Machine Learning contexts
Module 6: End-to-End ML Pipelines
- Development of comprehensive Machine Learning pipelines integrating preprocessing, feature engineering, and model training
- Application of train/validation/test partitioning strategies
- Execution of cross-validation and hyperparameter optimization using grid search and random search methods
- Structuring of reproducible Machine Learning experiments to ensure accountability and transparency
Module 7: Model Evaluation & Practical ML Decision Making
- Selection and application of appropriate evaluation metrics for regression and classification objectives
- Identification of overfitting and underfitting to support informed model selection decisions
- Interpretation of feature importance and analysis of model behavior for decision-making for government agencies
Module 8: Production & Enterprise Practices
- Persistence and retrieval of models within Spark environments
- Implementation of batch inference workflows for large-scale datasets
- Understanding the Machine Learning lifecycle within enterprise and public sector operational frameworks
- Introduction to model versioning, experiment tracking, and foundational testing strategies
Practical Outcome
- Proficiency in independently managing PySpark operations
- Capability to process large-scale datasets with efficiency and accuracy
- Skill in performing feature engineering at scale for analytical purposes
- Competence in constructing scalable Machine Learning pipelines suitable for government deployment
Requirements
Participants are expected to possess the following background:
Basic Python programming proficiency, including the use of functions, data structures, and libraries
Fundamental understanding of data analysis concepts, such as datasets, transformations, and aggregations
Basic knowledge of SQL and relational data concepts
Introductory understanding of Machine Learning concepts, including training datasets, features, and evaluation metrics
Familiarity with command line environments and basic software development practices is recommended
Experience with Pandas, NumPy, or similar data processing libraries is beneficial but not required.
Testimonials (1)
I liked that it was practical. Loved to apply the theoretical knowledge with practical examples.