
Machine Learning with Python
Public courses
£1750
Private courses
Price set individually
About the training
Machine Learning is a fast-growing field that gives us great possibilities to explore data, make predictions and recognize patterns. It is a combination of algorithms used in IT, statistics, and automation that can, based on existing data, forecast and classify new data, recognize text, images, and speech or create recommendation systems. Such algorithms are used for example in spam filtering, web ads, marketing, and fraud detection. The ability to use machine learning techniques is a great asset for every data scientist.
During the training, you will learn the basics of machine learning. Numerous exercises and examples throughout the training will help you practice the material and gain practical knowledge necessary in daily work.
Who is this training for?
This training is aimed at people who would like to learn machine learning techniques and gain practical knowledge useful in daily work. Basic Python programming knowledge is required to take part in this training.
Machine Learning with Python is addressed to:
- Analysts
- Statisticians
- Data scientists
- Programmers
- Engineers
Training participants come from different backgrounds (finance, banking, IT, FMCG, biology, medicine…). Before the course, we survey participants to learn what are they training expectations and needs. We always make sure the training is as practical and useful in your daily work as possible!
What will I learn?
During the training, you will learn basics of machine learning and how to build models used in data classification and numerical prediction.
After completing the training, you will be able to:
- Select the right model to your problem– We will discuss various machine learning algorithms and suggest best one for a given problem type.
- Test model’s predictive abilities – You will learn how to judge model quality and its predictive abilities. What is overfitting and why it is so bad? How do I know if model gives good forecasts?
- Build linear regression model – We will discuss what linear regression is and what are its applications. During exercises, you will build different models and choose the one with the best predictive abilities. Regression models can be used to find factors influencing a price or to forecast sales.
- Build classification model – We will use decision trees, ensamble methods, neural networks, and SVM algorithms to build classification models. Such models are used in recommendation systems i.e. systems that predict which product customer will be willing to buy or which movie a person would enjoy.
- Build unsupervised training model – We will teach you what to do when there is no validation data available.
- Enhance model’s predictive abilities – You will learn how to tune your model and further enhance its performance by using methods like boosting or ensamble of models.
Course outline
- Introduction to Machine Learning
- Machine learning vs Statistical learning
- Supervised vs Unsupervised
- Machine learning algorithms
- Classification, Associations, Clustering, Anomalies detection
- Choosing appropriate algorithm to the problem
- Training and testing data sets
- Model Validation
- Measuring accuracy and stability of ML solution
- Bias vs Variance – tradeoff in machine learning
Machine learning with Python
- Using Python for Machine Learning
- Python libraries
- Libraries for Machine Learning
- NumPy
- SciPy
- Matplotlib
- pandas
- Scikit-learn
- IPython
- Installation of additional libraries
- Using documentation for libraries
- IDLE
- Interactive coding with IPython Notebooks
- Basic data objects – tables from NumPy
- Creating multidimensional tables
- Tables Indexing
- Data manipulations
- Statistics and linear algebra– SciPy library
- Descriptive Statistics
- Linear algebra functions
- Generating random numbers
- Data manipulation with pandas library
- Data objects – DataFrame, Series
- Indexing, Aggregating, Statistics
- Data joins & blends with DataFrame
- Pivot Tables
- Data Import and Storage in Python
- Data management with OS library
- Import Export from/to CSV, Excel, TXT
- Other data formats
- Data Visualization in Python
- Matplotlib library
- Basic plots
- Graphical data analysis
- Formatting plots
Data Preparation
- Data preparation in Machine learning
- Missing observations – detection and solutions
- Outliers
- Standardisation and normalisation
- Binarization
- Qualitative data recoding
- Pipelines in data preparation process
Forecasting Continuous data
- Linear regression
- Estimation and validation regression in Python
- Variable selection strategies
- Regularizations L1 and L2
- Regression trees
- Idea of Regression trees
- CART Algorithm
- Prepruning & Postpruning
Classification
- Logistic regression
- Binary Classification
- Measuring accuracy
- ROC, Lift, Gain curves
- Model tuning
- k-Nearest Neighbors
- Measures of similarity
- k-NN algorithm
- Testing classifier
- Combining data of different types
- Naive Bayes
- Conditional probability
- Classification with conditional probability
- Naive Bayes classifier
- Application of Naive Bayes to textual data in Python
- Decision trees
- Algorithms for learning trees
- Measures of impurity in nodes
- Boosting & Bagging
- Random Forests
- Ensemble Trees
- Support Vector Machines
- Idea of SVM
- Maximum margin classifier
- Support Vectors
- Kernels
- Learning SVM in Python
- Neural Networks
- Introduction to neural networks
- Biological Neuron
- Activation functions
- Neural networks architectures
- Learning Neural Networks in Python
- Model validation and tuning
- Machine learning algorithms validation
- K-fold cross validation
- Cross validation strategies
- Bootstrapping
- Model tuning–grid search strategies
Unsupervised learning
- Clustering – k-means and extenstions
- Clustering data with k-means
- Chalenges with k-means and solutions
- Measuring clustering quality
- Other centroid-based algorithms
- Hierarchical clustering
- Market basket analysis – associations
- Apriori algorithm basics
- Apriori Rule
- Measures of associations performance
- Possible applications
- FP-growth
- Constructing FP-tree
- Using FP-tree to detect patterns
Additional topics
- Dimensionality reduction with PCA
- Graphical interpretation of PCA
- PCA application
- Singular value decomposition
- Applications of SVD
- SVD in Python
- Factor Analysis
- Unobserved variables
- Rotations and interpreting results