Apply a fully test-driven approach to machine-learning algorithms, and save yourself the pain of missing mistakes in your analyses. Most data scientists have run an analysis and simply accepted any answer that wasn't an error message. But just because it runs doesn't mean it's correct. Missed mistakes can ruin research and harm reputations.All of that can be avoided by writing tests and building checks into your work. This book shows you how to write tests and build checks into their work. Using the Ruby programming language, software developers, business analysts, and CTOs will learn how to test machine-learning code, and understand what's happening "behind the scenes."Code machine-learning algorithms in a test-driven wayGain confidence to utilize machine learningDissect algorithms from the granular pieces using unit testsGet real-world examples of utilizing machine learning code
Hey, how’s it going? I’m Matthew Kirk, a software engineer based out of Seattle, WA. I’m also the author of Thoughtful Machine Learning, where I present doing test-driven software development with data in Ruby, and Thoughtful Machine Learning in Python (which is available for sale on February 4th, 2017).
I’ve been building web apps since 2009 and have always been “the data guy”, thanks to my applied math degree and my previous life as a financial quant.
In my career, I’ve been fortunate enough to speak around the world about software and work on interesting projects with later-stage startups. I’ve built social media sentiment engines, diamond recommendation tools, and e-commerce search algorithms...and always got frustrated with how my data projects never seemed to follow best development practices.
So instead of preaching to my coworkers, I wrote Thoughtful Machine Learning as a way to share my knowledge with the world.
There’s lots of machine learning books out there, and I recommend you take a look at all of them. But if you want the skinny, my books are for developers who don’t care about the nuances of academic theories of machine learning…and just want to implement something in their daily work.
If you ever want to chat machine learning, my email is matt@matthewkirk.com. I look forward to hearing from you.
Pros : Concise, Helpful examples Best Uses : Student, Novice
I am an academic who studies machine learning and a Python programmer. For those two reasons, I thought that Thoughtful Machine Learning wouldn't be right for me. However, I had another friend who was interested into getting into machine learning - so we decided we'd read through the book together, one chapter at a time.
That was a great idea.
This book is a short read, and a chapter a day is very easily digestible. With that chapter you get to explore ML topics from the standard Naive Bayes to things that aren't typically included in an entry level ML book like SVMs and HMMs. Matt does a great job of creating clear examples and uses non-academic language to explain things. His code doesn't rely on libraries and demonstrates the effectiveness of these techniques.
What that means is that if you're new to ML - this is a good way to get started into it. If you're old hat - it's a fresh perspective and a way to learn how to discuss these topics in fresh manner.
I am also a practitioner, and I thought it was a very novel thesis to include TDD with ML.
Well, if you're looking for a brief introduction to ML that book could be of some use for you. Unfortunately, it doesn't go far beyond that.
Code examples that are bundled with the book have-not been updated for a long time, therefore some of them don't work.
I reckon that If you had read a few blog posts from 2017 titled "Introduction to Machine Learning" with no Ruby code examples you would have known more than what this book teaches you.
An ok survey of common algorithms and techniques. Not very in depth analysis of each algorithm but didn't set out to provide one.
There was often very little explanation describing the code examples. Ruby is not always straight forward so the code itself does not tell the story. Some additional line comments walking through the steps would have been helpful.
Some topics provided significant description at an abstract level but seemed to jump to demonstration of using a library leaving the reader fuzzy about the how and why. (For example: Hidden Markov Models and Support Vector Machines).
it's actually a good summary and refresher about different machine learning techniques. I think examples lacked good explanation though, Abd I wish they used a more intuitive programming language, such as c++ or Java.