guide-to-data-mining
guide-to-data-mining copied to clipboard
iPython Notebook of the Guide to Data Mining
#A Programmer's Guide to Data Mining ###The Ancient Art of the Numerati
Collection of iPython Notebooks of the Guide to Data Mining http://guidetodatamining.com/
##Welcome A guide to practical data mining, collective intelligence, and building recommendation systems by Ron Zacharski
![alt text][logo] [logo]: http://guidetodatamining.com/wp-content/uploads/2012/10/mozi.jpeg "Guide to Data Mining"
Before you is a tool for learning basic data mining techniques. Most data mining textbooks focus on providing a theoretical foundation for data mining, and as result, may seem notoriously difficult to understand. Don’t get me wrong, the information in those books is extremely important. However, if you are a programmer interested in learning a bit about data mining you might be interested in a beginner’s hands-on guide as a first step. That’s what this book provides.
This guide follows a learn-by-doing approach. Instead of passively reading the book, I encourage you to work through the exercises and experiment with the Python code I provide. I hope you will be actively involved in trying out and programming data mining techniques. The textbook is laid out as a series of small steps that build on each other until, by the time you complete the book, you have laid the foundation for understanding data mining techniques. This book is available for download for free under a Creative Commons license (see link in footer). You are free to share the book, and remix it. Someday I may offer a paper copy, but the online version will always be free.
##Table of Contents
This book’s contents are freely available as PDF files. When you click on a chapter title below, you will be taken to a webpage for that chapter. The page contains links for a PDF of that chapter and for any sample Python code and data that chapter requires. In addition, there is a space for you to add comments. Please let me know if you see an error in the book, if some part of the book is confusing, or if you have some other comment. I will use these comments to revise the chapters.
##Chapter 1: Introduction http://nbviewer.ipython.org/urls/raw.github.com/bigsnarfdude/guide-to-data-mining/master/Chapter-1-Guide-To-Data-Mining.ipynb
Finding out what data mining is and what problems it solves. What will you be able to do when you finish this book.
##Chapter 2: Get Started with Recommendation Systems http://nbviewer.ipython.org/urls/raw.github.com/bigsnarfdude/guide-to-data-mining/master/Chapter-2-Collaborative-Filtering.ipynb
Introduction to social filtering. Basic distance measures including Manhattan distance, Euclidean distance, and Minkowski distance. Pearson Correlation Coefficient. Implementing a basic algorithm in Python.
###Getting Started with Recommendation Systems
####Contents
How a recommendation system works. How social filtering works How to find similar items Manhattan distance Euclidean distance Minkowski distance Pearson Correlation Coefficient Cosine similarity implementing k-nearest neighbors in Python the Book Crossing dataset
##Chapter 3: Implicit ratings and item-based filtering http://nbviewer.ipython.org/urls/raw.github.com/bigsnarfdude/guide-to-data-mining/master/Chapter-3-Implicit-ratings-and-item-based-filtering.ipynb
This chapter starts with a discussion of the types of user ratings we can use. Users can explicitly give ratings (thumbs up, thumbs down, 5 stars, or whatever) or they can rate products implicitly–if they buy an mp3 from Amazon, we can view that purchase as a ‘like’ rating.
##Chapter 4: Classification
In the previous chapters I used people’s ratings of products to make recommendations. In this chapter I use attributes of the products themselves to make recommendations. This approach is used by Pandora among others.
##Chapter 5: Further Explorations in Classification
This chapter starts with a short description on how to evaluate classifiers. We look at kNN and Naïve Bayes classification methods.
##Chapter 6: Naïve Bayes and unstructured text
This chapter explores how we can use Naïve Bayes to classify unstructuted text. Can we classify twitter posts about a movie as to whether the post was a positive review or a negative one?
##Chapter 7: Clustering
Forthcoming.
http://guidetodatamining.com/guide/ch1/DataMining-ch1.pdf http://guidetodatamining.com/guide/ch2/DataMining-ch2.pdf http://guidetodatamining.com/guide/ch3/DataMining-ch3.pdf http://guidetodatamining.com/guide/ch4/DataMining-ch4.pdf http://guidetodatamining.com/guide/ch5/DataMining-ch5.pdf http://guidetodatamining.com/guide/ch6/DataMining-ch6.pdf
###Acknowledgements
I would like to acknowledge the following people who read through previous drafts and offered corrections and suggestions:
Renee Cardigan Matt Martin Zwe Maung Christopher Randles Amy Sams Jessica White Deng Wu Erin Wuepper