- Paperback: 300 pages
- Publisher: Apress; 1st ed. edition (June 29, 2015)
- Language: English
- ISBN-10: 1430267674
- ISBN-13: 978-1430267676
- Product Dimensions: 7 x 0.7 x 10 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 12 customer reviews
- Amazon Best Sellers Rank: #508,089 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Machine Learning Projects for .NET Developers 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
About the Author
Mathias Brandewinder is a Microsoft MVP for F# based in San Francisco, California. An unashamed math geek, he became interested early on in building models to help others make better decisions using data. He collected graduate degrees in Business, Economics and Operations Research, and fell in love with programming shortly after arriving in the Silicon Valley. He has been developing software professionally since the early days of .NET, developing business applications for a variety of industries, with a focus on predictive models and risk analysis.
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I liked it so much that I bought a physical copy after reading most of my Kindle copy. If I had to make a criticism it'd be that that the font in the physical book is tiny! That, and the use of the Titanic data-set in Chapter 6 feels, well, creepy.
If you're completely new to F# it's probably not enough to get you going--despite the claim on the back cover. But read it alongside The Book of F#: Breaking Free with Managed Functional Programming or Programming F# 3.0 and you'll be good to go.
As for the machine learning content, I'm certainly no expert. However, it seems a good introductory text to me with chapters covering the major analytical techniques that you'll find in many machine learning books, and an explanation of which you'd use with a particular data set and why.
Let me begin by pointing out that my day job consists of pulling data from a database, displaying it on a window, waiting for the user to do something with it and then saving it back to the database. Probably sounds boringly familiar to a lot of us. If so, you need to read this book to realise that some people have fun in their jobs! I read this book thinking, "Why aren't I doing exciting stuff like this?"
So why only three stars, let me explain. The blurb for the book includes the following (incorrect) statement... "If you’re new to F#, this book will give you everything you need to get started." This was one of the reasons I bought it. I have looked at F# before, but never really got to grips with it. This promised to teach it to me, whilst explaining Machine Learning (ML) at the same time. Sadly, the author failed fairly badly at this, which is a shame, as it wouldn't have taken much to include a bit more explanation that would have made the F# code much easier to understand.
As I read the first chapter, I was really excited. It was well explained, and opened my eyes to a whole new world of code that I had never seen. He started off with some code in C#, which was great as it was familiar, then showed the same code in F#, and explained how it worked. At this point, I was ready to give the book a five star review, and rave about how wonderful it was.
As I read the second chapter, I began to have my doubts, as he threw new F# syntax and constructs in, but didn't explain what most of it was, leaving me confused as to what the code was supposed to be doing. This got worse as the book went on, to the point where I started skim-reading the F#, totally defeating the purpose of the book. Sure I could copy and paste his code, but that wouldn't help me understand ML. I want to know what he's doing and why, so I can then write my own code to suit my own situation. Without sufficient explanation of the F#, this was extremely difficult.
He also didn't really explain why F# was any better for this than C#. Other than the type providers, which is a brilliant F# feature, I wouldn't see any reason why I wouldn't do exactly the same in C#. I'm sure F# has many reasons for being more suitable, but this book didn't explain them.
The annoying thing is that the book is pretty slim (less than 300 pages), and it wouldn't have been a problem to add more explanation of the F#. The book could still have been a modest size, but would have been sooooooo much better. Given the high cost of the book for the number of pages, it's actually a bit cheeky that the explanations are so slim.
Now obviously, if you already have a good background in F#, then the comments above won't apply to you, but the book is sold on the promise of teaching you F# as it goes along, and (in my opinion) it fails to do that.
The other major issue with the book is the maths. I was please to discover that ML uses some quite interesting maths, but very frustrated that he didn't explain most of this. Sure you can go off and search around for explanations of the concepts and what they mean, but I don't need to buy a book for that.
Now before anyone jumps in and points out that this isn't a maths book, and it would take too much to explain it all, you're right, but SOME explanation would have made a huge difference. For example, it's pretty easy to look up the definition of eigenvectors and eigenvalues, and find out how to compute them, but I want to know WHY they are useful here, and what they mean. Again, using this sort of thing blindly, without any understanding of what it means is not going to make me an expert in ML. I want to be able to do this stuff on my own, not just copy his code and use it without understanding it.
Again, this issue may not be a problem for you if you are well versed in Bayesian statistics, liner algebra, entropy and various other non-trivial subjects, but as the majority of us are probably not knowledgeable in these areas, we need more explanation to make this book as amazing as it obviously could be.
I feel bad giving the book only three stars, especially as I can't put it down, but I feel it really needs major work before it can be recommended whole heartedly. I hope the author takes these comments in the spirit they were intended, and fleshes out the book for the second edition. If so, this would be a truly brilliant book.
In summary, this book could be a classic. As it is, it's compelling reading, but left me without any confidence that I would apply much of what was presented on my own.
I have made it through most of this book so far and even as a professional developer focused on big data, machine learning and cloud technologies have learned a fair amount from it. I think one of the most important aspects of this book is the progression from simple to sophisticated with a focus on the simplest solution that solves the problem. I sit on the board of a community college and am an adjunct professor as well as industry guest speaker at several Universities. I recommend this book primarily for an intermediate audience, however I will be using it in my introduction to programming classes as well, as I believe with some guidance, this book will spark far more programming discussion and thought than the simpler topics.
The book is complete with functioning code and downloadable data sets; a perfect educational tool.
I know the biggest issue with Amazon reviews is knowing if the reviewer knows what they are talking about, so I will post a link to the website I run and from there you can draw your own conclusions. http://www.indiedevspot.com/
Most recent customer reviews
The book explains ML concepts in a very easy and compelling manner, with great and well explained codes samples.
I recommend it!