Course Info

Main advantage: an opportunity to quickly verify Machine Learning and Deep Learning usefulness in your company. Learning skills to solve simple problems using Machine Learning.

Duration: 5 days x 7 hours brutto (i.e. including breaks) + consultations after every course day
Format: workshop (70% workshop / 30% lecture)
Venue: client’s office or other place chosen by the client, in Europe
Enrollment: in-house on-site course for a group of people within one company
Group size: max 10 delegates
Course language: English or Polish or both during the same training
Audience: analysts, R&D, developers, team leaders
Audience requirements: basic programming skills. No need for Python, Machine Learning or Deep Learning experience. Although Python skills will be very useful.

Course Syllabus

I. Tooling

  1. Python 3 vs Python 2
  2. Python 3.x Installation
  3. PyCharm – IDE
  4. Executing Python Scripts
  5. pip – Packet Manager
  6. IPython – Interactive Console
  7. Jupyter Notebook
  8. virtualenv – Isolated Python Installations
  9. Tooling Summary
  10. Tooling for Data Science

II. Data Visualisation with matplotlib

  1. Basic Line Plots
  2. More Series Customization
  3. Log and Symlog Scale
  4. Multiple Plots
  5. Interactive Plots

III. Python Crash Course

  1. Data Types
  2. Functions
  3. Useful Builtin Functions

IV. Data Processing with Pandas

  1. Importing and Exporting Data
  2. Basic Transformations
  3. Aggregation
  4. Filtering
  5. Split-Apply-Combine Pattern
  6. Rolling
  7. Processing Missing Values

V. Introduction to Machine Learning

  1. What is Machine Learning?
  2. Basic Concepts
  3. Problem Types
  4. Basic Questions
  5. Common Workflow
  6. Algorithm Cheat-Sheet
  7. Supervised Learning
  8. Bias-Variance Trade Off
  9. Case Study: Iris Classification
  10. Business Applications

VI. Regression Linear Models

  1. Simple Linear Regression
  2. Multiple Linear Regression
  3. Ridge Regularisation
  4. Lasso Regularisation
  5. ElasticNet Regularisation

VII. Feature Engineering & Selection

  1. Pipelines
  2. One Hot Encoding
  3. Polynominal & Interaction Terms
  4. ln(x+1) Transformation
  5. Feature Selection

VIII. Cross Validation and Grid Search

  1. Cross Validation
  2. Cross Validation Strategies
  3. Grid Search

IX. Classification

  1. Logistic Regression
  2. Binary Classification
  3. Multiclass Classification
  4. Evaluation for Model Selection

X. Models

  1. k-Nearest Neighbors
  2. Linear & Logistic Regression
  3. Lasso, Ridge and ElasticNet Regularization Recap
  4. Neural Networks
  5. Support Vector Machines
  6. Kernelized Support Vector Machines
  7. Decision Trees
  8. Random Forests and Boosting
  9. Classificators Comparison

XI. Clustering

  1. k-Means Clustering
  2. Agglomerative Clustering
  3. Hierarchical Clustering and Dendograms
  5. Evaluating Clustering with Ground Truth
  6. Comparing Clustering on Digits

XII. Dimensionality Reduction

  1. Principal Component Analysis (PCA)
  2. Non-negative matrix factorisation (NMA)
  3. Decomposing Signals with NMF
  4. Manifold Learning with t-SNE

XIII. Recommendation Systems

  1. Introduction to Recommendation Systems
  2. Suprise Library
  3. CI&T Deskdrop Dataset
  4. Cold Start
  5. Building Model and Evaluation
  6. Popularity Model
  7. Content-Based Filtering
  8. Collaborative Filtering
  9. Testing Models

XIV. BigData with dask

  1. What is dask?
  2. dask as a Task Scheduler
  3. Working on a Computational Cluster
  4. DataFrame
  5. Dask-ML
  6. Dask Alternatives

XV. Deep Learning

  1. Installation and Tooling Overview
  2. Neutral Network Introduction
  3. Keras Introduction
  4. Feedforward Neural Network
  5. Image Classification
  6. Convolutional Neural Network
  7. Image Classification
  8. Activation Function
  9. Learning Process
  10. Backpropagation
  11. Recurrent Neural Networks with LSTM
  12. Averaging with LSTM
  13. Text Generation with LSTM
  14. Neural Network Architectures
  15. GoogLeNet
  16. Self-Taught Learning

Benefits for the Sponsor

As the course sponsor or HR you get:

  1. Analysis of the needs and my help to choose or design a great course during a phone call with the sponsor, HR, team leader or/and course delegates. On top of that, we ask delegates on the very first day what their needs are, to make even better usage of the course time.
  2. Course customisation to your needs.
  3. Guarantee that the course is conducted by a proper, experienced expert – I conduct all training and never send apprentices.
  4. Course evaluation as an electronic form at the end of the last course day. The evaluation results are sent to interested people (most of often they’re course sponsor and HR).
  5. Report with conclusions, recommendations and course evaluation results, as a phone call or/and email for the course sponsor and other interested parties.
  6. Simple and easy price policy – daily rate doesn’t depend on course topic, group size, course duration, trainer’s accommodation and transport costs or venue (although there is a discount for courses in Poland). All rates are all-inclusive, that is they include all costs (especially trainer’s accommodation and transport) with one exception of renting the training room. You can get VAT invoice. The rates don’t change until end of year which makes it easier for you to plan everything.
  7. Simple communication – you can contact me directly by phone or email and you know that I’m the only contact person. There are no training coordinators, assistants etc. You don’t have to guess who you need to contact. You don’t have to wait with your technical questions until a training coordinator makes an appointment with a trainer. You get answers to all your questions in one phone call.
  8. Easy buying procedure – one call or email is enough to get offer and to book a date. I don’t do overbooking. The course is confirmed once you send the Purchase Order.
  9. Friendly business partner – as a rule, I treat all my clients like friends. I don’t build walls, I’m not pretending to be a huge training company and I write in first person.

Clients very often decide to order other training (including dedicated courses) after observing positive results of this course.

Benefits for Delegates

Delegates will benefit because of:

  1. Seven hours course every day (including breaks)
  2. Consultations after every course day.
  3. Support after the course, via email and phone.
  4. Setup instruction before the course to save time at the beginning of the course. I’m happy to help you via email, phone or Skype, etc. in case of any questions or issues.
  5. Course materials consisting of code snippets, comments, exercises and solutions. The entire courseware is a single web page which make it very easy to lookup something there. Courseware is available online during and after the training. Delegates can download it to use it offline. Courseware can be updated during the course in real time, so that we can include comments or entire new sections suggested by delegates.
  6. Environment ready to use after the course – we don’t use virtual machines. Instead, we install everything on delegates machines, so that they can reuse the same setup after the course.


Below you can find some references.

Very inspiring training. I really appreciate the way Chris managed to walk us through the complex world of machine learning using Python. Good course materials updated real time. Highly recommend.

Krzysztof Gębal
Finance Director at DNB Bank Polska S.A.

Well prepared training and reasonably passed knowledge, thanks to which we develop better services.

Arkadiusz Baraniecki
Infrastructure Team Manager at

Chris recently taught a four day class on Machine Learning with Python four our team. The class was very good with the right balance of theory and practice. I cannot think of a better way to give a four day class about such an extensive topic.

Nicolas Leveroni
Head of Krakow Product Control Analytics at HSBC

You can read more references here.