# Decision Tree Learning

### Introduction to Machine Learning for non-developers

There are several types of predictive models. These models usually have several input columns and one target or outcome column, which is the variable to be predicted. So basically, a model performs mapping between inputs and an output, finding-mysteriously, sometimes-the relationships between the input variables in order to predict any other variable. As you may notice, it has some commonalities with a human being who reads the environment processes the information and performs a certain action. It's about becoming familiar with one of the most-used predictive models: Random Forest (official algorithm site), implemented in R, one of the most-used models due to its simplicity in tuning and robustness across many different types of data.

### Fundamentals of Decision Trees in Machine Learning

A tree has many analogies in real life, and turns out that it has influenced a wide area of machine learning, covering both classification and regression. In decision analysis, a decision tree can be used to visually and explicitly represent decisions and decision making. If you're working towards an understanding of machine learning, it's important to know how to work with decision trees. This course covers the essentials of machine learning, including predictive analytics and working with decision trees. In this course, we'll explore several popular tree algorithms and learn how to use reverse engineering to identify specific variables.

### Top 10 Machine Learning Algorithms for Beginners

The study of ML algorithms has gained immense traction post the Harvard Business Review article terming a'Data Scientist' as the'Sexiest job of the 21st century'. So, for those starting out in the field of ML, we decided to do a reboot of our immensely popular Gold blog The 10 Algorithms Machine Learning Engineers need to know -- albeit this post is targeted towards beginners. ML algorithms are those that can learn from data and improve from experience, without human intervention. Learning tasks may include learning the function that maps the input to the output, learning the hidden structure in unlabeled data; or'instance-based learning', where a class label is produced for a new instance by comparing the new instance (row) to instances from the training data, which were stored in memory. 'Instance-based learning' does not create an abstraction from specific instances. Supervised learning can be explained as follows: use labeled training data to learn the mapping function from the input variables (X) to the output variable (Y).

### Introduction to Machine Learning for non-developers

There are several types of predictive models. These models usually have several input columns and one target or outcome column, which is the variable to be predicted. So basically, a model performs mapping between inputs and an output, finding-mysteriously, sometimes-the relationships between the input variables in order to predict any other variable. As you may notice, it has some commonalities with a human being who reads the environment processes the information and performs a certain action. It's about becoming familiar with one of the most-used predictive models: Random Forest (official algorithm site), implemented in R, one of the most-used models due to its simplicity in tuning and robustness across many different types of data.

### Complete Analysis of a Random Forest Model

Random forests have become an important tool for improving accuracy in regression problems since their popularization by (Breiman, 2001) and others. In this paper, we revisit a random forest model originally proposed by (Breiman, 2004) and later studied by (Biau, 2012), where a feature is selected at random and the split occurs at the midpoint of the block containing the chosen feature. If the regression function is sparse and depends only on a small, unknown subset of $S$ out of $d$ features, we show that given $n$ observations, this random forest model outputs a predictor that has a mean-squared prediction error of order $\left(n\sqrt{\log^{S-1} n}\right)^{-\frac{1}{S\log2+1}}$. When $S \leq \lfloor 0.72 d \rfloor$, this rate is better than the minimax optimal rate $n^{-\frac{2}{d+2}}$ for $d$-dimensional, Lipschitz function classes. As a consequence of our analysis, we show that the variance of the forest decays with the depth of the tree at a rate that is independent of the ambient dimension, even when the trees are fully grown. In particular, if $\ell_{avg}$ (resp. $\ell_{max}$) is the average (resp. maximum) number of observations per leaf node, we show that the variance of this forest is $\Theta\left(\ell^{-1}_{avg}(\sqrt{\log n})^{-(S-1)}\right)$, which for the case of $S = d$, is similar in form to the lower bound $\Omega\left(\ell^{-1}_{max}(\log n)^{-(d-1)}\right)$ of (Lin and Jeon, 2006) for any random forest model with a nonadaptive splitting scheme. We also show that the bias is tight for any linear model with nonzero parameter vector. Thus, we completely characterize the fundamental limits of this random forest model. Our new analysis also implies that better theoretical performance can be achieved if the trees are grown less aggressively (i.e., grown to a shallower depth) than previous work would otherwise recommend.

### Wavelet Decomposition of Gradient Boosting

In this paper we introduce a significant improvement to the popular tree-based Stochastic Gradient Boosting algorithm using a wavelet decomposition of the trees. This approach is based on harmonic analysis and approximation theoretical elements, and as we show through extensive experimentation, our wavelet based method generally outperforms existing methods, particularly in difficult scenarios of class unbalance and mislabeling in the training data.

### Predicting animal adoption with Random Forest, SVM

Joanne Lin, a student at Thinkful's data science bootcamp, decided to jump in and find insights that can help shelters get more pets rescued.

### RFCDE: Random Forests for Conditional Density Estimation

Random forests is a common non-parametric regression technique which performs well for mixed-type data and irrelevant covariates, while being robust to monotonic variable transformations. Existing random forest implementations target regression or classification. We introduce the RFCDE package for fitting random forest models optimized for nonparametric conditional density estimation, including joint densities for multiple responses. This enables analysis of conditional probability distributions which is useful for propagating uncertainty and of joint distributions that describe relationships between multiple responses and covariates. RFCDE is released under the MIT open-source license and can be accessed at https://github.com/tpospisi/rfcde . Both R and Python versions, which call a common C++ library, are available.

### Decision Tree Design for Classification in Crowdsourcing Systems

In this paper, we present a novel sequential paradigm for classification in crowdsourcing systems. Considering that workers are unreliable and they perform the tests with errors, we study the construction of decision trees so as to minimize the probability of mis-classification. By exploiting the connection between probability of mis-classification and entropy at each level of the decision tree, we propose two algorithms for decision tree design. Furthermore, the worker assignment problem is studied when workers can be assigned to different tests of the decision tree to provide a trade-off between classification cost and resulting error performance. Numerical results are presented for illustration.