Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems

Category: Computer Science
Author: Aurélien Géron
This Year Hacker News 5
This Month Reddit 2


by Robin_Banx   2021-12-10

Almost the exact same trajectory as you - graduated with a psych degree, learned a lot of stats and experiment design, then did the Coursera ML course.

Reading this book is probably the biggest thing that took me from knowing there to doing well in interviews (before that it was just scattered projects): https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291 A second edition is coming out pretty soon, so watch out for that.

If I were doing it today, this is probably the best material out there: https://www.dunderdata.com/ It starts from scratch and gives you an amazing tour of Pandas. Author's also working on a practical Machine Learning book.

by Denis_Vo   2021-12-10

I would highly recommend to read the following book


I think it is the best one about ml/dl. Not sure that they already updated the tensorflow examples to tf 2.0 and keras.

And as tensorflow includes keras now, and has perfect pipeline for deploying your model, i think it is the perfect choice. :)

by 0_marauders_0   2019-11-17

Hi! My top 2 recommendations are:
Book: https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291 (one of the best books on ML, you'll leave having a strong grasp on most fundamental ML concepts)
Course: https://course18.fast.ai/ml (the lesser known cousin of the famous Fast.ai deep learning course)

Good luck!

by sixilli   2019-11-17

If you want to work on personal projects asap Hands on Machine Learning has to be the best. If you want to learn the math as well, then Pattern Recognition and Machine learning by Bishop will be much better. If you possibly want a career in ML I'd recommend the latter. If you want to do some personal projects go with the hands on book.

by brandonhotdog   2019-11-17

My previous video on AI did go into a lot more depth on neural networks but still wasn't enough to build your own. (There's only 2 vids on my channel so far so it's just the other one). I will defiantly consider making a video for my fellow devs on AI but for now you should check out https://www.youtube.com/watch?v=32wtJZ3yRfw&list=PLX2vGYjWbI0R08eWQkO7nQkGiicHAX7IX if you want to learn how to implent AI into a Unity3D project. If Unity3D isn't for you then you can read:


Also thanks for the support!

by [deleted]   2019-11-17
  1. Data Analyst may or may not use sophisticated statistical methods. If they do a lot they are probably underemployed. Most Data Analysts use SQL, Python or R, and various business intelligence software (Tableau) to do data manipulation and summarization. Statisticians are typically designing studies, analyzing the data, summarizing and presenting results. They will have a much deeper understanding of theory.

  2. SQL is important but R or Python is much more. Your data may be in files, relational databases, or even NoSQL databases so being able to pick those things up as needed is more important than one specific language.

  3. Starting out in a business intelligence position or a data analyst position will be easiest and would give you good experience but could get boring quickly. With a masters you would technically qualify for a statistician or even data scientist position which is what you’re going to eventually want. As long as you feel confident about the job qualifications go for those instead.

4 and 5. This really depends on the industry or domain, but good free books are: ISLR , Forecasting: Principles and Practice . The first is more general. I would focus there first. An inexpensive excellent python book: Hands on machine learning with sci-kit learn and tensorflow

  1. Depends on job, but I would say stats is more important as long as you can pick up programming as needed. I was given some very good advice that knowing how to analyze the data is more important than what technology you know.

  2. Classification or Regression. Kaggle has lots of competitions and data.

  3. There are jobs but lots of unqualified applicants due to hype. I would say there is lots of opportunities for qualified individuals.

by craigglespuss   2019-07-21

First of all - machine learning is a huge field, and just doing a tutorial probably won't get you all that much. Best to try a project, or better yet find a job where you can start doing some light ML, so that you get practice with using it "in the wild".

That said, I've really found this book to be good, especially if you want to get into TensorFlow & deep learning.

by Chingy1510   2019-07-21

"Hands On Machine Learning in Scikit-Learn and Tensorflow" : (https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291) has some examples of production pipelines among the code, and generally presents good form usage of common production APIs. Highly recommended book to work as it transitions nicely from core ML and data science into modern neural architectures and even explains utilizing multiple GPUs as well as Tensorflow's distribution package for multi-node jobs.


That book (and books like it) as well as a general focus on scale (modern ML is data insatiable - check out horizontal vs. vertical scaling of ML as well as hardware-smart software solutions like trade-offs between 32 bit and 16 bit floating point operations in GPU-resident NNs) and finally reading up on current ML research from papers is a good route to be well equipped for production applications and field innovation. Diversifying and learning multiple learning frameworks in a working capacity (Pytorch, Tensorflow 1.0/2.0, Keras, etc) gives you a broader view of how machine learning is applied. A really great paper to get into scalable ML would be something like "Scale out Acceleration of Machine Learning" : (https://www.cc.gatech.edu/~hadi/doc/paper/2017-micro-cosmic.pdf) which utilizes hardware accelerators to beat many production ML streaming platforms commonly utilized for big data (i.e., Flink, Storm) or "FireCaffe" : (https://arxiv.org/abs/1511.00175) which is an extremely well done overview of the challenges involved with distributing machine learning from an implementation point of view. Perspective of this would be helpful in understanding the underlying mechanics involved in utilizing multiple GPUs/machines to process a single NN in an efficient manner.


Disclaimer, I am a researcher myself and not into production, but I work with highly scalable streaming/ML applications. Though this isn't production work, it's generally in the direction of advancing the field of scalable production applications as a whole. Realtime streaming ML is the future.

by Arkhaya   2019-07-21

The most used is https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291

by spectramax   2019-05-01
Ian Goodfellow’s Deep Learning book pretty much useless. I own it and have read through most parts of it. I couldn’t explain it better than top Amazon reviews:


by Dracontis   2018-11-10

I'm a beginner too, so I can't give you end-to-end solution. I'll try to describe my path.

  1. You'll definetly need some statistics background. I've taken free Inferential and Descriptive Statistics courses from Udacity.
  2. I've decided to go further in Machine Learning. There I've got two choices Machine Learning A-Z™: Hands-On Python & R In Data Science and Machine Learning from Andrew Ng. I've decided to take second one and I'm on the fifth week now. It's really good for ML basics and theory, but programming assignments is horrible. So I think I'll have basic understanding of what's going on, but I will have near to no practical skills. That's why I asked question here about scientific advisory here.
  3. After I finish course, I plan to read Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems to boost knowledge of algorithms on the python.

I have no idea what I'll do next. Maybe, I'll took several courses and nanodegrees on Coursera. Maybe I'll find guidance and start getting hands on experience on a real project. It's not so hard to start learning - it's hard to find purpose and application of your knowledge.

by njack42   2018-11-10

I'm finding this one useful for the ML class:


by DecisionTreeBeard   2018-11-10

This book is a pretty good reference on scikit-learn with very good walkthroughs and code samples:


by cloverich   2017-11-27
I think this is the same author that published "Hands-On Machine Learning with Scikit-Learn and TensorFlow...". The quality of the book (thus far) is so high that I immediately started Googling about the author to try and learn more (and did not learn much), assuming he must be well known. I did not learn much, but can at least say the book is fantastic.

[1]: https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...

by wonder_bread   2017-11-16
If TensorFlow is what you're interested in I personally found "Hands-on Machine Learning with SciKit-Learn and TensorFlow by Aurélien Géron" to be the best introduction after introducing myself to the subject with Siraj's YouTube videos


by mindcrime   2017-10-31
What? No. Why in the world do people even ask this kind of question. To a first approximation, the answer to "is it too late to get started with ..." question is always "no".

If no, what are the great resources for starters?

The videos / slides / assignments from here:


This book:


This book:


These books:


This book:


These subreddits:




These journals:



This site:


Any tips before I get this journey going?

Depending on your maths background, you may need to refresh some math skills, or learn some new ones. The basic maths you need includes calculus (including multi-variable calc / partial derivatives), probability / statistics, and linear algebra. For a much deeper discussion of this topic, see this recent HN thread:


Luckily there are tons of free resources available online for learning various maths topics. Khan Academy isn't a bad place to start if you need that. There are also tons of good videos on Youtube from Gilbert Strang, Professor Leonard, 3blue1brown, etc.

Also, check out Kaggle.com. Doing Kaggle contests can be a good way to get your feet wet.

And the various Wikipedia pages on AI/ML topics can be pretty useful as well.

by adamnemecek   2017-08-19
I'll give you a couple. Note that some of these are rehashes of my earlier comments.

# Elements of Programming


This book proposes how to write C++-ish code in a mathematical way that makes all your code terse. In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book https://www.amazon.com/Grammar-Graphics-Statistics-Computing...

This book changed my perception of creativity, aesthetics and mathematics and their relationships. Fundamentally, the book provides all the diverse tools to give you confidence that your graphics are mathematically sound and visually pleasing. After reading this, Tufte just doesn't cut it anymore. It's such a weird book because it talks about topics as disparate Bayesian rule, OOP, color theory, SQL, chaotic models of time (lolwut), style-sheet language design and a bjillion other topics but always somehow all of these are very relevant. It's like if Bret Victor was a book, a tour de force of polymathical insanity.

The book is in full color and it has some of the nicest looking and most instructive graphics I've ever seen even for things that I understand, such as Central Limit Theorem. It makes sense the the best graphics would be in the book written by the guy who wrote a book on how to do visualizations mathematically. The book is also interesting if you are doing any sort of UI interfaces, because UI interfaces are definitely just a subset of graphical visualizations.

# Scala for Machine Learning


This book almost never gets mentioned but it's a superb intro to machine learning if you dig types, scalable back-ends or JVM.

It’s the only ML book that I’ve seen that contains the word monad so if you sometimes get a hankering for some monading (esp. in the context of ML pipelines), look no further.

Discusses setup of actual large scale ML pipelines using modern concurrency primitives such as actors using the Akka framework.

# Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems


Not released yet but I've been reading the drafts and it's a nice intro to machine learning using modern ML frameworks, TensorFlow and Scikit-Learn.

# Basic Category Theory for Computer Scientists


Have you ever wondered what's the relationship between machine learning and logic? If so look no further.

# Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)


Even though this is an Erlang book (I don't really know Erlang), 1/3 of the book is devoted to designing scalable and robust distributed systems in a general setting which I found the book worth it on it's own.

# Practical Foundations for Programming Languages


Up until recently I didn't know the difference between graphs and networks. But look at me now, I still don't but at least I have a book on it.

by adamnemecek   2017-08-19
Probably TensorFlow the hype is too strong. This book looks solid https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...