Machine Learning with Python
Machine learning is a subset of artificial intelligence (AI) that focuses on the
development of algorithms and statistical models that enable computers to learn from
and make predictions or decisions based on data, without being explicitly programmed
for specific tasks.
In essence, machine learning algorithms use patterns and insights discovered in data
to improve their performance over time, without the need for human intervention. This
course covers the essential components to machine learning using Python, over 10
days.
Objectives
This 10-day course covers an overview of machine learning concepts and types,
including supervised and unsupervised learning, with hands-on implementation using
Python libraries like Scikit-learn. It includes techniques for evaluating and validating
models, interpreting metrics, and improving performance, followed by an exploration
of unsupervised learning algorithms and model selection strategies.
If there is time, advanced topics such as ensemble learning and optional deep learning
concepts will be introduced. However, we do aim for practical application and will
cover deployment techniques for deploying machine learning models in production
environments.
training@[Link]
+27 11 656 4233
Duration
10 Days
Audience
Data scientists
Data analysts
Business Intelligence professionals
Software Engineers
Business Professionals
Researchers
Start-up owners
Anyone interested in machine learning
Pre-Requisites
Python programming proficiency
Core Mathematics to Grade 12
Data analysis skills
Critical thinking and problem-solving skills
Outline
Introduction to Machine Learning:
Overview of machine learning concepts, types of machine learning (supervised,
unsupervised, semi-supervised, reinforcement learning), and applications.
Supervised Learning:
Introduction to supervised learning algorithms, including linear regression, logistic
regression, decision trees, random forests, support vector machines (SVM), and k-
nearest neighbours (k-NN).
Hands-on implementation of supervised learning algorithms using Python libraries
such as Scikit-learn.
Model Evaluation and Validation:
training@[Link]
+27 11 656 4233
Techniques for evaluating and validating machine learning models, including
cross-validation, train-test split, and performance metrics (accuracy, precision,
recall, F1-score, ROC AUC).
Interpretation of evaluation metrics and techniques for improving model
performance.
Unsupervised Learning:
Introduction to unsupervised learning algorithms, including clustering (k-means,
hierarchical clustering), dimensionality reduction (PCA, t-SNE), and association
rule learning.
Hands-on implementation of unsupervised learning algorithms using Python
libraries.
Model Selection and Tuning:
Strategies for model selection, hyperparameter tuning, and optimization
techniques such as grid search and random search.
Techniques for avoiding overfitting and underfitting, including regularization and
model complexity control.
Ensemble Learning:
Explanation of ensemble learning methods, including bagging, boosting, and
stacking.
Implementation of ensemble learning algorithms such as Random Forest and
Gradient Boosting.
Deep Learning (Optional):
Introduction to deep learning concepts, including artificial neural networks (ANN),
convolutional neural networks (CNN), recurrent neural networks (RNN), and deep
learning frameworks (TensorFlow, Keras, PyTorch).
Hands-on implementation of deep learning models for tasks such as image
classification, natural language processing (NLP), and sequence prediction.
Deployment and productionization:
Techniques for deploying machine learning models in production environments,
including containerization (Docker), model serving (Flask, FastAPI), and
monitoring.
training@[Link]
+27 11 656 4233