Leverage Scala and Machine Learning to construct and study systems that can learn from dataAbout This BookExplore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulation, and source codeLeverage your expertise in Scala programming to create and customize AI applications with your own scalable machine learning algorithmsExperiment with different techniques, and evaluate their benefits and limitations using real-world financial applications, in a tutorial styleWho This Book Is ForAre you curious about AI? All you need is a good understanding of the Scala programming language, a basic knowledge of statistics, a keen interest in Big Data processing, and this book!
What You Will LearnBuild dynamic workflows for scientific computingLeverage open source libraries to extract patterns from time seriesWrite your own classification, clustering, or evolutionary algorithmPerform relative performance tuning and evaluation of SparkMaster probabilistic models for sequential dataExperiment with advanced techniques such as regularization and kernelizationSolve big data problems with Scala parallel collections, Akka actors, and Apache Spark clustersApply key learning strategies to a technical analysis of financial marketsIn DetailThe discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, engineering designs, biometrics, and trading strategies, to detection of genetic anomalies.
The book begins with an introduction to the functional capabilities of the Scala programming language that are critical to the creation of machine learning algorithms such as dependency injection and implicits.
Next, you'll learn about data preprocessing and filtering techniques. Following this, you'll move on to clustering and dimension reduction, Naïve Bayes, regression models, sequential data, regularization and kernelization, support vector machines, neural networks, generic algorithms, and re-enforcement learning. A review of the Akka framework and Apache Spark clusters concludes the tutorial.
Hard to read and probably not what you're looking for
(I received a free ebook copy for review)
I have a hard time deciding who this book is for: it won't teach you Scala and it won't teach you machine learning. It might serve as a reference book, but given how many errors there are in code samples and how little attention is payed to giving the reader a decent understanding of each algorithm, I think you should wait for the second edition.
I admit I only read 4 chapters before giving up. The text is extremely dry, few examples (other than code), mathematical formulae are dropped in text with little or no explanations. Some phrases simply don't make sense ("A parallel collection does lend itself to concurrent processing until a pool of threads and a tasks (sic) scheduler are assigned to it")
- Scala information is sometimes plain wrong ("Scala is an extension of Map Reduce", "Actors acts as coroutines", you can override a `val` with a `def`). - head-first into and "monadic design" (page 5, if I'm not mistaken). While I agree that monads could help structuring ML algorithms, the concepts is very poorly explained, other than listing a few traits with strange notation - the first chapter dives into a taxonomy, where "..can be further divided in..." appears on every second paragraph. I seriously doubt that anyone reviewed this book before being published.
I really wish I could write a positive review, but in its current version, this book is far from its promise. The only thing going for it is the sheer breadth of subjects it covers. I'm giving it a 3/5 hoping that future revisions will fix some of the inexactitudes reported by so many.
Studying machine learning during my university times and being an aspiring scala developer I picked this book up as an opportunity to learn scala while reading about what interests me the most in the field of computer science. This wont be an easy read for people not familiar with scala at all, but if you have some experience with the language and are interested in machine learning, I definitely recommend the book. It is a nice and quite deep dive into the topic. What I found very interesting was the optional math part available in each section. This book is also showing me where my understanding of scala is still superficial, the code is written a very good way.