O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Data Science Fundamentals Part 2: Machine Learning and Statistical Analysis

Video Description

21+ Hours of Video Instruction

Data Science Fundamentals Part II teaches you the foundational concepts, theory, and techniques you need to know to become an effective data scientist. The videos present you with applied, example-driven lessons in Python and its associated ecosystem of libraries, where you get your hands dirty with real datasets and see real results.

Description

If nothing else, by the end of this video course you will have analyzed a number of datasets from the wild, built a handful of applications, and applied machine learning algorithms in meaningful ways to get real results. And all along the way you learn the best practices and computational techniques used by professional data scientists. You get hands-on experience with the PyData ecosystem by manipulating and modeling data. You explore and transform data with the pandas library, perform statistical analysis with SciPy and NumPy, build regression models with statsmodels, and train machine learning algorithms with scikit-learn. All throughout the course you learn to test your assumptions and models by engaging in rigorous validation. Finally, you learn how to share your results through effective data visualization.

Code:https://github.com/hopelessoptimism/data-science-fundamentals
Resources: http://hopelessoptimism.com/data-science-fundamentals
Forum:https://gitter.im/data-science-fundamentals
Data: http://insideairbnb.com/get-the-data.html

About the Instructor
Jonathan Dinu is an author, researcher, and most importantly educator. He is currently pursuing a Ph.D. in Computer Science at Carnegie Mellon's Human Computer Interaction Institute (HCII) where he is working to democratize machine learning and artificial intelligence through interpretable and interactive algorithms. Previously, he founded Zipfian Academy (an immersive data science training program acquired by Galvanize), has taught classes at the University of San Francisco, and has built a Data Visualization MOOC with Udacity. In addition to his professional data science experience, he has run data science trainings for a Fortune 500 company and taught workshops at Strata, PyData, and DataWeek (among others). He first discovered his love of all things data while studying Computer Science and Physics at UC Berkeley, and in a former life he worked for Alpine Data Labs developing distributed machine learning algorithms for predictive analytics on Hadoop.

Jonathan has always had a passion for sharing the things he has learned in the most creative ways he can. When he is not working with students you can find him blogging about data, visualization, and education at hopelessoptimism.com or rambling on Twitter @jonathandinu.

Skill Level

  • Beginner

What You Will Learn

  • How to get up and running with a Python data science environment
  • The basics of the data science process and what each step entails
  • How (and why) to perform exploratory data analysis in Python with the pandas library
  • The theory of statistical estimation to make inferences from your data and test hypotheses
  • The fundamentals of probability and how to use scipy to work with distributions in Python
  • How to build and evaluate machine learning models with scikit-learn
  • The basics of data visualization and how to communicate your results effectively
  • The importance of creating reproducible analyses and how to share them effectively

Who Should Take This Course

  • Aspiring data scientists looking to break into the field and learn the essentials necessary.
  • Journalists, consultants, analysts, or anyone else who works with data looking to take a programmatic approach to exploring data and conducting analyses.
  • Quantitative researchers interested in applying theory to real projects and taking a computational approach to modeling.
  • Software engineers interested in building intelligent applications driven by machine learning.
  • Practicing data scientists already familiar with another programming environment looking to learn how to do data science with Python.

Course Requirements

  • Basic understanding of programming.
  • Familiarity with Python and statistics are a plus.

Lesson 7: Exploring Data—Analysis and Visualization

Lesson 7 starts with a short historical diversion on the process and evolution of exploratory data analysis, to help you understand the context behind it. John Tukey, the godfather of EDA, said in the Future of Data Analysis that "Far better an approximate answer to the right question, which is often vague, than an exact answer to the wrong question, which can always be made precise."

Next you use matplotlib and seaborn, two Python visualization libraries, to learn how to visually explore a single dimension with histograms and boxplots. But a single dimension can only get us so far. By using scatterplots and other charts for higher dimensional visualization you see how to compare columns of our data to look for relationships between them.

The lesson finishes with a cautionary tale of when statistics lie by exploring the impact of mixed effects and Simpson's paradox.

Lesson 8: Making Inferences—Statistical Estimation and Evaluation

In Lesson 8 we lay the groundwork for the methods and theory we need to make inferences from data, starting with an overview of the various approaches and techniques that are part of the rich history of statistical analysis.

Next you see how to leverage computational- and sampling-based approaches to make inferences from your data. After learning the basics of hypothesis testing, one of the most used techniques in the data scientist's tool belt, you see how to use it to optimize a web application with A/B testing. All along the way you learn to appreciate the importance of uncertainty and see how to bound your reasoning with confidence intervals.

And finally, the lesson finishes by discussing the age-old question of correlation versus causation, why it matters, and how to account for it in your analyses.

Lesson 9: Statistical Modeling and Machine Learning

In Lesson 9 you learn how to leverage statistical models to build a powerful model to predict AirBnB listing prices and infer which listings are undervalued. It starts with a primer on probability and statistical distributions using SciPy and NumPy, including how to estimate parameters and fit distributions to data.

Next you learn about the theory of regression through a hands-on application with our AirBnB data and see how to model correlations in your data. By solving for the line of best fit and seeing how to understand its coefficients you can make inferences about your data.

But building a model is only one side of the coin, and if you cannot effectively evaluate how well it performs it might as well be useless. Next you learn how to evaluate a regression model, learn about what could go wrong when fitting a model, and learn to overcome these challenges.

The lesson finishes by talking about the differences between and nuances of statistics, modeling, and machine learning. I provide an overview of the various types of models and algorithms used for machine learning and introduce how to leverage scikit-learn—a robust machine learning library in Python—to make predictions.

About LiveLessons Video Training

The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons

Table of Contents

  1. Lesson 7: Exploring Data--Analysis and Visualization
    1. Topics 00:01:18
    2. 7.1 Introduction to the pandas Library, Part 1 00:50:13
    3. 7.1 Introduction to the pandas Library, Part 2 00:23:25
    4. 7.1 Introduction to the pandas Library, Part 3 00:23:07
    5. 7.2 Data Manipulation with Pandas 00:31:36
    6. 7.3 Grouping and Summarizing Data with Pandas 00:16:12
    7. 7.4 Exploratory versus Explanatory Visualization, Part 1 00:07:42
    8. 7.4 Exploratory versus Explanatory Visualization, Part 2 00:21:18
    9. 7.5 Visualizing One Dimension: Histograms and Boxplots 00:29:42
    10. 7.6 Visualizing Two Dimensions: Bars, Lines, and Scatterplots 00:08:39
    11. 7.7 Multivariate Visualization: Facets, Small Multiples, and Dashboards, Part 1 00:14:26
    12. 7.7 Multivariate Visualization: Facets, Small Multiples, and Dashboards, Part 2 00:10:31
    13. 7.8 Visualizing One Dimension: Histogram and KDE, Part 1 00:30:27
    14. 7.8 Visualizing One Dimension: Histogram and KDE, Part 2 00:27:11
    15. 7.9 Visualizing One Dimension: Comparing Distributions, Part 1 00:28:55
    16. 7.9 Visualizing One Dimension: Comparing Distributions, Part 2 00:28:02
    17. 7.9 Visualizing One Dimension: Comparing Distributions, Part 3 00:07:11
    18. 7.10 Visualizing Two Dimensions: Line Charts and Scatter Plots 00:40:45
    19. 7.11 Mixed Effects and Simpson's Paradox 00:15:41
  2. Lesson 8: Making Inferences--Statistical Estimation and Evaluation
    1. Topics 00:01:06
    2. 8.1 What Problem Is Statistics the Answer To?--Part 1 00:18:38
    3. 8.1 What Problem Is Statistics the Answer To?--Part 2 00:19:23
    4. 8.2 The Statistical Framework: Descriptive, Inferential, and Predictive 00:22:45
    5. 8.3 Non-Parametric Estimation--The Bootstrap 00:47:53
    6. 8.4 Quantifying Uncertainty--Confidence Intervals, Part 1 00:11:02
    7. 8.4 Quantifying Uncertainty--Confidence Intervals, Part 2 00:24:05
    8. 8.5 Correlation versus Causation, Part 1 00:25:08
    9. 8.5 Correlation versus Causation, Part 2 00:23:10
    10. 8.5 Correlation versus Causation, Part 3 00:12:12
    11. 8.6 Evaluating Hypotheses--Significance Testing, Part 1 00:19:04
    12. 8.6 Evaluating Hypotheses--Significance Testing, Part 2 00:13:06
    13. 8.6 Evaluating Hypotheses--Significance Testing, Part 3 00:18:56
    14. 8.6 Evaluating Hypotheses--Significance Testing, Part 4 00:30:08
    15. 8.6 Evaluating Hypotheses--Significance Testing, Part 5 00:10:33
    16. 8.7 Experimental Design--Assumptions and Caveats 00:25:42
    17. 8.8 Review--Which Approach to Choose 00:17:13
  3. Lesson 9: Statistical Modeling and Machine Learning
    1. Topics 00:01:36
    2. 9.1 What, Why, and How Machines Learn 00:24:38
    3. 9.2 A Machine Learning Taxonomy 00:22:27
    4. 9.3 Probability and Generative Models 00:09:42
    5. 9.4 Estimation with the Method of Moments 00:29:11
    6. 9.5 Maximum Likelihood Estimation 00:13:46
    7. 9.6 Computing the Maximum Likelihood Estimator, Part 1 00:22:12
    8. 9.6 Computing the Maximum Likelihood Estimator, Part 2 00:20:49
    9. 9.7 Introduction to Supervised Learning: Ordinary Least Squares Regression 00:29:19
    10. 9.8 Visualizing Regression with Seaborn 00:24:06
    11. 9.9 Analytical Regression with statsmodels 00:24:23
    12. 9.10 Interpreting Regression Models 00:24:09
    13. 9.11 Regression Three Ways - MLE, the Normal Equation, and Gradient Descent, Part 1 00:19:23
    14. 9.11 Regression Three Ways - MLE, the Normal Equation, and Gradient Descent, Part 2 00:08:01
    15. 9.11 Regression Three Ways - MLE, the Normal Equation, and Gradient Descent, Part 3 00:14:57
    16. 9.12 Evaluating Regression 00:24:01
    17. 9.13 Introduction to Classification: Logistic Regression 00:28:42
    18. 9.14 Components of a Model: The Hypothesis, Cost Function, and Optimization 00:16:03
    19. 9.15 Introduction to scikit-learn: Logistic Regression Appliedogistic Regression Example 00:26:27
    20. 9.16 Evaluating Classification Models 00:20:01
    21. 9.17 Evaluating Models with scikit-learn 00:16:06
    22. 9.18 Debugging Machine Learning: Imbalanced Classes 00:30:57
    23. 9.19 Model Selection--Hyperparameters and Regularization 00:22:44