ml_course
ml_course copied to clipboard
This repository belongs to the course of machine learning with Python which is getting ready for AUT
Welcom to Python and machine learning course
This repository is created by Amir Mardan to maintain and preview the contents for a Python and machine learning course prepared for Amirkabir University of Technology, Tehran, Iran. Please contact me via my email ([email protected]) for your lovely feedback and suggestions.
NOTE
I will push new contents weekly
1. Introduction to Python
1.1 General programming
- An introduction
- Required tools
- Variables and data types
- Numbers in Python
- Strings in Python
- Booleans in Python
- List in Python
- Dictionary in Python
- Operators
- Comparison operators
- Logical operators
- Membership operators
- Bitwise operators
- Control flow
ifstatementsmatchstatementsforstatementswhilestatements
1.2 Modular programming
- Functions
Lambdafunctions- Built-in functions
mapfunctionfilterfunctionenumeratefunctionzipfunction
- Classes / objects
2. Introduction to NumPy
- Creating a NumPy array
- Creating arrays from lists
- Special arrays
- Attributes of arrays
- Data Selection
- Array indexing
- Array slicing
- Array view vs copy
- Conditional selection
- Array manipulation
- Shape of an array
- Joining arrays
- Splitting of arrays
- Computation on NumPy arrays
- Aggregations
- Summation
- Minimum and maximum
- Variance and standard deviation
- Mean and median
- Find index
3. Data Manipulation with Pandas
3.1 Introduction to pandas
- Introducing Pandas objects
- The pandas
Seriesobject - The pandas
DataFrameobject
- The pandas
- Data indexing and selection
- Data selection in Series
- Data selection in DataFrame
- Handling missing data
- Detecting the missing values
- Dealing with missing values
- IO in pandas
3.2 Data manipulation in using pandas
- Basic operations in pandas
- Combining datasets
- Concat
- Merge
- Join
- Aggregation
Groupby- Vectorized string
4 Visualization
4.1 Matplotlib
- Basic matplotlib
- Simple matplotlib
- Subplots
- Object-oriented method
- Different types of plot
- Scatter plot
- Bar plot
- Histogram
- Pie chart
- Box Plot
- Violin plot
- Images with matplotlib
- Animation using matplotlib
- Live graph with matplotlib
4.2 Seaborn
- Relational plots
- Distribution plots
displotjointplotpairplot
- Categorical plots
- Categorical scatter plots
- Categorical distribution plots
- Categorical estimate plots
- Regression plots
- FacetGrid
- Customization
- Style and theme
- Colors
5 Data Analysis and Processing
5.1 Exploratory data analysis (EDA)
- Initial general assessment
- Basic analysis
- Missing data
- Outliers
- Correlation
5.2 Data preparation
5.3 Data Cleaning
- Initial general assessment
- Rows with duplicated data
- Columns with a single value
- Outliers
- Standard deviation method
- Interquartile range method
- Missing data
- Remove rows with missing values
- Filling missing values
5.4 Data Transforms
- Scaling numerical data
- Data normalization
- Data standardization
- Robust scaling
- Encode categorical data
- Ordinal Encoding
- One Hot Encoding
- Dummy Encoding
- How to make distribution more Gaussian
- Box-Cox transform
- Yeo-Johnson transform
- Quantile transform
6 Classical Machine Learning
6.1 Introduction to Machine Learning
6.2 Introduction to Scikit-Learn
- Data presentation
- Models in Scikit-learn
- Simple linear regression example
- Simple classification example
- Simple dimensionality reduction example
- Simple clustering example
- Hyperparameters and model validation
- Cross validation
- Finding the best model
- Grid Search
6.3 Regression 1
- Ordinary Linear Regression
- Linear Regression With Regularization
- Ridge Regularization
- Lasso Regularization
- Combined Regularization
- A Linear Regression Project
- Exploratory Data Analysis
- Data Cleaning
- Data Processing Pipeline
- Training and Evaluation
- Training Curve
6.4 Classification 1
- Logistic Regression
- Support Vector Machine
- Random Forest Classifier
6.5 Clustering 1
- k-Means Clustering
- Gaussian Mixture Models
- Evaluation Clustering Models
7. Fully Connected Neural Networks (FCNNs)
7.1 Introduction to TensorFlow
- Graph and Session
- Build and Perform a Graph
- Gradient in TensorFlow
- Tensor types in TensorFlow
- Constant
- Variable
- Tensor Manipulation
- Creating A Tensors
- Creating Special Tensors
- Shape Manipulation
- Slicing
- Operators
- Basic Arithmetic Operators
- Comparison Operators
- Logical And Bitwise Operators
7.2 Introduction To Fully Connected Neural Networks
- Neural Network From Scratch
- Neural Network With TensorFlow