
Set up essential data science tools and review Python's core components, including its English-like syntax, libraries, and interpreted nature, to explain its popularity in data science and machine learning.
Explore Jupyter Notebook, a web-based, cell-based tool to write code, visualize data, and weave narrative text, installed via the Anaconda distribution.
Learn to install and configure Anaconda on macOS and Ubuntu, launch Anaconda Navigator, and create and run a Jupyter Notebook with Python 3.
Explore the Jupiter notebook interface, its cell-based structure, code visualization, equations, and narrative text, then write and run Python code with a hello world example.
Learn how to manage directories in Jupyter notebook, open notebooks from a specific directory using Anaconda prompt on Windows, and launch Jupyter to open Hello.ipynb.
Explore Python input and output by using the print and input functions to display messages and capture user data, then print the result and test syntax with a quick quiz.
Explore Python’s primitive data types—int, float, string, and bool—and examine built-in data structures such as lists, dictionaries, and tuples, using the type function and the print function.
Explains Python's dynamic typing and runtime, showing how to declare variables like x = 1 and name = "gems" and print without quotes. Highlights variable naming rules and print syntax.
Explore Python arithmetic operators, including addition, subtraction, and multiplication, and learn float division with a single slash, integer division, and the modulus for remainders.
Learn how Python uses comparison operators to compare values and return true or false, including greater than, less than, not equal to, and equals.
Learn how logical operators in Python combine conditions using and, or, and not, with demos showing true and false results.
Explore Python conditional statements—if, elif, and else—evaluated top down, with blocks executed when true, and else when none match, including combining conditions with and.
Explore Python loops, including for and while loops, using range(start, end, step) with end exclusive; print even numbers 0 to 20; show default step and break on input.
Explore Python sequences by examining lists, dictionaries, and tuples, with a focus on lists. Learn indexing, slicing, the len function, and iteration to access list elements.
Explore dictionaries in Python by learning key value pairs, using keys() and values(), retrieving values with data[key], and iterating with for loops in a hands-on Jupyter notebook demo.
Explore how tuples behave like lists but are immutable, and learn indexing, slicing, and iterating with for loops in Python for data science and machine learning.
Learn about Python's built-in functions, including the len function, the AB function, and the max function, with a linked detailed list provided in the PowerPoint.
Students have often asked us for a single download location for all course materials, so we are facilitating that here.
Happy learning!
Review the core data science libraries and module structure for this course, noting that Anaconda provides the essential libraries so no additional installation is needed for now.
Master Pandas, the foundation of data science, for storing, accessing, cleaning, and processing data. Understand series, one dimensional, and dataframe, two dimensional, data structures.
Explore numpy arrays, the multi-dimensional data structures in data science, and the high-level functions that operate on them; see how pandas data frames relate as 2D arrays.
Matt plot lib enables data visualization with line graphs, bar plots, and scatter plots, and its pipe plot module makes it work like Matlab, with a dedicated data visualization module.
Discover Seaborn as a powerful data visualization library built on top of Matplotlib, extending its functionality with additional graph types and simplified syntax.
Learn to create NumPy arrays from Python lists and tuples using np.array, build 1d, 2d, and 3d arrays, and verify their dimensions with the .ndim attribute.
Learn to index numpy arrays in Python by using multi-dimensional indexing with two indices for 2d arrays and three indices for 3d arrays, demonstrated in a Jupyter notebook.
Explain how to read numpy array shape with the .shape attribute, returning a tuple where the first value is number of dimensions and the second is elements per dimension.
Explore iterating over numpy arrays with for loops, from 2d arrays using nested loops to 3d arrays with three levels, printing rows and elements in a Jupyter notebook.
Explore numpy's array creation features and learn to quickly generate zero-filled arrays with numpy.zeros. Specify dtype to obtain integer zeros and practice with a ten-element example.
Use numpy's ones() to create an array of ten ones. The resulting array defaults to floats, then cast to an integer array.
Use numpy.full to create a prefilled array by specifying the number of elements and the fill value, as in np.full(10, 5); for floats, pass a float as the second argument.
Divide an array by a scalar using / for float division and // for integer results, while a Python list cannot be divided and raises an error.
Raise each element of an array to a power using the double star operator, and contrast with a Python list that errors, illustrating element operations and list limitations.
Learn how to transpose a numpy array using dot. The caption shows that there is no built-in function for transposing Python lists and highlights errors when attempting it.
Explore element-wise addition in NumPy by adding two arrays with the plus operator, and note that Python lists concatenate rather than sum element-wise.
Demonstrate element-wise division on arrays, using the single slash for floor division and the double slash for integers, and show that dividing two Python lists is not possible.
Demonstrates matrix multiplication of two numpy arrays using the built in maximal function, showing results in a Jupyter notebook and explaining print behavior.
Explore essential NumPy statistical functions for data analysis, including min, max, sum, mean, std, and median, applied to arrays and matrices in Python.
Explore the two main pandas data structures: dataframe and series, noting that a dataframe is two-dimensional with labeled rows and columns, and that labels can be numbers or strings.
Learn how a pandas series is a one-dimensional data structure with a single column, index 0 to 9, and its name and data type.
Create a dataframe from a list or two-dimensional list using pandas, automatically generating row indices and optional column labels, and demonstrate custom column names with numpy arrays.
Create a dataframe from a dictionary by using each key as a column and its value list, with raw labels automatically assigned.
Pandas functions typically do not mutate the original dataframe; use inplace to modify permanently, demonstrated by setting inplace to true when calling set_index to make NAM the index.
Use head and tail to inspect a dataframe or series. Head returns the first five rows by default and can fetch more; tail returns the last seven rows.
Use the described function to obtain a statistical summary of the entire dataframe, DF, via the describe method, producing a data frame that presents per-column statistics.
Slice dataframe rows with the bracket operator by specifying a start index and an exclusive end, using raw positions not labels such as 1 to 3.
Use the bracket operator to index one or more dataframe columns by labels; when indexing multiple columns, supply their labels as a list, returning a subset while preserving original dataframe.
Apply a condition on the calories column to filter a DataFrame, using the bracket operator with a boolean list to return rows where calories are greater than 70.
Add a row with the lock method using a label and values matching the dataframe, then delete rows and columns with drop and bracket notation (axis 0 and axis 1).
Learn to sort the values of a data frame by a column using the sort_values function, with numbers sorted numerically and words alphabetically, as shown for the calories column.
Identify and clean real-world data by applying basic techniques to handle inconsistency, missing values, and duplicated information, preparing it for practical analysis and manipulation.
Improve data quality by applying data cleaning techniques to ensure data is fit for operations, decision making, and planning, enabling better decisions.
Apply z-score based anomaly detection to identify outliers by measuring how far values lie from the mean in units of standard deviation, using a threshold of 1.5.
Explore detecting anomalies with the interquartile range by computing Q1, Q2, and Q3 from data, using NumPy percentile brackets, and the 1.5 IQR rule in Python.
Learn how to handle missing values in data cleaning using pandas: remove rows with missing data or fill with mean, median, or mode to preserve information and analyze datasets.
Explore regular expressions in Python to match patterns, locate digits, test string starts, and replace text, using the re module methods like findall, search, and sub for data cleaning tasks.
Launch this course section by applying exploratory data analysis techniques to analyze data and gain a clearer understanding for Python-based data science and machine learning.
Perform univariate analysis of the categorical Verity column using count plots and a pie chart to show equal proportions across the three categories.
Learn bivariate analysis of two continuous features with scatterplots and correlation. Use seaborn and pandas to plot and compute correlation, confirming low link between fare and edge, with heatmap.
Analyze two categorical variables by plotting survival rates across p class, using group by and sum on survived to compute survived_ratio and visualize with Seabourne dot bar plot.
Perform bivariate analysis of a continuous edge variable and a categorical survived variable using box plots and bar plots in a Jupyter notebook, showing younger Titanic passengers had higher survival.
This final chapter introduces time series, showing how to analyze them, identify patterns, and develop forecasting models with machine learning using pandas, numpy, matplotlib, and Python's date time tools.
Learn to download stock data from Yahoo Finance using yfinance in a Jupyter notebook, import the library, and inspect a pandas time series dataframe.
Learn to work with time series in Python by treating each column as a time series, converting dates, indexing by date, and handling weekends and timestamp ranges.
Visualize a time series of Apple stock prices over five years using math plot lib in a jupyter notebook, plotting the adjusted close column and labeling the axes.
Learn to set up matplotlib in Python, use its pyplot module with a MATLAB-like interface, and adopt the common import pattern matplotlib.pyplot as plt to create graphs.
Plot line plots with Matplotlib by passing x and y lists to plt.plot in a Jupyter notebook, and change the line color with a third argument like 'r' for red.
Learn to label and title matplotlib graphs, add x and y axis labels, plot multiple series in one chart, and use legends to distinguish exponential and linear plots.
Create a pie chart using the dot pie function in the map plot lib, passing a values list, optional labels, and adjust the explored distance and colors.
Plot a scatter plot with x and y data using the dot scatter function, and customize colors with color, c, and cmap color maps.
Switch to a logarithmic y scale to handle data with exponential growth, using the dot y scale function to reveal differences hidden on a linear plot.
Create a polar plot using a mock plot library, mapping distance r and angle theta; generate theta from 0 to 2 pi in 0.01 steps and set r to 2.
Learn to improve x-axis readability by rotating the x ticks using its rotation parameter, such as 90 degrees, to differentiate dense data.
Create multiple subplots in one figure using the subplot function to arrange plots in a row or column with individual titles and labels, and apply tight layout to adjust spacing.
Explore how machine learning powers diverse applications across health, transportation, finance, and language translation. See it enable cancer detection, self-driving cars, Gmail spam filtering, and personalized product recommendations.
Supervised learning trains the algorithm by comparing outputs with labeled data to learn from errors and patterns, labeling unlabeled data and predicting classes like square or triangle.
Uncover patterns in unlabeled data by applying unsupervised learning, as algorithms group inputs by similarity. Leverage data that are abundant relative to labeled data, making unsupervised methods particularly valuable.
Explore regression as a statistical method to predict a continuous outcome from one or more input variables, covering linear and non linear approaches, including simple and multiple linear regression.
Explore how linear regression uses a scatterplot of house prices versus area to fit lines, minimize squared errors, and select the best fit for price prediction.
Explore line representation with the y = mx + b model to predict price from surface area, estimating the best fitted m and b.
Learn to set up python for home price predictions by importing pandas, numpy, matplotlib, and linear regression, and loading home prices.csv into a pandas dataframe with pd.read_csv.
Create a linear regression object from the Square Learn library, fit area and price data, predict a 3300 square foot house price, and inspect coefficients and intercept.
This machine learning course will provide you the fundamentals of how companies like Google, Amazon, and even Udemy utilize machine learning and artificial intelligence (AI) to glean meaning and insights from massive data sets. Glassdoor and Indeed both report that the average salary for a data scientist is $120,000. This is the standard, not the exception.
Data scientists are already quite desirable. It's difficult to keep them on staff in today's tight labor market. There is a severe shortage of people who possess the rare combination of scientific training, computer expertise, and analytical talents.
Today's data scientists are held to the same standards as the Wall Street "quants" of the '80s and '90s. When the need arose for innovative algorithms and data approaches, physicists and mathematicians flocked to investment banks and hedge funds.
So, it's no surprise that data science is rising to prominence as a promising career path in the modern day. It is analytic in focus, driven by code, and performed on a computer. As a result, it shouldn't be a shock that the demand for data scientists has been growing steadily in the workplace for the past few years.
On the other hand, availability has been low. Obtaining the education and experience necessary to be hired as a data scientist is tough. And that's why we made this course in the first place!
Each topic is described in plain English, and the course does its best to avoid mathematical notations and jargon. Once you have access to the source code, you can experiment with it and improve upon it. Learning and applying these algorithms in the real world, rather than in a theoretical or academic setting, is the focus of this course.
Each video will leave you with a new perspective that you can implement right away!
If you have no background in statistics, don't let that stop you from enrolling in this course; we welcome students of all levels.