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
- 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
statementsmatch
statementsfor
statementswhile
statements
- Functions
Lambda
functions- Built-in functions
map
functionfilter
functionenumerate
functionzip
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
- Introducing Pandas objects
- The pandas
Series
object - The pandas
DataFrame
object
- 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
- Basic operations in pandas
- Combining datasets
- Concat
- Merge
- Join
- Aggregation
Groupby
- Vectorized string
- 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
- 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
- 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
- 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