
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 perform basic arithmetic in Python, including addition, subtraction, multiplication, division, modulus, floor division, and exponentiation, with notes on when results are integers or floats.
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 how Python defines strings with single, double, and triple quotes, prints and assigns them, indexes characters, concatenates, and creates multi-line text with triple quotes.
Master string slicing in Python by using start and end indices, noting end is not included, and applying negative indexing to extract last ten characters.
Explore string modification in Python by changing case, stripping whitespace, replacing characters, and concatenating numbers, using methods like upper, lower, title, strip, replace, and format.
Explore how boolean variables evaluate true or false, compare numbers and strings, and determine containment within a string, using equality and inequality operators. Learn how boolean results drive conditional logic.
Learn how Python lists store multiple items of different data types, are ordered and mutable, and how to access by index, append, extend, remove, and sort them.
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.
Learn how to define Python dictionaries, access and update key-value pairs, remove items with pop, handle missing keys with defaults, and work with nested dictionaries, keys, and values.
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.
Learn how to define and call functions in Python, pass parameters, print or return results, and handle variable arguments with *args and **kwargs, including dictionaries.
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.
Discover how to create and work with NumPy arrays, from one-dimensional vectors to three-dimensional matrices, inspect shapes and dimensions, and understand scalar zero-dimensional arrays.
Learn how numpy nan and numpy inf behave, including comparisons with numbers, nan, inf, and none types, and how to convert array dtype for proper handling.
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.
Generate and manipulate numpy arrays with arange, linspace, range, zeros, and ones; control dtype and steps, then explore random numbers and array repetition using tile and repeat.
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.
Learn to concatenate and sort numpy arrays, explore 1D and 2D shapes, and perform vertical and horizontal stacking for flexible data arrangement.
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.
Learn how to read a csv file into a pandas series by selecting a single column and squeezing a one-column dataframe into a series using read_csv.
Explore how to apply Python's built-in functions to a pandas series, inspect series properties, compute statistics like mean, median, std, min, max, and convert data to list or dict.
Learn how to use apply on a pandas series to transform data, including lambda functions, string methods like lower, upper, title, and split on a company column.
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.
Identify and manipulate data frame columns by selecting a single column as a series or as a data frame, noting spaces break dot notation. Use two square brackets to keep a single column as a data frame or to select multiple columns with a list, and reorder them.
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'.
Learn data frame filtering to select rows by a single column with exact or contains matches, including Duke College examples, and apply multi-criteria filters on age and weight.
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.
Learn to replace values in a pandas data frame with the replace method, including single and multiple value replacements, dictionary mappings, and conditional updates using masks and loc.
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 group by multiple columns in a pandas dataframe, compute mean, variance, max, and min across numeric columns, and sort by age and weight to explore multi-index groupings.
Learn to concatenate, merge, and join data frames in Python, combining week one and week two data along rows or columns while resetting indices.
Explore merging and joining data frames using inner and outer merges, left and right joins, with keys like customer ID and food ID, illustrated by week one and week two.
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.
Read an IMDb movie data CSV, plot revenue in millions against rank, and fill missing revenue values to ensure a continuous line plot for analysis.
Plot movie rank versus revenue with matplotlib, adjust the figure size, and hide axes, then identify the maximum revenue index (Rogue One at rank 13) in the top 50 dataset.
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.
Explore exploratory data analysis of coal with 19 data, from data understanding to preparing data and interactive plots of worldwide cases, deaths, growth rates, maps, and scatter and line visuals.
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.
Learn to customize a line plot with rel plot by setting x as time, y as signal, and adding confidence intervals, legends, and hue-based styling for fMRI data.
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.
Create subplots across multiple canvases using column, row, size, and wrap to explore total bill, tip, time, and smoker status in the tips data.
Discover how to create line plots and scatter plots with seaborn's sns.lineplot and sns.scatterplot, using time point, signal, hue by region, and style with optional confidence intervals.
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 how to create a box plot in seaborn using the diamonds dataset to visualize price by color, adjust dodge and hue by cut, and interpret price ranges.
Learn to create violin plots with seaborn's catplot, using hue and split to compare groups, and combine violin with swarm plots for clearer data visualization.
Visualize survival trends in the Titanic data with a point plot using a SAS dot plot, plotting survived by class and gender to compare survival probabilities across categories.
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.
Plot iris dataset features in a single line plot, configure figure size and dpi, switch to log x and log y scales, label axes and title, and remove the legend.
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.
Learn to create stacked bar plots from bar plots, adjust colors, titles, and y limits, and place the legend outside the plot using bbox_to_anchor, with iris data as context.
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.
Explore area and scatter plots using the iris dataset, creating area plots (stacked and non-stacked) and scatterplots to examine relationships between petal width and length, including color by petal length.
Create a pie chart from a single row of data by aggregating values into slice percentages. Plot pies with data frames, subplots, adjust figure size, legends, and label slice percentages.
Create a scatter matrix for four numerical columns using pandas, displaying pairwise scatter plots with density diagonals and optional histograms, then adjust axis labels, rotation, and layout for clear subplots.
Learn how Plotly and Cufflinks bind a pandas DataFrame to interactive browser-based plots, enabling zooming, rotation, and offline high-dpi figures.
Load the iris data from Seaborn and plot a line plot of sepal length, sepal width, petal length, and petal width, with interactive zoom, pan, and download options.
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 bar plots and stacked bar plots with real data, comparing Titanic survival by gender and showcasing horizontal stacked bars with the iris dataset.
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.
Learn to create a 3d surface plot from a data frame with staple length, staple width, petal length, and petal width, using a color scale and rotation for 150 samples.
Explore linear regression fundamentals, including predictive variables, independent and dependent variables, and supervised learning, with examples predicting house prices using a Boston housing dataset and input features.
Apply regression to real-world examples like stock price prediction, tweet popularity, and house price estimation, using past price history and other factors as features to forecast outcomes.
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.
Assess regression model performance with mean squared error, residuals, and the regression line, and discuss model complexity, overfitting, and the bias-variance tradeoff.
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.
Split the data with a 0.2 test size, build a linear regression model, train on the training data, then predict the test set and compare to actual prices.
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 and evaluate true versus predicted house prices using R^2, MAE, MSE, and RMSE, visualizing predictions against reality to assess model performance.
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 how the prediction error plot compares actual targets to model predictions to diagnose regression fit and detect skewness in data.
Explore logistic regression as a probability-based classifier for tasks like spam detection, fraud, and tumor diagnosis. See how the sigmoid function outputs 0–1 with a 0.5 threshold to separate classes.
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.
Explore the decision boundary where binary classifications are ambiguous at the 0.5 sigmoid threshold. Distinguish linear hyperplanes from non-linear boundaries to handle non-linearly separable data.
Explore the Titanic dataset with a heatmap of missing values and a density plot of age, and learn to drop columns with more than 50% nulls to prepare data.
This lecture covers missing age imputation for Titanic data, introducing edge value methods and dropping records, while using age histograms and density plots by sex and survival to guide imputation.
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.
Impute missing embarked town values in the Titanic dataset by visualizing survival by passenger class across ports, fill with Southampton, and drop three columns to avoid multicollinearity.
Split the data with train_test_split, use X and y for training the model, then train a logistic regression model and evaluate its accuracy.
Explore recursive feature elimination for feature selection, showing how selecting the best features from 13 inputs can improve model accuracy from 79% to over 82%, using logistic regression in Python.
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.
Learn why accuracy can mislead and compute the Aponte score, using precision, recall, and true/false positives in binary classification like Titanic, with feature selection to boost metrics.
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,