chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:38:23 +08:00
commit 2725b63d23
700 changed files with 53581 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.
File diff suppressed because it is too large Load Diff
+189
View File
@@ -0,0 +1,189 @@
\contentsline {chapter}{\numberline {1}Giving Computers the Ability to Learn from Data}{7}{chapter.1}
\contentsline {section}{\numberline {1.1}Building intelligent machines to transform data into knowledge}{8}{section.1.1}
\contentsline {section}{\numberline {1.2}The three different types of machine learning}{8}{section.1.2}
\contentsline {section}{\numberline {1.3}Making predictions about the future with supervised learning}{8}{section.1.3}
\contentsline {subsection}{\numberline {1.3.1}Classification for predicting class labels}{8}{subsection.1.3.1}
\contentsline {subsection}{\numberline {1.3.2}Regression for predicting continuous outcomes}{8}{subsection.1.3.2}
\contentsline {section}{\numberline {1.4}Solving interactive problems with reinforcement learning}{8}{section.1.4}
\contentsline {section}{\numberline {1.5}Discovering hidden structures with unsupervised learning}{8}{section.1.5}
\contentsline {subsection}{\numberline {1.5.1}Finding subgroups with clustering}{8}{subsection.1.5.1}
\contentsline {subsection}{\numberline {1.5.2}Dimensionality reduction for data compression}{8}{subsection.1.5.2}
\contentsline {section}{\numberline {1.6}An introduction to the basic terminology and notations}{8}{section.1.6}
\contentsline {section}{\numberline {1.7}A roadmap for building machine learning systems}{10}{section.1.7}
\contentsline {subsection}{\numberline {1.7.1}Preprocessing -- getting data into shape}{10}{subsection.1.7.1}
\contentsline {subsection}{\numberline {1.7.2}Training and selecting a predictive model}{10}{subsection.1.7.2}
\contentsline {subsection}{\numberline {1.7.3}Evaluating models and predicting unseen data instances}{10}{subsection.1.7.3}
\contentsline {section}{\numberline {1.8}Using Python for machine learning}{10}{section.1.8}
\contentsline {subsection}{\numberline {1.8.1}Installing Python packages}{10}{subsection.1.8.1}
\contentsline {section}{\numberline {1.9}Summary}{10}{section.1.9}
\contentsline {chapter}{\numberline {2}Training Machine Learning Algorithms for Classification}{11}{chapter.2}
\contentsline {section}{\numberline {2.1}Artificial neurons -- a brief glimpse into the early history of machine learning}{11}{section.2.1}
\contentsline {section}{\numberline {2.2}Implementing a perceptron learning algorithm in Python}{14}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}Training a perceptron model on the Iris dataset}{14}{subsection.2.2.1}
\contentsline {section}{\numberline {2.3}Adaptive linear neurons and the convergence of learning}{14}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}Minimizing cost functions with gradient descent}{14}{subsection.2.3.1}
\contentsline {subsection}{\numberline {2.3.2}Implementing an Adaptive Linear Neuron in Python}{15}{subsection.2.3.2}
\contentsline {subsection}{\numberline {2.3.3}Large scale machine learning and stochastic gradient descent}{16}{subsection.2.3.3}
\contentsline {section}{\numberline {2.4}Summary}{16}{section.2.4}
\contentsline {chapter}{\numberline {3}A Tour of Machine Learning Classifiers Using Scikit-learn}{17}{chapter.3}
\contentsline {section}{\numberline {3.1}Choosing a classification algorithm}{17}{section.3.1}
\contentsline {section}{\numberline {3.2}First steps with scikit-learn}{17}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Training a perceptron via scikit-learn}{17}{subsection.3.2.1}
\contentsline {section}{\numberline {3.3}Modeling class probabilities via logistic regression}{17}{section.3.3}
\contentsline {subsection}{\numberline {3.3.1}Logistic regression intuition and conditional probabilities}{17}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}Learning the weights of the logistic cost function}{18}{subsection.3.3.2}
\contentsline {subsection}{\numberline {3.3.3}Training a logistic regression model with scikit-learn}{19}{subsection.3.3.3}
\contentsline {subsection}{\numberline {3.3.4}Tackling overfitting via regularization}{21}{subsection.3.3.4}
\contentsline {section}{\numberline {3.4}Maximum margin classification with support vector machines}{22}{section.3.4}
\contentsline {subsection}{\numberline {3.4.1}Maximum margin intuition}{22}{subsection.3.4.1}
\contentsline {subsection}{\numberline {3.4.2}Dealing with the nonlinearly separable case using slack variables}{23}{subsection.3.4.2}
\contentsline {subsection}{\numberline {3.4.3}Alternative implementations in scikit-learn}{23}{subsection.3.4.3}
\contentsline {section}{\numberline {3.5}Solving nonlinear problems using a kernel SVM}{23}{section.3.5}
\contentsline {subsection}{\numberline {3.5.1}Using the kernel trick to find separating hyperplanes in higher dimensional space}{23}{subsection.3.5.1}
\contentsline {section}{\numberline {3.6}Decision tree learning}{24}{section.3.6}
\contentsline {subsection}{\numberline {3.6.1}Maximizing information gain -- getting the most bang for the buck}{25}{subsection.3.6.1}
\contentsline {subsection}{\numberline {3.6.2}Building a decision tree}{25}{subsection.3.6.2}
\contentsline {subsection}{\numberline {3.6.3}Combining weak to strong learners via random forests}{25}{subsection.3.6.3}
\contentsline {section}{\numberline {3.7}K-nearest neighbors -- a lazy learning algorithm}{25}{section.3.7}
\contentsline {section}{\numberline {3.8}Summary}{25}{section.3.8}
\contentsline {chapter}{\numberline {4}Building Good Training Sets -- Data Pre-Processing}{26}{chapter.4}
\contentsline {section}{\numberline {4.1}Dealing with missing data}{26}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}Eliminating samples or features with missing values}{26}{subsection.4.1.1}
\contentsline {subsection}{\numberline {4.1.2}Imputing missing values}{26}{subsection.4.1.2}
\contentsline {subsection}{\numberline {4.1.3}Understanding the scikit-learn estimator API}{26}{subsection.4.1.3}
\contentsline {section}{\numberline {4.2}Handling categorical data}{26}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}Mapping ordinal features}{26}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}Encoding class labels}{26}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}Performing one-hot encoding on nominal features}{26}{subsection.4.2.3}
\contentsline {section}{\numberline {4.3}Partitioning a dataset in training and test sets}{26}{section.4.3}
\contentsline {section}{\numberline {4.4}Bringing features onto the same scale}{26}{section.4.4}
\contentsline {section}{\numberline {4.5}Selecting meaningful features}{27}{section.4.5}
\contentsline {subsection}{\numberline {4.5.1}Sparse solutions with L1 regularization}{27}{subsection.4.5.1}
\contentsline {subsection}{\numberline {4.5.2}Sequential feature selection algorithms}{27}{subsection.4.5.2}
\contentsline {section}{\numberline {4.6}Assessing feature importance with random forests}{28}{section.4.6}
\contentsline {section}{\numberline {4.7}Summary}{28}{section.4.7}
\contentsline {chapter}{\numberline {5}Compressing Data via Dimensionality Reduction}{29}{chapter.5}
\contentsline {section}{\numberline {5.1}Unsupervised dimensionality reduction via principal component analysis}{29}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}Total and explained variance}{30}{subsection.5.1.1}
\contentsline {subsection}{\numberline {5.1.2}Feature transformation}{30}{subsection.5.1.2}
\contentsline {subsection}{\numberline {5.1.3}Principal component analysis in scikit-learn}{31}{subsection.5.1.3}
\contentsline {section}{\numberline {5.2}Supervised data compression via linear discriminant analysis}{31}{section.5.2}
\contentsline {subsection}{\numberline {5.2.1}Computing the scatter matrices}{31}{subsection.5.2.1}
\contentsline {subsection}{\numberline {5.2.2}Selecting linear discriminants for the new feature subspace}{32}{subsection.5.2.2}
\contentsline {subsection}{\numberline {5.2.3}Projecting samples onto the new feature space}{32}{subsection.5.2.3}
\contentsline {subsection}{\numberline {5.2.4}LDA via scikit-learn}{32}{subsection.5.2.4}
\contentsline {section}{\numberline {5.3}Using kernel principal component analysis for nonlinear mappings}{32}{section.5.3}
\contentsline {subsection}{\numberline {5.3.1}Kernel functions and the kernel trick}{32}{subsection.5.3.1}
\contentsline {subsection}{\numberline {5.3.2}Implementing a kernel principal component analysis in Python}{34}{subsection.5.3.2}
\contentsline {subsubsection}{Example 1 -- separating half-moon shapes}{36}{section*.2}
\contentsline {subsubsection}{Example 2 -- separating concentric circles}{36}{section*.3}
\contentsline {subsection}{\numberline {5.3.3}Projecting new data points}{36}{subsection.5.3.3}
\contentsline {subsection}{\numberline {5.3.4}Kernel principal component analysis in scikit-learn}{36}{subsection.5.3.4}
\contentsline {section}{\numberline {5.4}Summary}{36}{section.5.4}
\contentsline {chapter}{\numberline {6}Learning Best Practices for Model Evaluation and Hyperparameter Tuning}{37}{chapter.6}
\contentsline {section}{\numberline {6.1}Streamlining workflows with pipelines}{37}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}Loading the Breast Cancer Wisconsin dataset}{37}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}Combining transformers and estimators in a pipeline}{37}{subsection.6.1.2}
\contentsline {section}{\numberline {6.2}Using k-fold cross-validation to assess model performance}{37}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}The holdout method}{37}{subsection.6.2.1}
\contentsline {subsection}{\numberline {6.2.2}K-fold cross-validation}{37}{subsection.6.2.2}
\contentsline {section}{\numberline {6.3}Debugging algorithms with learning and validation curves}{37}{section.6.3}
\contentsline {subsection}{\numberline {6.3.1}Diagnosing bias and variance problems with learning curves}{37}{subsection.6.3.1}
\contentsline {subsection}{\numberline {6.3.2}Addressing overfitting and underfitting with validation curves}{37}{subsection.6.3.2}
\contentsline {section}{\numberline {6.4}Fine-tuning machine learning models via grid search}{38}{section.6.4}
\contentsline {subsection}{\numberline {6.4.1}Tuning hyperparameters via grid search}{38}{subsection.6.4.1}
\contentsline {subsection}{\numberline {6.4.2}Algorithm selection with nested cross-validation}{38}{subsection.6.4.2}
\contentsline {section}{\numberline {6.5}Looking at different performance evaluation metrics}{38}{section.6.5}
\contentsline {subsection}{\numberline {6.5.1}Reading a confusion matrix}{38}{subsection.6.5.1}
\contentsline {subsection}{\numberline {6.5.2}Optimizing the precision and recall of a classification model}{38}{subsection.6.5.2}
\contentsline {subsection}{\numberline {6.5.3}Plotting a receiver operating characteristic}{39}{subsection.6.5.3}
\contentsline {subsection}{\numberline {6.5.4}The scoring metrics for multiclass classification}{39}{subsection.6.5.4}
\contentsline {section}{\numberline {6.6}Summary}{39}{section.6.6}
\contentsline {chapter}{\numberline {7}Combining Different Models for Ensemble Learning}{40}{chapter.7}
\contentsline {section}{\numberline {7.1}Learning with ensembles}{40}{section.7.1}
\contentsline {section}{\numberline {7.2}Implementing a simple majority vote classifier}{41}{section.7.2}
\contentsline {subsection}{\numberline {7.2.1}Combining different algorithms for classification with majority vote}{42}{subsection.7.2.1}
\contentsline {section}{\numberline {7.3}Evaluating and tuning the ensemble classifier}{42}{section.7.3}
\contentsline {section}{\numberline {7.4}Bagging -- building an ensemble of classifiers from bootstrap samples}{42}{section.7.4}
\contentsline {section}{\numberline {7.5}Leveraging weak learners via adaptive boosting}{42}{section.7.5}
\contentsline {section}{\numberline {7.6}Summary}{44}{section.7.6}
\contentsline {chapter}{\numberline {8}Applying Machine Learning to Sentiment Analysis}{45}{chapter.8}
\contentsline {section}{\numberline {8.1}Obtaining the IMDb movie review dataset}{45}{section.8.1}
\contentsline {section}{\numberline {8.2}Introducing the bag-of-words model}{45}{section.8.2}
\contentsline {subsection}{\numberline {8.2.1}Transforming words into feature vectors}{45}{subsection.8.2.1}
\contentsline {subsection}{\numberline {8.2.2}Assessing word relevancy via term frequency-inverse document frequency}{45}{subsection.8.2.2}
\contentsline {subsection}{\numberline {8.2.3}Cleaning text data}{46}{subsection.8.2.3}
\contentsline {subsection}{\numberline {8.2.4}Processing documents into tokens}{46}{subsection.8.2.4}
\contentsline {section}{\numberline {8.3}Training a logistic regression model for document classification}{46}{section.8.3}
\contentsline {section}{\numberline {8.4}Working with bigger data - online algorithms and out-of-core learning}{46}{section.8.4}
\contentsline {section}{\numberline {8.5}Summary}{46}{section.8.5}
\contentsline {chapter}{\numberline {9}Embedding a Machine Learning Model into a Web Application}{47}{chapter.9}
\contentsline {section}{\numberline {9.1}Chapter 8 recap - Training a model for movie review classification}{47}{section.9.1}
\contentsline {section}{\numberline {9.2}Serializing fitted scikit-learn estimators}{47}{section.9.2}
\contentsline {section}{\numberline {9.3}Setting up a SQLite database for data storage Developing a web application with Flask}{47}{section.9.3}
\contentsline {section}{\numberline {9.4}Our first Flask web application}{47}{section.9.4}
\contentsline {subsection}{\numberline {9.4.1}Form validation and rendering}{47}{subsection.9.4.1}
\contentsline {subsection}{\numberline {9.4.2}Turning the movie classifier into a web application}{47}{subsection.9.4.2}
\contentsline {section}{\numberline {9.5}Deploying the web application to a public server}{47}{section.9.5}
\contentsline {subsection}{\numberline {9.5.1}Updating the movie review classifier}{47}{subsection.9.5.1}
\contentsline {section}{\numberline {9.6}Summary}{47}{section.9.6}
\contentsline {chapter}{\numberline {10}Predicting Continuous Target Variables with Regression Analysis}{48}{chapter.10}
\contentsline {section}{\numberline {10.1}Introducing a simple linear regression model}{48}{section.10.1}
\contentsline {section}{\numberline {10.2}Exploring the Housing Dataset}{48}{section.10.2}
\contentsline {subsection}{\numberline {10.2.1}Visualizing the important characteristics of a dataset}{48}{subsection.10.2.1}
\contentsline {section}{\numberline {10.3}Implementing an ordinary least squares linear regression model}{50}{section.10.3}
\contentsline {subsection}{\numberline {10.3.1}Solving regression for regression parameters with gradient descent}{50}{subsection.10.3.1}
\contentsline {subsection}{\numberline {10.3.2}Estimating the coefficient of a regression model via scikit-learn}{50}{subsection.10.3.2}
\contentsline {section}{\numberline {10.4}Fitting a robust regression model using RANSAC}{50}{section.10.4}
\contentsline {section}{\numberline {10.5}Evaluating the performance of linear regression models}{50}{section.10.5}
\contentsline {section}{\numberline {10.6}Using regularized methods for regression}{51}{section.10.6}
\contentsline {section}{\numberline {10.7}Turning a linear regression model into a curve - polynomial regression}{52}{section.10.7}
\contentsline {subsection}{\numberline {10.7.1}Modeling nonlinear relationships in the Housing Dataset}{52}{subsection.10.7.1}
\contentsline {subsection}{\numberline {10.7.2}Dealing with nonlinear relationships using random forests}{52}{subsection.10.7.2}
\contentsline {subsubsection}{Decision tree regression}{52}{section*.5}
\contentsline {subsubsection}{Random forest regression}{53}{section*.6}
\contentsline {section}{\numberline {10.8}Summary}{53}{section.10.8}
\contentsline {chapter}{\numberline {11}Working with Unlabeled Data -- Clustering Analysis}{54}{chapter.11}
\contentsline {section}{\numberline {11.1}Grouping objects by similarity using k-means}{54}{section.11.1}
\contentsline {subsection}{\numberline {11.1.1}K-means++}{55}{subsection.11.1.1}
\contentsline {subsection}{\numberline {11.1.2}Hard versus soft clustering}{55}{subsection.11.1.2}
\contentsline {subsection}{\numberline {11.1.3}Using the elbow method to find the optimal number of clusters}{57}{subsection.11.1.3}
\contentsline {subsection}{\numberline {11.1.4}Quantifying the quality of clustering via silhouette plots}{57}{subsection.11.1.4}
\contentsline {section}{\numberline {11.2}Organizing clusters as a hierarchical tree}{57}{section.11.2}
\contentsline {subsection}{\numberline {11.2.1}Performing hierarchical clustering on a distance matrix}{57}{subsection.11.2.1}
\contentsline {subsection}{\numberline {11.2.2}Attaching dendrograms to a heat map}{57}{subsection.11.2.2}
\contentsline {subsection}{\numberline {11.2.3}Applying agglomerative clustering via scikit-learn}{57}{subsection.11.2.3}
\contentsline {section}{\numberline {11.3}Locating regions of high density via DBSCAN}{57}{section.11.3}
\contentsline {section}{\numberline {11.4}Summary}{58}{section.11.4}
\contentsline {chapter}{\numberline {12}Training Artificial Neural Networks for Image Recognition}{59}{chapter.12}
\contentsline {section}{\numberline {12.1}Modeling complex functions with artificial neural networks}{59}{section.12.1}
\contentsline {subsection}{\numberline {12.1.1}Single-layer neural network recap}{59}{subsection.12.1.1}
\contentsline {subsection}{\numberline {12.1.2}Introducing the multi-layer neural network architecture}{60}{subsection.12.1.2}
\contentsline {subsection}{\numberline {12.1.3}Activating a neural network via forward propagation}{61}{subsection.12.1.3}
\contentsline {section}{\numberline {12.2}Classifying handwritten digits}{62}{section.12.2}
\contentsline {subsection}{\numberline {12.2.1}Obtaining the MNIST dataset}{62}{subsection.12.2.1}
\contentsline {subsection}{\numberline {12.2.2}Implementing a multi-layer perceptron}{62}{subsection.12.2.2}
\contentsline {section}{\numberline {12.3}Training an artificial neural network}{63}{section.12.3}
\contentsline {subsection}{\numberline {12.3.1}Computing the logistic cost function}{63}{subsection.12.3.1}
\contentsline {subsection}{\numberline {12.3.2}Training neural networks via backpropagation}{64}{subsection.12.3.2}
\contentsline {section}{\numberline {12.4}Developing your intuition for backpropagation}{66}{section.12.4}
\contentsline {section}{\numberline {12.5}Debugging neural networks with gradient checking}{66}{section.12.5}
\contentsline {section}{\numberline {12.6}Convergence in neural networks}{68}{section.12.6}
\contentsline {section}{\numberline {12.7}Other neural network architectures}{68}{section.12.7}
\contentsline {subsection}{\numberline {12.7.1}Convolutional Neural Networks}{68}{subsection.12.7.1}
\contentsline {subsection}{\numberline {12.7.2}Recurrent Neural Networks}{68}{subsection.12.7.2}
\contentsline {section}{\numberline {12.8}A few last words about neural network implementation}{68}{section.12.8}
\contentsline {section}{\numberline {12.9}Summary}{68}{section.12.9}
\contentsline {chapter}{\numberline {13}Parallelizing Neural Network Training with Theano}{69}{chapter.13}
\contentsline {section}{\numberline {13.1}Building, compiling, and running expressions with Theano}{69}{section.13.1}
\contentsline {subsection}{\numberline {13.1.1}What is Theano?}{69}{subsection.13.1.1}
\contentsline {subsection}{\numberline {13.1.2}First steps with Theano}{69}{subsection.13.1.2}
\contentsline {subsection}{\numberline {13.1.3}Configuring Theano}{69}{subsection.13.1.3}
\contentsline {subsection}{\numberline {13.1.4}Working with array structures}{69}{subsection.13.1.4}
\contentsline {subsection}{\numberline {13.1.5}Wrapping things up -- a linear regression example}{69}{subsection.13.1.5}
\contentsline {section}{\numberline {13.2}Choosing activation functions for feedforward neural networks}{69}{section.13.2}
\contentsline {subsection}{\numberline {13.2.1}Logistic function recap}{69}{subsection.13.2.1}
\contentsline {subsection}{\numberline {13.2.2}Estimating probabilities in multi-class classification via the softmax function}{70}{subsection.13.2.2}
\contentsline {subsection}{\numberline {13.2.3}Broadening the output spectrum by using a hyperbolic tangent}{70}{subsection.13.2.3}
\contentsline {section}{\numberline {13.3}Training neural networks efficiently using Keras}{70}{section.13.3}
\contentsline {section}{\numberline {13.4}Summary}{70}{section.13.4}
+155
View File
@@ -0,0 +1,155 @@
The *Known Errors* Leaderboard
========================
I tried my best to cut all the little typos, errors, and formatting bugs that slipped through the copy editing stage. Even so, I think it is just human to have a little typo here and there in a first edition. I know that this can be annoying as a reader, and I was thinking to associate it with something positive. Let's have a little leaderboard (inspired by Donald Knuth's "[Known Errors in My Books](http://www-cs-faculty.stanford.edu/~uno/books.html)").
**Every error that is not listed in the *Errata* yet will be rewarded with $1.**
The only catch here is that you won't receive any single cent. Instead, I am going to donate the amount to [UNICEF USA](http://www.unicefusa.org), the US branch of the United Nations agency for raising funds to provide emergency food and healthcare for children in developing countries.
I would be happy if you just write me a short [mail](mailto:mail@sebastianraschka.com) including the error and page number, and please let me know if you want to be listed on the public leaderboard.
## Donations
- Current amount for the next donation: $7.00
- Amount donated to charity:
- [$39.00 2016-04-07](./2016-04-07-unicef.pdf)
- [$76.00 2016-03-03](./2016-03-03-unicef.pdf)
- [$50.00 2016-11-10](./2016-11-10-commoncause.png)
## Leaderboard
1. Jeremy N. ($40.00)
1. Ryan S. ($24.00)
2. Claude C. ($11.00)
2. Christopher Galpin ($8.00)
18. David C. ($6.00)
2. Edgar C. ($5.00)
27. Jozef Genzor ($5.00)
3. S.R. ($4.00)
3. Will P. ($4.00)
3. Ignacio A. ($4.00)
4. Joseph Gordon ($3.00)
6. Ilmo S. ($3.00)
7. Hyun L. ($3.00)
5. Ailin M. ($2.00)
8. T.S. Jayram ($2.00)
9. Andrei R. ($2.00)
10. Panos N. ($2.00)
19. F. Liu ($2.00)
20. Stefan P. ($2.00)
32. Adam S. ($2.00)
33. Harry Hummel ($2.00)
11. Elias R. ($1.00)
12. Haitham H. Saleh ($1.00)
13. Muqueet M. ($1.00)
14. Renato R. ($1.00)
15. Michael L. ($1.00)
16. Olaf R. ($1.00)
17. Neeraj K. ($1.00)
18. Dan I. ($1.00)
19. Evan Colvin ($1.00)
21. Dominik S. ($1.00)
22. Andrei R. ($1.00)
23. Richard L. ($1.00)
24. Justin H. ($1.00)
25. Neeraj K. ($1.00)
26. Attila B. ($1.00)
27. Simon C. ($1.00)
28. Andrew R. ($1.00)
29. Haesun P. ($1.00)
30. Raga M. ($1.00)
31. Ryszard T. Kaleta ($1.00)
32. Baiyu Z. ($1.00)
...
# Errata
**I am really sorry about you seeing many typos up in the equations so far. Unfortunately, the layout team needed to retype the equations for compatibility reasons. There were a lot of typos introduced during this process, and I tried my very best to eliminate all of these by comparing the pre-finals against my draft. Cross-comparing 450 pages was a tedious task, and it appears that several typos slipped through, so if you see something that does not make quite sense to you, please let me know.**
**Note**
Due to the large file sizes of the PDFs, I moved the errata documents to an external source to keep this GitHub repository reasonably slim. For similar reasons, I decided to split the errata into 2 parts, a "technical" errata and a "language" errata.
### Current Errata:
**How can I tell if I have the initial or updated version of the book?**
This time, the easiest way may be to go to page 6 in chapter 1. Finally, the labeling in the *reinforcement learning* figure should be correct!
![](./images/errata/errata_2016-04-22.jpg)
#### [Technical Errata PDF v.3](http://sebastianraschka.com/pdf/books/pymle/errata_3rd_technical.pdf)
#### [Language Errata PDF v.3](http://sebastianraschka.com/pdf/books/pymle/errata_3rd_language.pdf)
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
### Old Errata: Oct 25, 2015 - Apr 22, 2016
#### [Technical Errata PDF v.2](http://sebastianraschka.com/pdf/books/pymle/errata_2nd_technical.pdf)
#### [Language Errata PDF v.2](http://sebastianraschka.com/pdf/books/pymle/errata_2nd_language.pdf)
(Left-click to view it in the browser; right-click for select a direct download option from the context menu.)
**E-book Update (2015-10-20):**
Good news! I just heard back from the publisher; all the typos and errors which are listed below will be fixed by next week. If you bought the book via Packt, you'd just need to re-download the book. I hope that the updates will also be reflected in the Amazon Kindle version. If not, please contact me, and I'll be happy to make an arrangement with the publisher so that you'll get the updated e-book.
I am really sorry about the inconvenience, and I really there weren't any errors in the first place. As Alexander Pope once said:
> *to err is human; to forgive, divine*
I really hope you can overlook these little mishaps, but please do look over the errata, since I really don't want these typos to become misleading!
**How can I tell if I have the initial or updated version of the book?**
The easiest way may be to go to page viii, the second page of the **Preface**. If you see *Classifiers* spelled as *Classifirs*, that's definitely an old version then!
![](./images/errata/errata_2015-10-20.png)
---
### Old Errata: Sep 23 - Oct 25, 2015
I converted the errata into a PDF document where I highlighted the errors and inserted the corrections as they appear in the book as many readers suggested. Please find the PDF version of the errata below.
Thanks so much for your feedback so far, I truly appreciate it and will do my best to get this fixed as soon as possible!
**Note**
Due to the large file sizes of the PDFs, I moved the errata documents to an external source to keep this GitHub repository reasonably slim.
#### [Technical Errata PDF v.1](http://sebastianraschka.com/pdf/books/pymle/errata_1st_technical.pdf)
#### [Language Errata PDF v.1](http://sebastianraschka.com/pdf/books/pymle/errata_1st_language.pdf)
(Left-click to view it in the browser; right-click for select a direct download option from the context menu.)
+136
View File
@@ -0,0 +1,136 @@
# What do other people think about this book?
When I started writing Python Machine learning, I had 3 big goals in mind:
1. Explaining the concepts well.
2. Providing the mandatory math intuition.
3. Giving practical examples to round up the learning experience and provide the tools for real-world applications.
At least, that was the plan! Whether I was successful or not ... I guess I have to leave this to you, the reader :).
I must honestly say that I was truly relieved and very happy about all the feedback to date. I am positively surprised that I haven't heard anything negative so far; I will take this as a compliment!
<hr>
> Fantastic! Both the book and this wonderfully informative blog post! I picked up kindle and print versions of the book last week, downloaded the code from the Packt site, and started going thru it. Superb job! Thus far, for me it seems to have hit the right balance of theory and practice...math and code! [...]
-- Brian Thomas via [Disqus](http://sebastianraschka.com/blog/2015/writing-pymle.html#comment-2295668894)
<hr>
[![](./images/boris_tweet.png)](https://twitter.com/BorisAdryan/status/648590265620525056)
<hr>
> [...] The text contains lots of practical advice as well as inline links to other sources of information. While this book is a good end-to-end read, it would also serve as a useful reference text. Recommended.
Score: 10 of 10
-- British Computer Society, review by Patrick Hill
Source: [http://www.bcs.org/content/conWebDoc/55586](http://www.bcs.org/content/conWebDoc/55586)
<hr>
> Technical, but not too much. Let's face it, machine learning algorithms are technical in nature. However, this book allows you to gloss over the actual technical details if you don't really need to understand them right away and view the implementation of the logic in the code snippets. Though, I must say, the presentation of the technical subjects are explained clearly and with supporting graphs and images to help visualize the concepts. It was a wonderful experience to understand the code, even though the theory was also given. This allows most people to jump right in and start writing in python. For the mathematicians out there, you can take the equations and verify them if need be. [...]
The fundamental concepts I've learned have opened the door to an enormous amount of possibilities I could not have even thought of doing had I not read this book. I used to think that true machine learning was only for super geniuses. But now I feel like I have another set of tools I can use to perform nearly superhero tasks. Python Machine Learning will be a reference book I use for many years to come.
-- Perry Nally on [Amazon](http://www.amazon.com/gp/product/1783555130/ref=s9_simh_gw_p14_d0_i2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1&pf_rd_r=0QKDZ9QNCW8269FMDSQG&pf_rd_t=36701&pf_rd_p=2079475242&pf_rd_i=desktop)
<hr>
[![](./images/claus_tweet.png)](https://twitter.com/augustlights/status/651721745783783424)
<hr>
> 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, [Data Elixir Newsletter](http://dataelixir.com/issues/55#start)
[![](./images/dataelixir.png)](http://dataelixir.com)
<hr>
> I've purchased and read (virtually) every Machine Learning book that aims to teach the reader the basics of ML using the Scikit-learn library as the main focus. I've found them to be...less than satisfactory. The examples in other books often use ML techniques in contexts for which they are not intended to be used and/or contexts they are not used in out in the real world (among other issues I have found within them).
In stark contrast, Python Machine Learning by Sebastian Raschka is stunningly-impressive, not only for the breadth and depth of coverage, but also in the manner the information is presented to the reader. [...] One of the underlying (though understated) themes in the book is the importance of using visual aids where appropriate to gauge the performance of the algorithms youre using as well as to understand exactly what is going on behind the scenes, so-to-speak. [...] TL;DR (SUMMARY):
I realize the experience levels described above are subjective. They are present merely to serve as reference points for the readers and to underscore my belief that Python Machine Learning has something for virtually every skill level. I cannot recommend this book more highly!
-- Jason Wolosonovich on [Amazon](http://www.amazon.com/gp/product/1783555130/ref=s9_simh_gw_p14_d0_i2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1&pf_rd_r=0QKDZ9QNCW8269FMDSQG&pf_rd_t=36701&pf_rd_p=2079475242&pf_rd_i=desktop)
<hr>
[![](./images/matteo_tweet.png)](https://twitter.com/matteo_brainnet/status/652027189018402816)
<hr>
> I just purchased your book/e-book and wanted to thank you for writing a book at this level that combines the theory with the very practical aspects of machine learning [...]. I hope to use it also as a teaching aide for some of my colleagues who work in other areas.
-- T.S. Jayram, Researcher at the IBM Almaden CS theory group
<hr>
[![](./images/jonathon_m_tweet.png)](https://twitter.com/jonathonmorgan/status/653587935367856128)
<hr>
> This semester, I was assigned to teach a Pattern Recognition course,
your book is the best for me to use as a textbook.
-- Renyuan Lyu, Associate Professor at Chang Gung University
<hr>
[![](./images/yong_cho_tweet.png)](https://twitter.com/syc22/status/661963391100133377)
<hr>
> I am a big fan of Sebastian Raschka's machine learning tutorials on his personal website, and have found him to be an excellent teacher for complex concepts in ML, so I've been looking forward to reading this book. I found the book similarly well-written and the explanations clear. It is heavy on examples (in Python 3! well done), so it's a good hands-on resource.
-- Carlos Faham, Security Data Scientist at LinkedIn
[![](./images/jason_tweet.png)](https://twitter.com/jmwoloso/status/649288217364049920)
<hr>
> An amazing book, really can't praise it enough. Presentation of technical subjects are explained very clearly. The author is very thorough in his writing making sure to fill in the details so you don't get left behind. It was a wonderful experience. Clearly written examples showing the theory and practice of machine learning. An invaluable tutorial.
As a bonus, chapter on "Parallelizing Neural Network Training with Theano" was a great addition! A very exciting topic, author really went all out. Hands down the best Python Machine learning book available.
-- NazHuz via [Amazon](http://www.amazon.com/gp/customer-reviews/RURYHN1G3SRMZ/ref=cm_cr_pr_rvw_ttl?ie=UTF8&ASIN=1783555130)
<hr>
> I am reading your recent book on ML and I think this is on the best book I ever read on machine learning. Especially with my background as software developer.
-- Michaël Lambé
[![](./images/armand_g_tweet.png)](https://twitter.com/arm_gilles/status/658927560932401154)
<hr>
> This is the first Python Machine Learning book that actually made sense. Sebastian managed to combine theory (math behind the models, how to implement an algorithm from scratch) with practice (how to actually implement it using scikit-learn) in a way no book has done thus far. I was really impressed (and surprised) to see how 'easy' it is to implement the more simple algorithms from scratch [...]
-- C. Herther via [Amazon](http://www.amazon.com/gp/customer-reviews/R2I0D8HNIQODVA/ref=cm_cr_pr_rvw_ttl?ie=UTF8&ASIN=B00YSILNL0)
<hr>
[![](./images/matthew_m_tweet.png)](https://twitter.com/mattmayo13/status/686614780589797376)
> This is a great book.
It gives the mathematical definitions of popular machine learning algorithms and shows you how to implement them. Then it explains how to use them with scikit-learn which has much more efficient implementations.
What is great is that this book has chapters on data cleaning, what to do with missing data, etc. Compliments greatly the Andrew Ng's ML course which lacked lectures about all of these things.
-- Peteris via [Goodreads](https://www.goodreads.com/review/show/1475215520?book_show_action=true&from_review_page=1)
<hr>
[![](./images/josiah_tweet.png)](https://twitter.com/thenome/status/668805677951922176)
<hr>
> A great book, it will teach you exactly what it promises - how to use the most common ML algorithms using Python and libraries like sklearn/numpy/pandas.
I found it to have a great balance between the theoretical math and implementation in Python; the split is somewhere around 20/80 in favour of implementation and actually using the algorithms on real data-sets. If you are trying to get a good understanding of the theory, then this book is a good starting point but you will most definitely need to supplement it with something else. I would recommend it even if you have no previous experience with Machine Learning. [...]
-- Rafal Szymanski via [Goodreads](https://www.goodreads.com/review/show/1514154895?book_show_action=true&from_review_page=1)
<hr>
> Love it! Clearly written with nice examples. I have a certificate in data science, and was looking for something to fill in the gaps, consolidate and to learn new topics. This book does exactly that. I would recommend to people who are totally new to machine learning, and also those with some background.
-- Reader via [Amazon](http://www.amazon.com/gp/customer-reviews/R2P8OGDU7XIIL5/ref=cm_cr_pr_rvw_ttl?ie=UTF8&ASIN=B00YSILNL0)
<hr>
> Absolutely the best machine machine learning book for Python out there. Very clear examples and very well written. The author gives a clear explanation of machine learning algorithms and techniques, as well as going into some of the math and provides code in the form of Juypter notebooks on github. Highly recommended!
-- David M. Comfort via [Amazon](http://www.amazon.com/gp/customer-reviews/R1KU3VMAU3PY05/ref=cm_cr_pr_rvw_ttl?ie=UTF8&ASIN=1783555130)
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.
+682
View File
@@ -0,0 +1,682 @@
@inproceedings{ding2015yinyang,
Author = {Ding, Yufei and Zhao, Yue and Shen, Xipeng and Musuvathi, Madanlal and Mytkowicz, Todd},
Booktitle = {Proceedings of the 32nd International Conference on Machine Learning (ICML-15)},
Pages = {579--587},
Title = {Yinyang k-means: A drop-in replacement of the classic k-means with consistent speedup},
Year = {2015}}
@article{kanaris2007words,
Author = {Kanaris, Ioannis and Kanaris, Konstantinos and Houvardas, Ioannis and Stamatatos, Efstathios},
Journal = {International Journal on Artificial Intelligence Tools},
Number = {06},
Pages = {1047--1067},
Title = {Words versus character n-grams for anti-spam filtering},
Volume = {16},
Year = {2007}}
@inproceedings{louppe2013understanding,
Author = {Louppe, Gilles and Wehenkel, Louis and Sutera, Antonio and Geurts, Pierre},
Booktitle = {Advances in Neural Information Processing Systems},
Pages = {431--439},
Title = {Understanding variable importances in forests of randomized trees},
Year = {2013}}
@article{louppe2014understanding,
Author = {Louppe, Gilles},
Journal = {arXiv preprint arXiv:1407.7502},
Title = {Understanding Random Forests: From Theory to Practice},
Year = {2014}}
@article{unterthiner2015toxicity,
Author = {Unterthiner, Thomas and Mayr, Andreas and Klambauer, G{\"u}nter and Hochreiter, Sepp},
Journal = {arXiv preprint arXiv:1503.01445},
Title = {Toxicity Prediction using Deep Learning},
Year = {2015}}
@inproceedings{bergstra2010theano,
Author = {Bergstra, James and Breuleux, Olivier and Bastien, Fr{\'e}d{\'e}ric and Lamblin, Pascal and Pascanu, Razvan and Desjardins, Guillaume and Turian, Joseph and Warde-Farley, David and Bengio, Yoshua},
Booktitle = {Proc. 9th Python in Science Conf},
Pages = {1--7},
Title = {Theano: A CPU and GPU math compiler in Python},
Year = {2010}}
@article{rao1948utilization,
Author = {Rao, C Radhakrishna},
Journal = {Journal of the Royal Statistical Society. Series B (Methodological)},
Number = {2},
Pages = {159--203},
Title = {The utilization of multiple measurements in problems of biological classification},
Volume = {10},
Year = {1948}}
@article{fisher1936use,
Author = {Fisher, Ronald A},
Journal = {Annals of eugenics},
Number = {2},
Pages = {179--188},
Title = {The use of multiple measurements in taxonomic problems},
Volume = {7},
Year = {1936}}
@incollection{wolpert2002supervised,
Author = {Wolpert, David H},
Booktitle = {Soft Computing and Industry},
Pages = {25--42},
Publisher = {Springer},
Title = {The supervised learning no-free-lunch theorems},
Year = {2002}}
@article{schapire1990strength,
Author = {Schapire, Robert E},
Journal = {Machine learning},
Number = {2},
Pages = {197--227},
Title = {The strength of weak learnability},
Volume = {5},
Year = {1990}}
@inproceedings{davis2006relationship,
Author = {Davis, Jesse and Goadrich, Mark},
Booktitle = {Proceedings of the 23rd international conference on Machine learning},
Organization = {ACM},
Pages = {233--240},
Title = {The relationship between Precision-Recall and ROC curves},
Year = {2006}}
@book{rosenblatt1957perceptron,
Author = {Rosenblatt, Frank},
Publisher = {Cornell Aeronautical Laboratory},
Title = {The perceptron, a perceiving and recognizing automaton Project Para},
Year = {1957}}
@book{vapnik2013nature,
Author = {Vapnik, Vladimir},
Publisher = {Springer Science \& Business Media},
Title = {The nature of statistical learning theory},
Year = {2013}}
@article{hanley1982meaning,
Author = {Hanley, James A and McNeil, Barbara J},
Journal = {Radiology},
Number = {1},
Pages = {29--36},
Title = {The meaning and use of the area under a receiver operating characteristic (ROC) curve.},
Volume = {143},
Year = {1982}}
@incollection{rasson1994gap,
Author = {Rasson, Jean-Paul and Kubushishi, Tite},
Booktitle = {New approaches in classification and data analysis},
Pages = {186--193},
Publisher = {Springer},
Title = {The gap test: an optimal method for determining the number of natural classes in cluster analysis},
Year = {1994}}
@book{hastie2009elements,
Author = {Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome and Hastie, T and Friedman, J and Tibshirani, R},
Number = {1},
Publisher = {Springer},
Title = {The Elements of Statistical Learning},
Volume = {2},
Year = {2009}}
@article{toscher2009bigchaos,
Author = {T{\"o}scher, Andreas and Jahrer, Michael and Bell, Robert M},
Journal = {Netflix prize documentation},
Title = {The bigchaos solution to the netflix grand prize},
Year = {2009}}
@article{gunn1998support,
Author = {Gunn, Steve R and others},
Journal = {ISIS technical report},
Title = {Support vector machines for classification and regression},
Volume = {14},
Year = {1998}}
@article{friedman2002stochastic,
Author = {Friedman, Jerome H},
Journal = {Computational Statistics \& Data Analysis},
Number = {4},
Pages = {367--378},
Title = {Stochastic gradient boosting},
Volume = {38},
Year = {2002}}
@article{wolpert1992stacked,
Author = {Wolpert, David H},
Journal = {Neural networks},
Number = {2},
Pages = {241--259},
Title = {Stacked generalization},
Volume = {5},
Year = {1992}}
@misc{porter2001snowball,
Author = {Porter, Martin F},
Title = {Snowball: A language for stemming algorithms},
Year = {2001}}
@article{rousseeuw1987silhouettes,
Author = {Rousseeuw, Peter J},
Journal = {Journal of computational and applied mathematics},
Pages = {53--65},
Title = {Silhouettes: a graphical aid to the interpretation and validation of cluster analysis},
Volume = {20},
Year = {1987}}
@article{meer1991robust,
Author = {Meer, Peter and Mintz, Doron and Rosenfeld, Azriel and Kim, Dong Yoon},
Journal = {International journal of computer vision},
Number = {1},
Pages = {59--70},
Title = {Robust regression methods for computer vision: A review},
Volume = {6},
Year = {1991}}
@article{hoerl1970ridge,
Author = {Hoerl, Arthur E and Kennard, Robert W},
Journal = {Technometrics},
Number = {1},
Pages = {55--67},
Title = {Ridge regression: Biased estimation for nonorthogonal problems},
Volume = {12},
Year = {1970}}
@article{galton1886regression,
Author = {Galton, Francis},
Journal = {Journal of the Anthropological Institute of Great Britain and Ireland},
Pages = {246--263},
Title = {Regression towards mediocrity in hereditary stature.},
Year = {1886}}
@article{tibshirani1996regression,
Author = {Tibshirani, Robert},
Journal = {Journal of the Royal Statistical Society. Series B (Methodological)},
Pages = {267--288},
Title = {Regression shrinkage and selection via the lasso},
Year = {1996}}
@article{bergstra2012random,
Author = {Bergstra, James and Bengio, Yoshua},
Journal = {The Journal of Machine Learning Research},
Number = {1},
Pages = {281--305},
Title = {Random search for hyper-parameter optimization},
Volume = {13},
Year = {2012}}
@article{breiman2001random,
Author = {Breiman, Leo},
Journal = {Machine learning},
Number = {1},
Pages = {5--32},
Title = {Random forests},
Volume = {45},
Year = {2001}}
@book{jolliffe2002principal,
Author = {Jolliffe, Ian},
Publisher = {Wiley Online Library},
Title = {Principal component analysis},
Year = {2002}}
@book{bezdek2013pattern,
Author = {Bezdek, James C},
Publisher = {Springer Science \& Business Media},
Title = {Pattern recognition with fuzzy objective function algorithms},
Year = {2013}}
@article{duda2001pattern,
Author = {Duda, Richard O and Hart, Peter E and Stork, David G},
Journal = {Edition. New York},
Title = {Pattern classification. 2nd},
Year = {2001}}
@article{bengio2004no,
Author = {Bengio, Yoshua and Grandvalet, Yves},
Journal = {The Journal of Machine Learning Research},
Pages = {1089--1105},
Title = {No unbiased estimator of the variance of k-fold cross-validation},
Volume = {5},
Year = {2004}}
@article{wolpert1997no,
Author = {Wolpert, David H and Macready, William G},
Journal = {Evolutionary Computation, IEEE Transactions on},
Number = {1},
Pages = {67--82},
Title = {No free lunch theorems for optimization},
Volume = {1},
Year = {1997}}
@book{bishop1995neural,
Author = {Bishop, Christopher M},
Publisher = {Oxford university press},
Title = {Neural networks for pattern recognition},
Year = {1995}}
@book{bird2009natural,
Author = {Bird, Steven and Klein, Ewan and Loper, Edward},
Publisher = {" O'Reilly Media, Inc."},
Title = {Natural language processing with Python},
Year = {2009}}
@article{DBLP:journals/corr/Raschka14,
Author = {Sebastian Raschka},
Journal = {Computing Research Repository (CoRR)},
Title = {Naive Bayes and Text Classification {I} - Introduction and Theory},
Volume = {abs/1410.5329},
Year = {2014}}
@misc{appleby2011murmurhash3,
Author = {Appleby, Austin},
Title = {murmurhash3},
Year = {2011}}
@article{paice1996method,
Author = {Paice, Chris D},
Journal = {Journal of the American Society for Information Science},
Number = {8},
Pages = {632--649},
Title = {Method for evaluation of stemming algorithms based on error counting},
Volume = {47},
Year = {1996}}
@article{hochreiter1997long,
Author = {Hochreiter, Sepp and Schmidhuber, J{\"u}rgen},
Journal = {Neural computation},
Number = {8},
Pages = {1735--1780},
Title = {Long short-term memory},
Volume = {9},
Year = {1997}}
@book{menard2009logistic,
Author = {Menard, Scott},
Publisher = {Sage Publications},
Title = {Logistic regression: From introductory to advanced concepts and applications},
Year = {2009}}
@booklet{kolter2008linear,
Author = {Kolter, Zico},
Title = {Linear Algebra Review and Reference},
Year = {2008}}
@inproceedings{maas-EtAl:2011:ACL-HLT2011,
Address = {Portland, Oregon, USA},
Author = {Maas, Andrew L. and Daly, Raymond E. and Pham, Peter T. and Huang, Dan and Ng, Andrew Y. and Potts, Christopher},
Booktitle = {Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies},
Month = {June},
Pages = {142--150},
Publisher = {Association for Computational Linguistics},
Title = {Learning Word Vectors for Sentiment Analysis},
Year = {2011}}
@article{williams1986learning,
Author = {Williams, DE Rumelhart GE Hinton RJ and Hinton, GE},
Journal = {Nature},
Pages = {323--533},
Title = {Learning representations by back-propagating errors},
Year = {1986}}
@article{bengio2009learning,
Author = {Bengio, Yoshua},
Journal = {Foundations and trends{\textregistered} in Machine Learning},
Number = {1},
Pages = {1--127},
Title = {Learning deep architectures for AI},
Volume = {2},
Year = {2009}}
@article{park2007l1,
Author = {Park, Mee Young and Hastie, Trevor},
Journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)},
Number = {4},
Pages = {659--677},
Title = {L1-regularization path algorithm for generalized linear models},
Volume = {69},
Year = {2007}}
@article{cunningham2007k,
Author = {Cunningham, Padraig and Delany, Sarah Jane},
Journal = {Multiple Classifier Systems},
Pages = {1--17},
Title = {k-Nearest neighbour classifiers},
Year = {2007}}
@inproceedings{arthur2007k,
Author = {Arthur, David and Vassilvitskii, Sergei},
Booktitle = {Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms},
Organization = {Society for Industrial and Applied Mathematics},
Pages = {1027--1035},
Title = {k-means++: The advantages of careful seeding},
Year = {2007}}
@inproceedings{ding2004k,
Author = {Ding, Chris and He, Xiaofeng},
Booktitle = {Proceedings of the twenty-first international conference on Machine learning},
Organization = {ACM},
Pages = {29},
Title = {K-means clustering via principal component analysis},
Year = {2004}}
@article{scholkopf1997kernel,
Author = {Sch{\"o}lkopf, Bernhard and Smola, Alexander and M{\"u}ller, Klaus-Robert},
Pages = {583--588},
Title = {Kernel principal component analysis},
Year = {1997}}
@book{shawe2004kernel,
Author = {Shawe-Taylor, John and Cristianini, Nello},
Publisher = {Cambridge university press},
Title = {Kernel methods for pattern analysis},
Year = {2004}}
@article{ting1999issues,
Author = {Ting, Kai Ming and Witten, Ian H},
Journal = {J. Artif. Intell. Res.(JAIR)},
Pages = {271--289},
Title = {Issues in stacked generalization},
Volume = {10},
Year = {1999}}
@article{khuri2013introduction,
Author = {Khuri, Andr{\'e} I},
Journal = {International Statistical Review},
Number = {2},
Pages = {318--319},
Title = {Introduction to Linear Regression Analysis, by Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining},
Volume = {81},
Year = {2013}}
@article{toman2006influence,
Author = {Toman, Michal and Tesar, Roman and Jezek, Karel},
Journal = {Proceedings of InSciT},
Pages = {354--358},
Title = {Influence of word normalization on text classification},
Year = {2006}}
@article{efron1997improvements,
Author = {Efron, Bradley and Tibshirani, Robert},
Journal = {Journal of the American Statistical Association},
Number = {438},
Pages = {548--560},
Title = {Improvements on cross-validation: the 632+ bootstrap method},
Volume = {92},
Year = {1997}}
@article{johnson1967hierarchical,
Author = {Johnson, Stephen C},
Journal = {Psychometrika},
Number = {3},
Pages = {241--254},
Title = {Hierarchical clustering schemes},
Volume = {32},
Year = {1967}}
@article{lecun1998gradient,
Author = {LeCun, Yann and Bottou, L{\'e}on and Bengio, Yoshua and Haffner, Patrick},
Journal = {Proceedings of the IEEE},
Number = {11},
Pages = {2278--2324},
Title = {Gradient-based learning applied to document recognition},
Volume = {86},
Year = {1998}}
@inproceedings{ng2004feature,
Author = {Ng, Andrew Y},
Booktitle = {Proceedings of the twenty-first international conference on Machine learning},
Organization = {ACM},
Pages = {78},
Title = {Feature selection, L 1 vs. L 2 regularization, and rotational invariance},
Year = {2004}}
@article{huang1998extensions,
Author = {Huang, Zhexue},
Journal = {Data mining and knowledge discovery},
Number = {3},
Pages = {283--304},
Title = {Extensions to the k-means algorithm for clustering large data sets with categorical values},
Volume = {2},
Year = {1998}}
@article{tukey1977exploratory,
Author = {Tukey, John W},
Title = {Exploratory data analysis},
Year = {1977}}
@inproceedings{freund1996experiments,
Author = {Freund, Yoav and Schapire, Robert E and others},
Booktitle = {ICML},
Pages = {148--156},
Title = {Experiments with a new boosting algorithm},
Volume = {96},
Year = {1996}}
@article{mikolov2013efficient,
Author = {Mikolov, Tomas and Chen, Kai and Corrado, Greg and Dean, Jeffrey},
Journal = {arXiv preprint arXiv:1301.3781},
Title = {Efficient estimation of word representations in vector space},
Year = {2013}}
@article{hannun2014deepspeech,
Author = {Hannun, Awni and Case, Carl and Casper, Jared and Catanzaro, Bryan and Diamos, Greg and Elsen, Erich and Prenger, Ryan and Satheesh, Sanjeev and Sengupta, Shubho and Coates, Adam and others},
Journal = {arXiv preprint arXiv:1412.5567},
Title = {DeepSpeech: Scaling up end-to-end speech recognition},
Year = {2014}}
@inproceedings{taigman2014deepface,
Author = {Taigman, Yaniv and Yang, Ming and Ranzato, Marc'Aurelio and Wolf, Lars},
Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on},
Organization = {IEEE},
Pages = {1701--1708},
Title = {Deepface: Closing the gap to human-level performance in face verification},
Year = {2014}}
@article{ferri1994comparative,
Author = {Ferri, F and Pudil, P and Hatef, M and Kittler, J},
Journal = {Pattern Recognition in Practice IV},
Pages = {403--413},
Title = {Comparative study of techniques for large-scale feature selection},
Year = {1994}}
@article{ghosh2013comparative,
Author = {Ghosh, Soumi and Dubey, Sanjay Kumar},
Journal = {IJACSA},
Pages = {35--38},
Title = {Comparative analysis of k-means and fuzzy c-means algorithms},
Volume = {4},
Year = {2013}}
@article{breiman1984classification,
Author = {Breiman, Leo and Friedman, Jerome H and Olshen, Richard A and Stone, Charles J},
Journal = {Belmont, CA},
Title = {Classification and regression trees. Wadsworth},
Year = {1984}}
@article{liaw2002classification,
Author = {Liaw, Andy and Wiener, Matthew},
Journal = {R news},
Number = {3},
Pages = {18--22},
Title = {Classification and regression by randomForest},
Volume = {2},
Year = {2002}}
@article{breiman1996bias,
Author = {Breiman, Leo},
Title = {Bias, variance, and arcing classifiers},
Year = {1996}}
@article{strobl2007bias,
Author = {Strobl, Carolin and Boulesteix, Anne-Laure and Zeileis, Achim and Hothorn, Torsten},
Journal = {BMC bioinformatics},
Number = {1},
Pages = {25},
Title = {Bias in random forest variable importance measures: Illustrations, sources and a solution},
Volume = {8},
Year = {2007}}
@article{varma2006bias,
Author = {Varma, Sudhir and Simon, Richard},
Journal = {BMC bioinformatics},
Number = {1},
Pages = {91},
Title = {Bias in error estimation when using cross-validation for model selection},
Volume = {7},
Year = {2006}}
@inproceedings{simard2003best,
Author = {Simard, Patrice Y and Steinkraus, Dave and Platt, John C},
Booktitle = {null},
Organization = {IEEE},
Pages = {958},
Title = {Best practices for convolutional neural networks applied to visual document analysis},
Year = {2003}}
@article{breiman1996bagging,
Author = {Breiman, Leo},
Journal = {Machine learning},
Number = {2},
Pages = {123--140},
Title = {Bagging predictors},
Volume = {24},
Year = {1996}}
@incollection{toldo2009automatic,
Author = {Toldo, Roberto and Fusiello, Andrea},
Booktitle = {Image Analysis and Processing--ICIAP 2009},
Pages = {123--131},
Publisher = {Springer},
Title = {Automatic estimation of the inlier threshold in robust multiple structures fitting},
Year = {2009}}
@article{baydin2014automatic,
Author = {Baydin, Atilim Gunes and Pearlmutter, Barak A},
Journal = {arXiv preprint arXiv:1404.7456},
Title = {Automatic Differentiation of Algorithms for Machine Learning},
Year = {2014}}
@article{markatou2005analysis,
Author = {Markatou, Marianthi and Tian, Hong and Biswas, Shameek and Hripcsak, George M},
Journal = {Journal of Machine Learning Research},
Pages = {1127--1168},
Title = {Analysis of variance of cross-validation estimators of the generalization error},
Volume = {6},
Year = {2005}}
@article{DBLP:journals/corr/Raschka14a,
Author = {Sebastian Raschka},
Journal = {Computing Research Repository (CoRR)},
Title = {An Overview of General Performance Metrics of Binary Classifier Systems},
Volume = {abs/1410.5330},
Year = {2014}}
@article{aizawa2003information,
Author = {Aizawa, Akiko},
Journal = {Information Processing \& Management},
Number = {1},
Pages = {45--65},
Title = {An information-theoretic perspective of tf--idf measures},
Volume = {39},
Year = {2003}}
@inproceedings{ratsch1998improvement,
Author = {R{\"a}tsch, Gunnar and Onoda, Takashi and M{\"u}ller, Klaus Robert},
Booktitle = {Proc. of the Int. Conf. on Neural Information Processing},
Organization = {Citeseer},
Title = {An improvement of adaboost to avoid overfitting},
Year = {1998}}
@article{porter1980algorithm,
Author = {Porter, Martin F},
Journal = {Program: electronic library and information systems},
Number = {3},
Pages = {130--137},
Title = {An algorithm for suffix stripping},
Volume = {14},
Year = {1980}}
@article{friedman1977algorithm,
Author = {Friedman, Jerome H and Bentley, Jon Louis and Finkel, Raphael Ari},
Journal = {ACM Transactions on Mathematical Software (TOMS)},
Number = {3},
Pages = {209--226},
Title = {An algorithm for finding best matches in logarithmic expected time},
Volume = {3},
Year = {1977}}
@book{stanford1960adaptive,
Address = {Stanford, CA},
Author = {Widrow, B.},
Month = {October},
Number = {Technical Report 1553-2},
Publisher = {Stanford Electron. Labs.},
Title = {Adaptive "Adaline" neuron using chemical "memistors"},
Year = {1960}}
@article{burges1998tutorial,
Author = {Burges, Christopher JC},
Journal = {Data mining and knowledge discovery},
Number = {2},
Pages = {121--167},
Title = {A tutorial on support vector machines for pattern recognition},
Volume = {2},
Year = {1998}}
@inproceedings{kohavi1995study,
Author = {Kohavi, Ron and others},
Booktitle = {Ijcai},
Number = {2},
Pages = {1137--1145},
Title = {A study of cross-validation and bootstrap for accuracy estimation and model selection},
Volume = {14},
Year = {1995}}
@article{nagelkerke1991note,
Author = {Nagelkerke, Nico JD},
Journal = {Biometrika},
Number = {3},
Pages = {691--692},
Title = {A note on a general definition of the coefficient of determination},
Volume = {78},
Year = {1991}}
@article{mcculloch1943logical,
Author = {McCulloch, Warren S and Pitts, Walter},
Journal = {The bulletin of mathematical biophysics},
Number = {4},
Pages = {115--133},
Title = {A logical calculus of the ideas immanent in nervous activity},
Volume = {5},
Year = {1943}}
@article{dunn1973fuzzy,
Author = {Dunn, Joseph C},
Title = {A fuzzy relative of the ISODATA process and its use in detecting compact well-separated clusters},
Year = {1973}}
@inproceedings{ester1996density,
Author = {Ester, Martin and Kriegel, Hans-Peter and Sander, J{\"o}rg and Xu, Xiaowei},
Booktitle = {Kdd},
Number = {34},
Pages = {226--231},
Title = {A density-based algorithm for discovering clusters in large spatial databases with noise.},
Volume = {96},
Year = {1996}}
@article{lawrence1989concordance,
Author = {Lawrence, I and Lin, Kuei},
Journal = {Biometrics},
Pages = {255--268},
Title = {A concordance correlation coefficient to evaluate reproducibility},
Year = {1989}}
@incollection{aha1996comparative,
Author = {Aha, David W and Bankert, Richard L},
Booktitle = {Learning from Data},
Pages = {199--206},
Publisher = {Springer},
Title = {A comparative evaluation of sequential feature selection algorithms},
Year = {1996}}
+489
View File
@@ -0,0 +1,489 @@
Sebastian Raschka, 2015
Python Machine Learning
# References & Resources
A list of references as they appear throughout the chapters.
A BibTeX version for your favorite reference manager is available [here](./pymle.bib).
<br>
<br>
### Chapter 1: Machine Learning - Giving Computers the Ability to Learn from Data 
##### Literature
- F. Galton. [Regression towards mediocrity in hereditary stature](http://www.jstor.org/stable/2841583). Journal of the Anthropological Institute of Great Britain and Ireland, pages 246263, 1886.
##### Links
- Python: https://www.python.org
- Installing Python: https://docs.python.org/3/installing/index.html
- Anaconda Scientific Python Distribution: https://store.continuum.io/cshop/anaconda/
##### Additional Resources & Further Reading
- [Python Tutorial](https://www.scaler.com/topics/python)
<br>
<br>
### Chapter 2: Training Simple Machine Learning Algorithms for Classification
##### Literature
- W. S. McCulloch and W. Pitts. [A logical calculus of the ideas immanent in nervous activity](http://link.springer.com/article/10.1007/BF02459570). The bulletin of mathematical biophysics, 5(4):115133, 1943.
- F. Rosenblatt. The perceptron, a perceiving and recognizing automaton Project Para. Cornell Aeronautical Laboratory, 1957.
- B. Widrow. Adaptive ”Adaline” neuron using chemical ”memistors”. Number Technical Report 1553-2. Stanford Electron. Labs., Stanford, CA, October 1960.
##### Links
- NumPy Tutorial: http://wiki.scipy.org/Tentative_NumPy_Tutorial
- Pandas Tutorial: http://pandas.pydata.org/pandas-docs/stable/tutorials.html
- Matplotlib Tutorial: http://matplotlib.org/users/beginner.html
- IPython Notebook: https://ipython.org/ipython-doc/3/notebook/index.html
- BLAS (Basic Linear Algebra Subprograms): http://www.netlib.org/blas/
- LAPACK — Linear Algebra PACKage: http://www.netlib.org/lapack/
- UCI Machine Learning Repository: http://archive.ics.uci.edu/ml/
- Iris dataset: https://archive.ics.uci.edu/ml/datasets/Iris
##### Additional Resources & Further Reading
- Z. Kolter. [Linear algebra review and reference](http://www.cs.cmu.edu/~zkolter/course/linalg/linalg_notes.pdf), 2008.
<br>
<br>
## Chapter 3: A Tour of Advanced Machine Learning Classifiers Using Scikit-Learn
##### Literature
- D. H. Wolpert and W. G. Macready. [No free lunch theorems for optimization](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=585893&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D585893). Evolutionary Computation, IEEE Transactions on, 1(1):6782, 1997.
- D. H. Wolpert. [The supervised learning no-free-lunch theorems](http://link.springer.com/chapter/10.1007/978-1-4471-0123-9_3#page-1). In Soft Computing and Industry, pages 2542. Springer, 2002.
- S. Menard. [Logistic regression: From introductory to advanced concepts and applications](https://books.google.com/books?hl=en&lr=&id=JSJzAwAAQBAJ&oi=fnd&pg=PP1&dq=Logistic+regression:+From+introductory+to+advanced+concepts+and+applications&ots=u7tB-9qcZT&sig=FiW0ejcCYxrne--73Vs5giobJZ0). Sage Publica- tions, 2009.
- V. Vapnik. [The nature of statistical learning theory](https://books.google.com/books?hl=en&lr=&id=EqgACAAAQBAJ&oi=fnd&pg=PR7&dq=The+nature+of+statistical+learning+theory&ots=g2HZeBcX50&sig=dettzMHf6X1pLD-JMlvhpNQpaws#v=onepage&q=The%20nature%20of%20statistical%20learning%20theory&f=false). Springer Science & Business Media, 2013.
- C. J. Burges. [A tutorial on support vector machines for pattern recognition](http://link.springer.com/article/10.1023/A:1009715923555). Data mining and knowledge discovery, 2(2):121167, 1998.
- J. H. Friedman, J. L. Bentley, and R. A. Finkel. [An algorithm for finding best matches in logarithmic expected time](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.319.4027). ACM Transactions on Mathematical Software (TOMS), 3(3):209226, 1977.
##### Links
- scikit-learn: http://scikit-learn.org/stable/
- LIBLINEAR -- A Library for Large Linear Classification: http://www.csie.ntu.edu.tw/~cjlin/liblinear/
- LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/
- Graphviz - Graph Visualization Software: http://www.graphviz.org
##### Additional Resources & Further Reading
- L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and regression trees. wadsworth. Belmont, CA, 1984.
- L. Breiman. [Random forests](http://link.springer.com/article/10.1023/A:1010933404324). Machine learning, 45(1):532, 2001.
- P. Cunningham and S. J. Delany. [k-nearest neighbour classifiers](http://www.researchgate.net/profile/Sarah_Delany/publication/228686398_k-Nearest_neighbour_classifiers/links/0fcfd50d0c1d1f41ad000000.pdf). Multiple Classifier Systems, pages 117, 2007.
<br>
<br>
## Chapter 4: Building Good Training Sets Data Pre-Processing 
##### Literature
- T. Hastie, J. Friedman, and R. Tibshirani. [The Elements of Statistical Learning](http://statweb.stanford.edu/~tibs/ElemStatLearn/), volume 2. Springer, 2009. Section 3.4.
- F. Ferri, P. Pudil, M. Hatef, and J. Kittler. [Comparative study of techniques for large-scale feature selection](https://books.google.com/books?hl=en&lr=&id=sbajBQAAQBAJ&oi=fnd&pg=PA403&dq=Comparative+Study+of+Techniques+for+Large+Scale+Feature+Selection&ots=KdHKVsEatk&sig=PS_jPNFzSYPvFuhfXabBZxqt6UM#v=onepage&q=Comparative%20Study%20of%20Techniques%20for%20Large%20Scale%20Feature%20Selection&f=false). Pattern Recognition in Practice IV, pages 403413, 1994.
##### Links
- Wine Data Set: https://archive.ics.uci.edu/ml/datasets/Wine
##### Additional Resources & Further Reading
- One-hot encoding: https://en.wikipedia.org/wiki/One-hot
- M. Y. Park and T. Hastie. [L1-regularization path algorithm for generalized linear models](http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2007.00607.x/abstract;jsessionid=315EA2A9E59E2A7E79041A04F4FE065D.f02t01?userIsAuthenticated=false&deniedAccessCustomisedMessage=). Journal of the Royal Statistical Society: Series B (Statistical Methodology), 69(4):659677, 2007.
- A. Y. Ng. [Feature selection, L1 vs. L2 regularization, and rotational invariance](http://dl.acm.org/citation.cfm?id=1015435). In Proceedings of the twenty-first international conference on Machine learning, page 78. ACM, 2004.
- D. W. Aha and R. L. Bankert. [A comparative evaluation of sequential feature selection algorithms](http://link.springer.com/chapter/10.1007/978-1-4612-2404-4_19#page-1). In Learning from Data, pages 199206. Springer, 1996.
- C. Strobl, A.-L. Boulesteix, A. Zeileis, and T. Hothorn. [Bias in random forest variable importance measures: Illustrations, sources and a solution](http://www.biomedcentral.com/1471-2105/8/25). BMC bioinformatics, 8(1):25, 2007.
<br>
<br>
## Chapter 5: Compressing Data via Different Dimensionality Reduction Techniques
##### Literature
- R. A. Fisher. [The use of multiple measurements in taxonomic problems](http://onlinelibrary.wiley.com/store/10.1111/j.1469-1809.1936.tb02137.x/asset/j.1469-1809.1936.tb02137.x.pdf?v=1&t=idj76237&s=91cde2700c80c8e9db3270f122008a4629fe8887). Annals of eugenics, 7(2):179188, 1936.
- C. R. Rao. [The utilization of multiple measurements in problems of biological classification](http://www.jstor.org/stable/2983775). Journal of the Royal Statistical Society. Series B (Methodological), 10(2):159203, 1948.
- A. M. Martinez and A. C. Kak. [PCA versus LDA](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=908974&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D908974). Pattern Analysis and Machine Intelligence, IEEE Transactions on, 23(2):228233, 2001.
- R. O. Duda, P. E. Hart, and D. G. Stork. [Pattern classification](http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471056693.html). 2nd. Edition. New York, 2001.
- B. Schoelkopf, A. Smola, and K.-R. Mueller. [Kernel principal component analysis](http://link.springer.com/chapter/10.1007/BFb0020217). pages 583588, 1997.
##### Links
##### Additional Resources & Further Reading
- I. Jolliffe. [Principal component analysis](http://onlinelibrary.wiley.com/doi/10.1002/9781118445112.stat06472/abstract?userIsAuthenticated=false&deniedAccessCustomisedMessage=). Wiley Online Library, 2002.
- Manifold learning algorithms: https://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction#Manifold_learning_algorithms
- J. Shawe-Taylor and N. Cristianini. [Kernel methods for pattern analysis](https://books.google.com/books?hl=en&lr=&id=9i0vg12lti4C&oi=fnd&pg=PR8&dq=Kernel+Methods+for+Pattern+Analysis&ots=okAEjd1H3R&sig=hNqlaqWsF4YB_2O4PWl1AjveplY#v=onepage&q=Kernel%20Methods%20for%20Pattern%20Analysis&f=false). Cambridge university press, 2004.
<br>
<br>
## Chapter 6: Learning Best Practices for Model Evaluation and Hyperparameter Optimization 
##### Literature
- R. Kohavi et al. [A study of cross-validation and bootstrap for accuracy estimation and model selection](http://frostiebek.free.fr/docs/Machine%20Learning/validation-1.pdf). In Ijcai, volume 14, pages 11371145, 1995.
- M. Markatou, H. Tian, S. Biswas, and G. M. Hripcsak. [Analysis of variance of cross-validation estimators of the generalization error](http://academiccommons.columbia.edu/catalog/ac:173902). Journal of Machine Learning Research, 6:11271168, 2005.
- B. Efron and R. Tibshirani. [Improvements on cross-validation: the 632+ bootstrap method](http://www.stat.washington.edu/courses/stat527/s13/readings/EfronTibshirani_JASA_1997.pdf). Journal of the American Statistical Association, 92(438):548560, 1997.
- S. Varma and R. Simon. [Bias in error estimation when using cross-validation for model selection](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1397873/). BMC bioinformatics, 7(1):91, 2006.
##### Links
- Breast Cancer Wisconsin dataset: https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)
##### Additional Resources & Further Reading
- Y. Bengio and Y. Grandvalet. [No unbiased estimator of the variance of k-fold cross-validation](http://dl.acm.org/citation.cfm?id=1044695). The Journal of Machine Learning Research, 5:10891105, 2004.
- S. Raschka. [An overview of general performance metrics of binary classifier systems](http://arxiv.org/pdf/1410.5330.pdf). Computing Research Repository (CoRR), abs/1410.5330, 2014.
- J. A. Hanley and B. J. McNeil. [The meaning and use of the area under a receiver operating characteristic (roc) curve](http://pubs.rsna.org/doi/abs/10.1148/radiology.143.1.7063747). Radiology, 143(1):2936, 1982.
- J. Davis and M. Goadrich. [The relationship between precision-recall and roc curves](http://dl.acm.org/citation.cfm?id=1143874). In Proceedings of the 23rd international conference on Machine learning, pages 233240. ACM, 2006.
- J. Bergstra and Y. Bengio. [Random search for hyper-parameter optimization](http://jmlr.csail.mit.edu/papers/volume13/bergstra12a/bergstra12a.pdf). The Journal of Machine Learning Research, 13(1):281305, 2012.
<br>
<br>
## Chapter 7: Combining Different Models for Ensemble Learning
##### Literature
- D. H. Wolpert. [Stacked generalization](http://www.sciencedirect.com/science/article/pii/S0893608005800231). Neural networks, 5(2):241259, 1992.
- L. Breiman. [Bagging predictors](http://link.springer.com/article/10.1007/BF00058655#page-1). Machine learning, 24(2):123140, 1996.
- R. E. Schapire. [The strength of weak learnability](http://link.springer.com/article/10.1007/BF00116037). Machine learning, 5(2):197227, 1990.
- Y. Freund, R. E. Schapire, et al. [Experiments with a new boosting algorithm](http://www.public.asu.edu/~jye02/CLASSES/Fall-2005/PAPERS/boosting-icml.pdf). In ICML, volume 96, pages 148156, 1996.
- L. Breiman. [Bias, variance, and arcing classifiers](http://oz.berkeley.edu/~breiman/arcall96.pdf). 1996.
- G. Raetsch, T. Onoda, and K. R. Mueller. [An improvement of adaboost to avoid overfitting](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.9074). In Proc. of the Int. Conf. on Neural Information Processing. Citeseer, 1998.
- A. Toescher, M. Jahrer, and R. M. Bell. [The bigchaos solution to the netflix grand prize](http://www.stat.osu.edu/~dmsl/GrandPrize2009_BPC_BigChaos.pdf). Netflix prize documentation, 2009.
##### Links
- Netflix Recommendations: Beyond the 5 stars (Part 1): http://techblog.netflix.com/2012/04/netflix-recommendations-beyond-5-stars.html
##### Additional Resources & Further Reading
- K. M. Ting and I. H. Witten. [Issues in stacked generalization](http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.1519). J. Artif. Intell. Res.(JAIR), 10:271289, 1999.
- J. H. Friedman. [Stochastic gradient boosting](http://www.sciencedirect.com/science/article/pii/S0167947301000652). Computational Statistics & Data Analysis, 38(4):367378, 2002.
<br>
<br>
## Chapter 8: Applying Machine Learning to Sentiment Analysis 
##### Literature
- A. L. Maas, R. E. Daly, P. T. Pham, D. Huang, A. Y. Ng, and C. Potts. [Learning word vectors for sentiment analysis](http://dl.acm.org/citation.cfm?id=2002491). In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, pages 142150, Portland, Oregon, USA, June 2011. Association for Computational Linguistics.
- I. Kanaris, K. Kanaris, I. Houvardas, and E. Stamatatos. [Words versus character n-grams for anti-spam filtering](http://www.worldscientific.com/doi/abs/10.1142/S0218213007003692). International Journal on Artificial Intelligence Tools, 16(06):10471067, 2007.
- S. Raschka. [Naive bayes and text classification I - introduction and theory](http://arxiv.org/pdf/1410.5329.pdf). Computing Research Repos- itory (CoRR), abs/1410.5329, 2014.
- S. Bird, E. Klein, and E. Loper. [Natural language processing with Python](http://www.nltk.org/book/). OReilly Media, Inc.”, 2009.
- M. F. Porter. [An algorithm for suffix stripping](http://www.emeraldinsight.com/doi/abs/10.1108/eb046814). Program: electronic library and information systems, 14(3):130137, 1980.
- M. Toman, R. Tesar, and K. Jezek. [Influence of word normalization on text classification](http://repository.essex.ac.uk/4019/). Proceedings of InSciT, pages 354358, 2006.
- A. Appleby. [murmurhash3](https://sites.google.com/site/murmurhash/), 2011.
- T. Mikolov, K. Chen, G. Corrado, and J. Dean. [Efficient estimation of word representations in vector space](http://arxiv.org/abs/1301.3781). arXiv preprint arXiv:1301.3781, 2013.
##### Links
- Review dataset: http://ai.stanford.edu/~amaas/data/sentiment/
- Google regex Tutorial: https://developers.google.com/edu/python/regular-expressions
- Natural Language Toolkit: http://www.nltk.org
- Google Word2Vec: https://code.google.com/p/word2vec/
##### Additional Resources & Further Reading
- A. Aizawa. [An information-theoretic perspective of tfidf measures](http://www.sciencedirect.com/science/article/pii/S0306457302000213). Information Processing & Manage- ment, 39(1):4565, 2003.
- M. F. Porter. Snowball: [A language for stemming algorithms](http://snowball.tartarus.org/texts/introduction.html), 2001.
- C. D. Paice. [Method for evaluation of stemming algorithms based on error counting](http://link.springer.com/article/10.3103/S0005105509060041). Journal of the American Society for Information Science, 47(8):632649, 1996.
<br>
<br>
## Chapter 9: Embedding a Machine Learning Model into a Web Application 
##### Literature
##### Links
- Flask: http://flask.pocoo.org
- SQLite: http://www.sqlite.org
- SQLite Manager Add-on: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
- WTForms: https://wtforms.readthedocs.org/en/latest/
- Jinja2: http://jinja.pocoo.org
- Webapp example: http://raschkas.pythonanywhere.com
- pythonanywhere: https://www.pythonanywhere.com
##### Additional Resources & Further Reading
- HTTP Methods: GET vs. POST: http://www.w3schools.com/tags/ref_httpmethods.asp
<br>
<br>
## Chapter 10: Predicting Continuous Target Variables with Regression Analysis 
##### Literature
- A. I. Khuri. [Introduction to linear regression analysis](http://onlinelibrary.wiley.com/doi/10.1111/insr.12020_10/abstract), by Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining. International Statistical Review, 81(2):318319, 2013.
- D. S. G. Pollock. [The Classical Linear Regression Model](http://www.le.ac.uk/users/dsgp1/COURSES/MESOMET/ECMETXT/06mesmet.pdf).
- R. Toldo and A. Fusiello. [Automatic estimation of the inlier threshold in robust multiple structures fitting](http://link.springer.com/chapter/10.1007/978-3-642-04146-4_15). In Image Analysis and ProcessingICIAP 2009, pages 123131. Springer, 2009.
##### Links
- Housing dataset: https://archive.ics.uci.edu/ml/datasets/Housing
- Seaborn: http://stanford.edu/~mwaskom/software/seaborn/
##### Additional Resources & Further Reading
- J. W. Tukey. [Exploratory data analysis](http://xa.yimg.com/kq/groups/16412409/1159714453/name/exploratorydataanalysis.pdf). 1977.
- I. Lawrence and K. Lin. [A concordance correlation coefficient to evaluate reproducibility](http://www.jstor.org/stable/2532051?seq=1#page_scan_tab_contents). Biometrics, pages 255268, 1989.
- N. J. Nagelkerke. [A note on a general definition of the coefficient of determination](http://www.cesarzamudio.com/uploads/1/7/9/1/17916581/nagelkerke_n.j.d._1991_-_a_note_on_a_general_definition_of_the_coefficient_of_determination.pdf). Biometrika, 78(3):691 692, 1991.
- P. Meer, D. Mintz, A. Rosenfeld, and D. Y. Kim. [Robust regression methods for computer vision: A review](http://link.springer.com/article/10.1007/BF00127126). International journal of computer vision, 6(1):5970, 1991.
- A. E. Hoerl and R. W. Kennard. [Ridge regression: Biased estimation for nonorthogonal problems](http://amstat.tandfonline.com/doi/abs/10.1080/00401706.1970.10488634). Technometrics, 12(1):5567, 1970.
- R. Tibshirani. [Regression shrinkage and selection via the lasso](http://www.jstor.org/stable/2346178). Journal of the Royal Statistical Society. Series B (Methodological), pages 267288, 1996.
- A. Liaw and M. Wiener. [Classification and regression by randomForest](ftp://131.252.97.79/Transfer/Treg/WFRE_Articles/Liaw_02_Classification%20and%20regression%20by%20randomForest.pdf). R news, 2(3):1822, 2002.
- G. Louppe. [Understanding random forests: From theory to practice](http://arxiv.org/abs/1407.7502). arXiv preprint arXiv:1407.7502, 2014.
- G. Louppe, L. Wehenkel, A. Sutera, and P. Geurts. [Understanding variable importances in forests of randomized trees](http://papers.nips.cc/paper/4928-understanding-variable-importances-in-forests-of-randomized-trees). In Advances in Neural Information Processing Systems, pages 431439, 2013.
- S. R. Gunn et al. [Support vector machines for classification and regression](http://ce.sharif.ir/courses/85-86/2/ce725/resources/root/LECTURES/SVM.pdf). ISIS technical report, 14, 1998.
<br>
<br>
## Chapter 11: Working with Unlabeled Data Clustering Analysis  
##### Literature
- D. Arthur and S. Vassilvitskii. [k-means++: The advantages of careful seeding](http://dl.acm.org/citation.cfm?id=1283494). In Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms, pages 10271035. Society for Industrial and Applied Mathematics, 2007.
- J. C. Dunn. [A fuzzy relative of the isodata process and its use in detecting compact well-separated clusters](http://www.tandfonline.com/doi/abs/10.1080/01969727308546046#.VdUUQnhh1AY). 1973.
- J. C. Bezdek. [Pattern recognition with fuzzy objective function algorithms](https://books.google.com/books?hl=en&lr=&id=z6XqBwAAQBAJ&oi=fnd&pg=PR14&dq=Pattern+recognition+with+fuzzy+objective+function+algorithms&ots=0g_HoTDhDo&sig=LWYQJJL8usKeVvPY_q1DLnJ4P70#v=onepage&q=Pattern%20recognition%20with%20fuzzy%20objective%20function%20algorithms&f=false). Springer Science & Business Media, 2013.
- S. Ghosh and S. K. Dubey. [Comparative analysis of k-means and fuzzy c-means algorithms](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.403.7600&rep=rep1&type=pdf). IJACSA, 4:3538, 2013.
- M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. [A density-based algorithm for discovering clusters in large spatial databases with noise](http://www.aaai.org/Papers/KDD/1996/KDD96-037). In Kdd, volume 96, pages 226231, 1996.
##### Links
##### Additional Resources & Further Reading
- Z. Huang. [Extensions to the k-means algorithm for clustering large data sets with categorical values](http://link.springer.com/article/10.1023/A:1009769707641). Data mining and knowledge discovery, 2(3):283304, 1998.
- C. Ding and X. He. [K-means clustering via principal component analysis](http://dl.acm.org/citation.cfm?id=1015408). In Proceedings of the twenty- first international conference on Machine learning, page 29. ACM, 2004.
- Y. Ding, Y. Zhao, X. Shen, M. Musuvathi, and T. Mytkowicz. [Yinyang k-means: A drop-in replacement of the classic k-means with consistent speedup](http://machinelearning.wustl.edu/mlpapers/paper_files/icml2015_ding15.pdf). In Proceedings of the 32nd International Conference on Machine Learning (ICML-15), pages 579587, 2015.
- P. J. Rousseeuw. Silhouettes: [a graphical aid to the interpretation and validation of cluster analysis](http://www.sciencedirect.com/science/article/pii/0377042787901257). Journal of computational and applied mathematics, 20:5365, 1987.
- J.-P. Rasson and T. Kubushishi. [The gap test: an optimal method for determining the number of natural classes in cluster analysis](http://link.springer.com/chapter/10.1007/978-3-642-51175-2_21). In New approaches in classification and data analysis, pages 186193. Springer, 1994.
- S. C. Johnson. [Hierarchical clustering schemes](http://link.springer.com/article/10.1007/BF02289588). Psychometrika, 32(3):241254, 1967.
<br>
<br>
## Chapter 12: Training Artificial Neural Networks for Image Recognition
##### Literature
- D. R. G. H. R. Williams and G. Hinton. [Learning representations by back-propagating errors](http://lia.disi.unibo.it/Courses/SistInt/articoli/nnet1.pdf). Nature, pages 323533, 1986.
- Y. Taigman, M. Yang, M. Ranzato, and L. Wolf. Deepface: [Closing the gap to human-level performance in face verification](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6909616&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6909616). In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 17011708. IEEE, 2014.
- A. Hannun, C. Case, J. Casper, B. Catanzaro, G. Diamos, E. Elsen, R. Prenger, S. Satheesh, S. Sengupta, A. Coates, et al. Deepspeech: [Scaling up end-to-end speech recognition](http://arxiv.org/pdf/1412.5567.pdf). arXiv preprint arXiv:1412.5567, 2014.
- T. Unterthiner, A. Mayr, G. Klambauer, and S. Hochreiter. [Toxicity prediction using deep learning](http://arxiv.org/pdf/1412.5567.pdf). arXiv preprint arXiv:1503.01445, 2015.
- T. Hastie, J. Friedman, and R. Tibshirani. [The Elements of Statistical Learning](http://statweb.stanford.edu/~tibs/ElemStatLearn/), volume 2. Springer, 2009.
- Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. [Gradient-based learning applied to document recognition](http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf). Proceedings of the IEEE, 86(11):22782324, 1998.
- A. G. Baydin and B. A. Pearlmutter. [Automatic differentiation of algorithms for machine learning](http://arxiv.org/pdf/1404.7456v1.pdf). arXiv preprint arXiv:1404.7456, 2014.
- Y. Bengio. [Learning deep architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf). Foundations and trends in Machine Learning, 2(1):1127, 2009.
- P. Y. Simard, D. Steinkraus, and J. C. Platt. [Best practices for convolutional neural networks applied to visual document analysis](http://www.computer.org/csdl/proceedings/icdar/2003/1960/02/196020958.pdf). In null, page 958. IEEE, 2003.
- S. Hochreiter and J. Schmidhuber. [Long short-term memory](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6795963&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6795963). Neural computation, 9(8):17351780, 1997.
- C. M. Bishop. [Neural networks for pattern recognition](https://books.google.com/books?hl=en&lr=&id=T0S0BgAAQBAJ&oi=fnd&pg=PP1&dq=Neural+networks+for+pattern+recognition&ots=jL6TqGbBld&sig=fiLrMg-RJx22cgQ7zd2CiwUqNqI#v=onepage&q=Neural%20networks%20for%20pattern%20recognition&f=false). Oxford university press, 1995.
##### Links
- "How Google Translate squeezes deep learning onto a phone": http://googleresearch.blogspot.com/2015/07/how-google-translate-squeezes-deep.html
- Article about Endianness: https://en.wikipedia.org/wiki/Endianness
##### Additional Resources & Further Reading
- Automatic differentiation: https://en.wikipedia.org/wiki/Automatic_differentiation
<br>
<br>
## Chapter 13: Parallelizing Neural Network Training with Theano
##### Literature
- J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley, and Y. Bengio. Theano: [A cpu and gpu math compiler in python](https://projects.scipy.org/scipy2010/slides/james_bergstra_theano.pdf). In Proc. 9th Python in Science Conf, pages 17, 2010.
##### Links
- LISA Lab: http://lisa.iro.umontreal.ca
- Theano: http://deeplearning.net/software/theano/
- Pylearn2: http://deeplearning.net/software/pylearn2/
- Lasagne: https://lasagne.readthedocs.org/en/latest/
- Keras: http://keras.io
- SymPy: http://www.sympy.org/en/index.html
##### People
- Geoff Hinton http://www.cs.toronto.edu/~hinton/,
- Andrew Ng http://www.andrewng.org
- Yann LeCun http://yann.lecun.com
- Juergen Schmidhuber http://people.idsia.ch/~juergen/
- Yoshua Bengio http://www.iro.umontreal.ca/~bengioy
##### Additional Resources & Further Reading
- Symbolic Computation: https://en.wikipedia.org/wiki/Symbolic_computation
- What Every Programmer Should Know About Floating-Point Arithmetic: http://floating-point-gui.de
Binary file not shown.