python-machine-learning-book README

The project's README from github.com/rasbt/python-machine-learning-book. As one markdown file: README.md.

Python Machine Learning book code repository

Google Group


IMPORTANT NOTE (09/21/2017):

This GitHub repository contains the code examples of the 1st Edition of Python Machine Learning book. If you are looking for the code examples of the 2nd Edition, please refer to this repository instead.


What you can expect are 400 pages rich in useful material just about everything you need to know to get started with machine learning ... from theory to the actual code that you can directly put into action! This is not yet just another "this is how scikit-learn works" book. I aim to explain all the underlying concepts, tell you everything you need to know in terms of best practices and caveats, and we will put those concepts into action mainly using NumPy, scikit-learn, and Theano.

You are not sure if this book is for you? Please checkout the excerpts from the Foreword and Preface, or take a look at the FAQ section for further information.


1st edition, published September 23rd 2015
Paperback: 454 pages
Publisher: Packt Publishing

Language: English
ISBN-10: 1783555130

ISBN-13: 978-1783555130
Kindle ASIN: B00YSILNL0



German ISBN-13: 978-3958454224
Japanese ISBN-13: 978-4844380603
Italian ISBN-13: 978-8850333974
Chinese (traditional) ISBN-13: 978-9864341405
Chinese (mainland) ISBN-13: 978-7111558804
Korean ISBN-13: 979-1187497035
Russian ISBN-13: 978-5970604090

Table of Contents and Code Notebooks

Simply click on the ipynb/nbviewer links next to the chapter headlines to view the code examples (currently, the internal document links are only supported by the NbViewer version). Please note that these are just the code examples accompanying the book, which I uploaded for your convenience; be aware that these notebooks may not be useful without the formulae and descriptive text.


  1. Machine Learning - Giving Computers the Ability to Learn from Data [dir] [ipynb] [nbviewer]
  2. Training Machine Learning Algorithms for Classification [dir] [ipynb] [nbviewer]
  3. A Tour of Machine Learning Classifiers Using Scikit-Learn [dir] [ipynb] [nbviewer]
  4. Building Good Training Sets – Data Pre-Processing [dir] [ipynb] [nbviewer]
  5. Compressing Data via Dimensionality Reduction [dir] [ipynb] [nbviewer]
  6. Learning Best Practices for Model Evaluation and Hyperparameter Optimization [dir] [ipynb] [nbviewer]
  7. Combining Different Models for Ensemble Learning [dir] [ipynb] [nbviewer]
  8. Applying Machine Learning to Sentiment Analysis [dir] [ipynb] [nbviewer]
  9. Embedding a Machine Learning Model into a Web Application [dir] [ipynb] [nbviewer]
  10. Predicting Continuous Target Variables with Regression Analysis [dir] [ipynb] [nbviewer]
  11. Working with Unlabeled Data – Clustering Analysis [dir] [ipynb] [nbviewer]
  12. Training Artificial Neural Networks for Image Recognition [dir] [ipynb] [nbviewer]
  13. Parallelizing Neural Network Training via Theano [dir] [ipynb] [nbviewer]

Equation Reference

[PDF] [TEX]

Slides for Teaching

A big thanks to Dmitriy Dligach for sharing his slides from his machine learning course that is currently offered at Loyola University Chicago.

Additional Math and NumPy Resources

Some readers were asking about Math and NumPy primers, since they were not included due to length limitations. However, I recently put together such resources for another book, but I made these chapters freely available online in hope that they also serve as helpful background material for this book:


Citing this Book

You are very welcome to re-use the code snippets or other contents from this book in scientific publications and other works; in this case, I would appreciate citations to the original source:

BibTeX:

@Book{raschka2015python,
 author = {Raschka, Sebastian},
 title = {Python Machine Learning},
 publisher = {Packt Publishing},
 year = {2015},
 address = {Birmingham, UK},
 isbn = {1783555130}
 }

MLA:

Raschka, Sebastian. Python machine learning. Birmingham, UK: Packt Publishing, 2015. Print.


Feedback & Reviews

Short review snippets


Sebastian Raschka’s new book, Python Machine Learning, has just been released. I got a chance to read a review copy and it’s just as I expected - really great! It’s well organized, super easy to follow, and it not only offers a good foundation for smart, non-experts, practitioners will get some ideas and learn new tricks here as well.
– Lon Riesberg at Data Elixir

Superb job! Thus far, for me it seems to have hit the right balance of theory and practice…math and code!
– Brian Thomas

I've read (virtually) every Machine Learning title based around Scikit-learn and this is hands-down the best one out there.
– Jason Wolosonovich

The best book I've seen to come out of PACKT Publishing. This is a very well written introduction to machine learning with Python. As others have noted, a perfect mixture of theory and application.
– Josh D.

A book with a blend of qualities that is hard to come by: combines the needed mathematics to control the theory with the applied coding in Python. Also great to see it doesn't waste paper in giving a primer on Python as many other books do just to appeal to the greater audience. You can tell it's been written by knowledgeable writers and not just DIY geeks.
– Amazon Customer

Sebastian Raschka created an amazing machine learning tutorial which combines theory with practice. The book explains machine learning from a theoretical perspective and has tons of coded examples to show how you would actually use the machine learning technique. It can be read by a beginner or advanced programmer.

Longer reviews

If you need help to decide whether this book is for you, check out some of the "longer" reviews linked below. (If you wrote a review, please let me know, and I'd be happy to add it to the list).


Translations


Literature References & Further Reading Resources

Errata


Bonus Notebooks (not in the book)


"Related Content" (not in the book)


SciPy 2016

We had such a great time at SciPy 2016 in Austin! It was a real pleasure to meet and chat with so many readers of my book. Thanks so much for all the nice words and feedback! And in case you missed it, Andreas Mueller and I gave an Introduction to Machine Learning with Scikit-learn; if you are interested, the video recordings of Part I and Part II are now online!

PyData Chicago 2016

I attempted the rather challenging task of introducing scikit-learn & machine learning in just 90 minutes at PyData Chicago 2016. The slides and tutorial material are available at "Learning scikit-learn -- An Introduction to Machine Learning in Python."


Note

I have set up a separate library, mlxtend, containing additional implementations of machine learning (and general "data science") algorithms. I also added implementations from this book (for example, the decision region plot, the artificial neural network, and sequential feature selection algorithms) with additional functionality.



Translations



Dear readers,
first of all, I want to thank all of you for the great support! I am really happy about all the great feedback you sent me so far, and I am glad that the book has been so useful to a broad audience.

Over the last couple of months, I received hundreds of emails, and I tried to answer as many as possible in the available time I have. To make them useful to other readers as well, I collected many of my answers in the FAQ section (below).

In addition, some of you asked me about a platform for readers to discuss the contents of the book. I hope that this would provide an opportunity for you to discuss and share your knowledge with other readers:

Google Groups Discussion Board

(And I will try my best to answer questions myself if time allows! :))

The only thing to do with good advice is to pass it on. It is never of any use to oneself.
— Oscar Wilde


Examples and Applications by Readers

Once again, I have to say (big!) THANKS for all the nice feedback about the book. I've received many emails from readers, who put the concepts and examples from this book out into the real world and make good use of them in their projects. In this section, I am starting to gather some of these great applications, and I'd be more than happy to add your project to this list -- just shoot me a quick mail!

FAQ

General Questions

Questions about the Machine Learning Field

Questions about ML Concepts and Statistics

Cost Functions and Optimization
Regression Analysis
Tree models
Model evaluation
Logistic Regression
Neural Networks and Deep Learning
Other Algorithms for Supervised Learning
Unsupervised Learning
Semi-Supervised Learning
Ensemble Methods
Preprocessing, Feature Selection and Extraction
Naive Bayes
Other
Programming Languages and Libraries for Data Science and Machine Learning

Questions about the Book

Contact

I am happy to answer questions! Just write me an email or consider asking the question on the Google Groups Email List.

If you are interested in keeping in touch, I have quite a lively twitter stream (@rasbt) all about data science and machine learning. I also maintain a blog where I post all of the things I am particularly excited about.

python-machine-learning-book (rasbt/python-machine-learning-book)

Searching Database…

这是什么?这是塞巴斯蒂安·拉施卡(Sebastian Raschka)所著《Python 机器学习》第一版的官方代码仓库,由 Packt 出版社于 2015 年出版。仓库中包含 Jupyter 笔记本,收录了书中 13 个章节的全部代码示例,内容从基础分类器一直到神经网络。
这是完整的书,还是只有代码片段?只有代码示例,不包含书的正文。笔记本是配合纸质版或电子版使用的,其中引用的公式和解释都在书中,而不在本仓库里。
怎样查看或运行这些代码示例?点击目录中每个章节标题旁边的 ipynb 或 nbviewer 链接,即可直接在浏览器中打开该章节的笔记本;也可以克隆仓库,然后在本地用 Jupyter 打开 .ipynb 文件。
这些示例依赖哪些库?大部分章节主要依赖 NumPy 和 scikit-learn;神经网络相关章节(讲解深度学习模型的训练与并行化)还需要 Theano。
这是这本书的最新版吗?不是。本仓库停留在第一版(2015 年)。第二版的代码另有独立仓库,如果你需要最新内容,应使用第二版的仓库。
这本书逐章讲了哪些主题?13 个章节从基础机器学习分类器和数据预处理讲起,依次涵盖降维、模型评估、集成学习、情感分析、回归、聚类,最后讲解如何用 Theano 训练人工神经网络并进行并行化。
书中印刷版没有的额外笔记本有吗?有。附加的笔记本包括:从零实现的逻辑回归、网格搜索流水线、嵌套交叉验证,以及用于部署模型的简易 Flask 网页应用模板。
有没有包含更多机器学习实现的配套库?作者维护着一个名为 'mlxtend' 的独立软件包,其中收录了更多机器学习和数据科学的实现,其中一些是对本书中代码的扩展。
这本书适合谁读?README 中引用的书评称,它既适合机器学习初学者阅读,也适合有经验的程序员阅读,因为它将理论与 NumPy、scikit-learn 的实际代码相结合,并不预设读者已具备 Python 或统计学基础。
Creator
rasbt
Size
156.1 MB
Stars
12.7K
Age
11y
Commits · 90 Days