Skip to content

AmirMardan/ml_course

Repository files navigation

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 (mardan.amir.h@gmail.com) for your lovely feedback and suggestions.


NOTE

I will push new contents weekly


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
    • if statements
    • match statements
    • for statements
    • while statements
  • Functions
  • Lambda functions
  • Built-in functions
    • map function
    • filter function
    • enumerate function
    • zip function
  • Classes / objects
  • 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

  • Introducing Pandas objects
    • The pandas Series object
    • The pandas DataFrame object
  • 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
  • Basic operations in pandas
  • Combining datasets
    • Concat
    • Merge
    • Join
  • Aggregation
  • Groupby
  • Vectorized string

4 Visualization

  • 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
  • Relational plots
  • Distribution plots
    • displot
    • jointplot
    • pairplot
  • Categorical plots
    • Categorical scatter plots
    • Categorical distribution plots
    • Categorical estimate plots
  • Regression plots
  • FacetGrid
  • Customization
    • Style and theme
    • Colors

5 Data Analysis and Processing

  • Initial general assessment
  • Basic analysis
  • Missing data
  • Outliers
  • Correlation
  • 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
  • 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

  • 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
  • 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
  • Logistic Regression
  • Support Vector Machine
  • Random Forest Classifier
  • k-Means Clustering
  • Gaussian Mixture Models
  • Evaluation Clustering Models

7. Fully Connected Neural Networks (FCNNs)

  • 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
  • Neural Network From Scratch
  • Neural Network With TensorFlow