Data Science from Scratch, 2nd Edition
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
To really learn data science, you should not only master the tools—data science libraries, frameworks, modules, and toolkits—but also understand the ideas and principles underlying them. Updated for Python 3.6, this second edition of Data Science from Scratch shows you how these tools and algorithms work by implementing them from scratch.
If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with the hacking skills you need to get started as a data scientist. Packed with new material on deep learning, statistics, and natural language processing, this updated book shows you how to find the gems in today’s messy glut of data.
- Get a crash course in Python
- Learn the basics of linear algebra, statistics, and probability—and how and when they’re used in data science
- Collect, explore, clean, munge, and manipulate data
- Dive into the fundamentals of machine learning
- Implement models such as k-nearest neighbors, Naïve Bayes, linear and logistic regression, decision trees, neural networks, and clustering
- Explore recommender systems, natural language processing, network analysis, MapReduce, and databases
Show and hide more
Publisher resources
Table of contents Product information
Table of contents
- Preface to the Second Edition
- Conventions Used in This Book
- Using Code Examples
- O’Reilly Online Learning
- How to Contact Us
- Acknowledgments
- Data Science
- From Scratch
- The Ascendance of Data
- What Is Data Science?
- Motivating Hypothetical: DataSciencester
- Finding Key Connectors
- Data Scientists You May Know
- Salaries and Experience
- Paid Accounts
- Topics of Interest
- Onward
- The Zen of Python
- Getting Python
- Virtual Environments
- Whitespace Formatting
- Modules
- Functions
- Strings
- Exceptions
- Lists
- Tuples
- Dictionaries
- defaultdict
- How to Write Type Annotations
- matplotlib
- Bar Charts
- Line Charts
- Scatterplots
- For Further Exploration
- Vectors
- Matrices
- For Further Exploration
- Describing a Single Set of Data
- Central Tendencies
- Dispersion
- Dependence and Independence
- Conditional Probability
- Bayes’s Theorem
- Random Variables
- Continuous Distributions
- The Normal Distribution
- The Central Limit Theorem
- For Further Exploration
- Statistical Hypothesis Testing
- Example: Flipping a Coin
- p-Values
- Confidence Intervals
- p-Hacking
- Example: Running an A/B Test
- Bayesian Inference
- For Further Exploration
- The Idea Behind Gradient Descent
- Estimating the Gradient
- Using the Gradient
- Choosing the Right Step Size
- Using Gradient Descent to Fit Models
- Minibatch and Stochastic Gradient Descent
- For Further Exploration
- stdin and stdout
- Reading Files
- The Basics of Text Files
- Delimited Files
- HTML and the Parsing Thereof
- Example: Keeping Tabs on Congress
- JSON and XML
- Using an Unauthenticated API
- Finding APIs
- Getting Credentials
- Exploring Your Data
- Exploring One-Dimensional Data
- Two Dimensions
- Many Dimensions
- Modeling
- What Is Machine Learning?
- Overfitting and Underfitting
- Correctness
- The Bias-Variance Tradeoff
- Feature Extraction and Selection
- For Further Exploration
- The Model
- Example: The Iris Dataset
- The Curse of Dimensionality
- For Further Exploration
- A Really Dumb Spam Filter
- A More Sophisticated Spam Filter
- Implementation
- Testing Our Model
- Using Our Model
- For Further Exploration
- The Model
- Using Gradient Descent
- Maximum Likelihood Estimation
- For Further Exploration
- The Model
- Further Assumptions of the Least Squares Model
- Fitting the Model
- Interpreting the Model
- Goodness of Fit
- Digression: The Bootstrap
- Standard Errors of Regression Coefficients
- Regularization
- For Further Exploration
- The Problem
- The Logistic Function
- Applying the Model
- Goodness of Fit
- Support Vector Machines
- For Further Investigation
- What Is a Decision Tree?
- Entropy
- The Entropy of a Partition
- Creating a Decision Tree
- Putting It All Together
- Random Forests
- For Further Exploration
- Perceptrons
- Feed-Forward Neural Networks
- Backpropagation
- Example: Fizz Buzz
- For Further Exploration
- The Tensor
- The Layer Abstraction
- The Linear Layer
- Neural Networks as a Sequence of Layers
- Loss and Optimization
- Example: XOR Revisited
- Other Activation Functions
- Example: FizzBuzz Revisited
- Softmaxes and Cross-Entropy
- Dropout
- Example: MNIST
- Saving and Loading Models
- For Further Exploration
- The Idea
- The Model
- Example: Meetups
- Choosing k
- Example: Clustering Colors
- Bottom-Up Hierarchical Clustering
- For Further Exploration
- Word Clouds
- n-Gram Language Models
- Grammars
- An Aside: Gibbs Sampling
- Topic Modeling
- Word Vectors
- Recurrent Neural Networks
- Example: Using a Character-Level RNN
- For Further Exploration
- Betweenness Centrality
- Eigenvector Centrality
- Matrix Multiplication
- Centrality
- Manual Curation
- Recommending What’s Popular
- User-Based Collaborative Filtering
- Item-Based Collaborative Filtering
- Matrix Factorization
- For Further Exploration
- CREATE TABLE and INSERT
- UPDATE
- DELETE
- SELECT
- GROUP BY
- ORDER BY
- JOIN
- Subqueries
- Indexes
- Query Optimization
- NoSQL
- For Further Exploration
- Example: Word Count
- Why MapReduce?
- MapReduce More Generally
- Example: Analyzing Status Updates
- Example: Matrix Multiplication
- An Aside: Combiners
- For Further Exploration
- What Is Data Ethics?
- No, Really, What Is Data Ethics?
- Should I Care About Data Ethics?
- Building Bad Data Products
- Trading Off Accuracy and Fairness
- Collaboration
- Interpretability
- Recommendations
- Biased Data
- Data Protection
- In Summary
- For Further Exploration
- IPython
- Mathematics
- Not from Scratch
- NumPy
- pandas
- scikit-learn
- Visualization
- R
- Deep Learning
- Hacker News
- Fire Trucks
- T-Shirts
- Tweets on a Globe
- And You?
Show and hide more
Product information
- Title: Data Science from Scratch, 2nd Edition
- Author(s): Joel Grus
- Release date: May 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492041139
You might also like
Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.