
Course Introduction!!!
Install and configure Anaconda on Windows, add it to your path, and use the Navigator to launch Jupyter Notebook while leveraging preinstalled libraries like pandas, numpy, and seaborn.
Install Anaconda on Linux (Ubuntu), download the 64-bit Linux installer, run via terminal, accept the license, initialize conda, use the base environment, and prepare for Jupyter notebook.
Learn how to cast between int, float, and string in Python, including two-step conversions from string to float to int, with practical examples using int(), float(), and str().
Explore tuples in Python, an immutable, ordered data type similar to lists that hold mixed data. Convert to a list to modify, then back to a tuple, and concatenate.
Learn how Python sets differ from lists and tuples, including unordered storage and no indexing, with add, remove, and update operations. Explore set operations like intersection, symmetric difference, and minus.
Explore while loops in Python, compare them to for loops, and control execution with break and continue as you print, decrement values, and use modulus to filter odd or even.
Learn how to use for loops in Python to iterate over lists, tuples, sets, dictionaries, and ranges, with examples of printing, uppercasing, title casing, and breaking or continuing.
Import the date time and time modules to work with Python dates and times, get date or today, create date time objects, compute deltas, and parse and format date strings.
Learn python file handling by opening, reading, writing, and appending text or binary files in different modes, including create, with proper path handling and file closing.
Learn to compute mean, variance, standard deviation, median, and minimum and maximum values from numpy arrays using numpy methods and Python lists, including multidimensional arrays.
Save and read numpy arrays using formats with np.save, np.load, and np.savez. Store as text with savetxt for csv, and note that three dimensional arrays cannot be saved to csv.
Create a pandas series from a dictionary, control its index with a custom order, and compute max, min, std, var, mean, and median; mixed types raise errors, count remains valid.
Create a pandas data frame from scratch using dictionaries, lists, and two-dimensional structures, explore index, columns, transpose, and basic data types while preparing for file reads.
Learn to read a CSV file into a pandas DataFrame, inspect structure with columns, head, tail, info, and describe, and sample random rows for quick testing.
Learn how to manipulate dataframe columns by selecting, viewing with head, adding and dropping columns, using inplace operations, and inserting at the start, including extracting first names via split.
Apply arithmetic operations to Pandas DataFrame columns, using an NBA data frame example, including add, multiply, integer division, and modulus.
Learn to handle null values in a pandas data frame by using fillna with a placeholder and inplace, then apply column-wise replacements like 'not a college' or 'unknown college'.
Identify and remove duplicates in a pandas DataFrame using NBA data, with methods like duplicated, drop_duplicates, and value_counts. Explore unique values, shapes, and counts for teams and colleges.
Learn to retrieve rows by index label using loc and iloc in a pandas data frame, and understand single versus multiple index selections returning a series or a data frame.
Rename the index and columns in a pandas data frame, drop rows and columns with in-place changes using axis settings, and reset the index to restore the original structure.
Learn to use lambda and apply on series and data frames to transform data, including string length, type conversion with str, and a custom double function applied row-wise.
Learn to concatenate, merge, and join data frames in Python, combining week one and week two data along rows or columns while resetting indices.
Learn how to work with datetime in pandas, convert strings to date time objects using pd.to_datetime, create date time indices, and generate date ranges with various frequencies and periods.
Learn to create and customize static, animated, and interactive visualizations with matplotlib, including setting titles, axis labels, ticks, spines, colors, and markers for data exploration.
learn to plot rank versus runtime with a line plot, examine how rank relates to ratings, votes, and meta scores, and compare multiple plots for patterns in top 50 movies.
Explore scatter, bar, and histogram plots with a 50-row movies data frame, adjusting figure size, colors, and markers to visualize rank versus rating.
Plot and customize scatter, bar, and histogram plots; adjust orientation, bins, color, and transparency, then interpret distributions, median, outliers, and skewness in ratings.
Create a two-by-two subplot layout to plot rank versus rating, revenue, meta score, and meter score, adjusting line styles, colors, markers, and axis labels for clear visualization.
Create and manage multi-plot canvases with plt.subplots for a 2x2 grid, assign and plot on axes, set x and y labels and titles, then replicate plots and apply tight layout.
Create a figure with two axes, plot rank versus rating on the main axis and a zoomed region on the subplot, then label axes and add a title.
Explore how to control plots by setting x limits and y limits, adding legends, enabling grids, and configuring x ticks, y ticks, labels, and titles for clearer data visualization.
Import and visualize the tips dataset in a jupyter notebook using seaborn scatter plots to show the relationship between total bill and tip, including smoker categories.
Load the dots data, then use a seaborn relplot with line mode to plot multiple lines, coloring by coherence and styling by category while adjusting line thickness.
Explore categorical data plotting in python with seaborn catplot, including scatter and swarm plots, jitter options, orientation, and ordering to reveal patterns in tips data.
Learn to plot a box plot with catplot kind='box' using tips data, interpreting min, max, quartiles, and median, and compare male versus female tips across days using dodge.
Explore a joint plot of total bill versus tip, visualizing a scatterplot with density estimates, then switch to hicks and cd plots to reveal concentration via kernel density estimation.
Learn to control plot aesthetics by adjusting axis styling, color palettes, and ticks, and experiment with styles like dark grid and left/bottom axis options for sine plots.
Import numpy, pandas, seaborn, and matplotlib, load the iris dataset, and perform basic data exploration with describe and head to support subsequent visualizations.
Learn to build a two-series line plot with a secondary y axis using iris data, combining width and length variables with clear left and right axis labels.
Learn to create bar and barh plots from the iris data frame, including single-row data. Adjust color, font size, titles, labels, legends, limits, and rotation for vertical and horizontal bars.
Plot histograms to visualize frequency distributions of numerical iris features, like petal length and width, and adjust bins, stacking, and orientation for clear comparisons.
This lesson shows box plots to analyze data distribution, detailing quartiles and median, mean relationships, and outliers, using iris petal length and width with color customization.
Learn how Plotly and Cufflinks bind a pandas DataFrame to interactive browser-based plots, enabling zooming, rotation, and offline high-dpi figures.
Learn to create and customize a scatterplot from a data frame that includes staple length and width, and petal length and width, revealing linear relationships.
Learn to create box and area plots from an iris data frame, interpret box plot features (median, quantiles, skewness), and customize stacked area plots with styling options.
Explore the types of linear regression, including simple and multiple, examining relationships between independent variables and dependent variables, regression coefficients, intercepts, and gradient descent optimization.
Conduct an exploratory data analysis with a pair plot to visualize 14 variables, showing scatterplots on off-diagonals and distribution plots on diagonals, relating price to room size.
Explore how to build a correlation matrix from data, interpret positive and negative relationships between variables, and visualize them with a heatmap for clear, two-dimensional insights.
Learn how to evaluate regression model performance using the coefficient of determination (r squared) and metrics like MSE, MAE, and RMSE for goodness of fit.
Plot learning curves to see how training and cross validation scores evolve with increasing data samples, using a linear regression estimator and shaded standard deviation bands.
Plot a learning curve for linear regression with training and test scores, shaded standard deviation, red and green curves, 100-split cross-validation, and 20% test size.
Explore the sigmoid function, a squeezing 0–1 activation used in logistic regression and neural networks, monotonic and continuous with domain minus infinity to plus infinity and 0 input yielding 0.5.
Impute missing ages in the Titanic data by sex and passenger class using mean ages, build a dedicated imputation function, and apply it with pandas to reduce nulls.
Explore how feature selection affects model accuracy and why accuracy alone can mislead, by examining precision, recall, F1-score, and AUC-ROC on imbalanced data.
this lecture demonstrates computing a classification report, confusion matrix, and precision, recall metrics, and evaluates model performance with five-fold cross-validation to report accuracy and F1 scores.
Explore the roc curve and auc, defining true positive rate and false positive rate, threshold effects on classification, and using logistic regression’s sigmoid probability to plot and interpret the curve.
Welcome to our Machine Learning Projects course! This course is designed for individuals who want to gain hands-on experience in developing and implementing machine learning models. Throughout the course, you will learn the concepts and techniques necessary to build and evaluate machine-learning models using real-world datasets.
We cover basics of machine learning, including supervised and unsupervised learning, and the types of problems that can be solved using these techniques. You will also learn about common machine learning algorithms, such as linear regression, k-nearest neighbors, and decision trees.
ML Prerequisites Lectures
Python Crash Course: It is an introductory level course that is designed to help learners quickly learn the basics of Python programming language.
Numpy: It is a library in Python that provides support for large multi-dimensional arrays of homogeneous data types, and a large collection of high-level mathematical functions to operate on these arrays.
Pandas: It is a library in Python that provides easy-to-use data structures and data analysis tools. It is built on top of Numpy and is widely used for data cleaning, transformation, and manipulation.
Matplotlib: It is a plotting library in Python that provides a wide range of visualization tools and support for different types of plots. It is widely used for data exploration and visualization.
Seaborn: It is a library built on top of Matplotlib that provides higher-level APIs for easier and more attractive plotting. It is widely used for statistical data visualization.
Plotly: It is an open-source library in Python that provides interactive and web-based visualizations. It supports a wide range of plots and is widely used for creating interactive dashboards and data visualization for the web.
ML Models Covered in This Course
Linear Regression: A supervised learning algorithm used for predicting a continuous target variable based on a set of independent variables. It assumes a linear relationship between the independent and dependent variables.
Logistic Regression: A supervised learning algorithm used for predicting a binary outcome based on a set of independent variables. It uses a logistic function to model the probability of the outcome.
Decision Trees: A supervised learning algorithm that uses a tree-like model of decisions and their possible consequences. It is often used for classification and regression tasks.
Random Forest: A supervised learning algorithm that combines multiple decision trees to increase the accuracy and stability of the predictions. It is an ensemble method that reduces overfitting and improves the generalization of the model.
Support Vector Machine (SVM): A supervised learning algorithm used for classification and regression tasks. It finds the best boundary (or hyperplane) that separates the different classes in the data.
K-Nearest Neighbors (KNN): A supervised learning algorithm used for classification and regression tasks. It finds the k nearest points to a new data point and classifies it based on the majority class of the k nearest points.
Hyperparameter Tuning: It is the process of systematically searching for the best combination of hyperparameters for a machine learning model. It is used to optimize the performance of the model and to prevent overfitting by finding the optimal set of parameters that work well on unseen data.
AdaBoost: A supervised learning algorithm that adapts to the data by adjusting the weights of the observations. It is an ensemble method that is used for classification tasks.
XGBoost: A supervised learning algorithm that is an extension of a gradient boosting algorithm. It is widely used in Kaggle competitions and industry projects.
CatBoost: A supervised learning algorithm that is designed to handle categorical variables effectively.
Unsupervised Models
Clustering algorithms can be broadly classified into three types: centroid-based, density-based, and hierarchical. Centroid-based clustering algorithms such as k-means, group data points based on their proximity to a centroid, or center point. Density-based clustering algorithms such as DBSCAN, group data points based on their density in the feature space. Hierarchical clustering algorithms such as Agglomerative and Divisive build a hierarchy of clusters by either merging or dividing clusters iteratively.
K-Means: A centroid-based clustering algorithm that groups data points based on their proximity to a centroid. It is widely used for clustering large datasets.
DBSCAN: A density-based clustering algorithm that groups data points based on their density in the feature space. It is useful for identifying clusters of arbitrary shape.
Hierarchical Clustering: An algorithm that builds a hierarchy of clusters by merging or dividing clusters iteratively. It can be agglomerative or divisive in nature.
Spectral Clustering: A clustering algorithm that finds clusters by using eigenvectors of the similarity matrix of the data.
Principal Component Analysis (PCA): A dimensionality reduction technique that projects data onto a lower-dimensional space while preserving the most important information.
Advanced Models
Deep Learning Introduction: Deep learning is a subfield of machine learning that uses artificial neural networks with many layers, called deep neural networks, to model and solve complex problems such as image recognition and natural language processing. It is based on the idea that a neural network can learn to automatically learn representations of the data at different levels of abstraction. Multi-layer Perceptron (MLP) is a type of deep learning model that is a feedforward artificial neural network model that maps sets of input data onto a set of appropriate outputs. MLP is a supervised learning algorithm that can be used for both classification and regression tasks. MLP is based on the idea that a neural network with multiple layers can learn to automatically learn representations of the data at different levels of abstraction.
Natural Language Processing (NLP): Natural Language Processing (NLP) is a field of Artificial Intelligence that deals with the interaction between human language and computers. One of the common techniques used in NLP is the term frequency-inverse document frequency (tf-idf). Tf-idf is a statistical measure that reflects the importance of a word in a document or a corpus of documents. The importance increases proportionally to the number of times a word appears in the document but is offset by the frequency of the word in the corpus. Tf-idf is used in NLP for tasks such as text classification, text clustering, and information retrieval. It is also used in document summarization and feature extraction for text data.
Are there any course requirements or prerequisites?
No introductory skill level of Python programming required
Have a computer (either Mac, Windows, or Linux)
Desire to learn!
Who this course is for:
Beginners python programmers.
Beginners Data Science programmers.
Students of Data Science and Machine Learning.
Anyone interested in learning more about python, data science, or data visualizations.
Anyone interested in the rapidly expanding world of data science!
Developers who want to work in analytics and visualization projects.
Anyone who wants to explore and understand data before applying machine learning.
Throughout the course, you will have access to a team of experienced instructors who will provide guidance and support as you work on your projects. You will also have access to a community of fellow students who will provide additional support and feedback as you work on your projects.
The course is self-paced, which means you can complete the modules and projects at your own pace,