Jump to ratings and reviews
Rate this book

Clojure Data Analysis Cookbook

Rate this book
Data is everywhere and it's increasingly important to be able to gain insights that we can act on. Using Clojure for data analysis and collection, this book will show you how to gain fresh insights and perspectives from your data with an essential collection of practical, structured recipes.

"The Clojure Data Analysis Cookbook" presents recipes for every stage of the data analysis process. Whether scraping data off a web page, performing data mining, or creating graphs for the web, this book has something for the task at hand.

You'll learn how to acquire data, clean it up, and transform it into useful graphs which can then be analyzed and published to the Internet. Coverage includes advanced topics like processing data concurrently, applying powerful statistical techniques like Bayesian modelling, and even data mining algorithms such as K-means clustering, neural networks, and association rules.

342 pages, Paperback

First published January 1, 2013

4 people are currently reading
71 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
3 (10%)
4 stars
13 (43%)
3 stars
13 (43%)
2 stars
1 (3%)
1 star
0 (0%)
Displaying 1 - 4 of 4 reviews
Profile Image for Alex Ott.
Author 3 books207 followers
May 26, 2013
(Disclaimer: I've got this book from Packt Publishing for review - as one of Incanter's maintainers, I was interested how this package is described there).

The book itself is classical cookbook - there are different recipes, combined by common topics into chapters, but almost independent from each other. You can select any of them, and experiment with it. But book doesn't described theoretical foundations of corresponding examples - it only gives solution & explain how it works, but you can find more information by using links to additional information. Neither this book describes Clojure itself - you need to grab some other book for this, such as "Programming Clojure" or "Clojure Programming"

Book covers wide range of problems, starting with data import (from different sources & formats), cleanup. After that, author shows how performance of processing could be improved by different tricks, starting with basic type hints, and continue by using Clojure's primitives for concurrent programming (agents, STM, pmap, reducers, etc.). Separate chapter is dedicated to analysis of data using Cascalog - Clojure-based framework for data transformation & analysis.

Several chapters covers Incanter - from operations with datasets, to statistical analysis and charting - this information is enough to start to use Incanter for data analysis. Book describes latest version of Incanter - 1.4.1, although some information (such as import of data from SQL databases) will become outdated in Incanter 1.5.0 (I hope that it will be released soon).

Besides Incanter, book describes how to use Clojure together with other programs and libraries, such as Weka, Mathematica & R. And the last chapter of the book describes how you can create charts in web applications using Clojure web frameworks, Clojurescript & existing Javascript libraries for charting.

I can recommend this book if you're interested in data analysis, and have some experience/interest in Clojure.

I can't say that this is perfect book - there are some problems with code formatting, and in electronic version, URLs aren't clickable (that would be very useful when you want to read additional information. But overall impression from this book is very good.

I want to thank author, Eric Rochester, that he wrote such useful book.
Profile Image for Jake McCrary.
424 reviews25 followers
May 6, 2013
I spent the last week reading the Clojure Data Analysis Cookbook by Eric Rochester. As you may expect from the name, this book follows a traditional cookbook format. Each section presents a goal and then some code which achieves the goal.

The text covers a variety of data analysis topics. Some include reading data from files, machine learning, graphing, and interfacing with other analysis tools. I particularly enjoyed the section on lazily processing large data sets. I find this is an area of frustration for many and this should serve as a reference to point them towards.

The examples are fairly easy to follow. Many of the examples use `require` to alias dependent namespaces. I think this is key when presenting Clojure examples. Having to prefix calls to library functions causes them to stand out from uses of core Clojure functions. It also lets readers know from which library each function comes from. I would have liked to see all of the examples use `require` instead of `use` for pulling in dependencies because of the clarity it brings.

I do have a sort of nit-picky negative about this (in particular, the PDF I received from the Packt Publishing website) book. While the vast majority of the code examples were well formatted every once in a while one would be poorly formatted. Poorly formatted code in a book all about showing code is disappointing and interrupts the flow of reading a recipe. One example of this is found in the first step of chapter 3's "Combining agents and STM" recipe.


Recommendation:


Would I recommend getting this book? If any section in the table of contents sounds useful to you then yes, you should buy the book. It will be a useful reference.

Would I recommend reading this book front to back? Probably not. I would recommend reading sections that interest you and skimming others.

Just like a food cookbook's purpose (usually) isn't to teach you how to cook, this book will not teach you how to write Clojure. It will help you become better at specific tasks. It is best used as a reference.
87 reviews5 followers
March 20, 2014
I've read several Clojure Books (maybe just three... until now), and I've got to say that Eric Rochester 's book is the best book for the intrigued programmer by applying Clojure in the field of data analysis. This book is not for beginners in Clojure, but Eric Rochester takes the time to ilustrate the reader about more than one subtle (or new) theme in the use of Clojure language and to mention interesting resources for drill down the topics at first lance appears utterly impenetrable (or new), for example: Zippers, Cascalog, Bayesian Models, D3 library.

I still reading the book. Each recipe open a new window to learn a new tool, or a new "data analysis" theory, or approach with Clojure that deserve time investment and effort. I admire the effort on organization of knowlege and experience, verted in this book.

Recipes is the correct approach. It makes it a useful book. Eric Rochester shows you the tools, gives you examples and finally inspiration for doing an end to end solution with all tha you learn in the journey.

This is the best book for data analysis with the beautiful language Clojure. I suggest this book as a complement of the Nathan Marz's book for the readers interested in the promise and potential of the relation Clojure and Data.

If you want more, Eric Rochester is sharing it with their followers recipes that didn’t make it into the final book. You can find more interesting recipes in: http://www.ericrochester.com

I encourage Eric Rochester to do a second edition with all the material that leave behind the final edition of his book and the feedback of the readers.

There is a sample chapter on the PacktPub site:
http://www.packtpub.com/clojure-data-...
Profile Image for Louis.
226 reviews30 followers
August 20, 2014
This book is a good tutorial on data science using Clojure. It starts with working with data (access and cleaning up), then the various chapters cover a range of tasks from focusing on numeric computing (performance, parallel processing), statistics (Incanter and other numerical libraries), working with other numerical software (Mathematica and R), graphics, and the web. The topics are actually a fairly complete look at data science, so it feels more like a tutorial than a cookbook.

I found this to be a great text on working with data in Clojure. My background is in technical computing, mostly R and Python although I also use C, Java, and Fortran as needed. I've been dabbling in Clojure, but I had not made the jump from doing tutorials and exercises in Clojure to doing something for real. Working through this book has improved my skills in setting Clojure up and using it for real tasks. The book code also provides a nice example of good programming style (I think) that I can see myself trying to emulate.

A book on data science in is necessarily about the practical details of implementation, not about mathematical and statistical methods. Presumably, the reader has another source about the details of various statistical and machine learning methods that they can use to figure out what to do, then the Clojure and Incanter API documents tell you how to do it, and this book is about how to do the 80% of data science that is not about implementing the algorithm, but about how to manage the data, then work to communicate the results of the algorithm in understandable ways. This book is probably what gets me from dabbling in Clojure to being able to use Clojure for real tasks. Well done.
Displaying 1 - 4 of 4 reviews

Can't find what you're looking for?

Get help and learn more about the design.