Machine Learning for Mobile
上QQ阅读APP看书,第一时间看更新

Decision trees

Decision tree algorithms are used for making decisions based on certain conditions. A decision tree is drawn upside down with its root at the top. 

Let's take an organization's data where the feature set consists of certain software products along with their attributes—the time taken to build the product T, the effort taken to build the product E, and the cost taken to build the product C. It needs to be decided whether those products are to be built in the company or should be bought as products directly from outside the company.

Now, let's see how the decision tree could be created for this. In the following diagram, the bold text in black represents a condition/internal node, based on which the tree splits into branches/edges. The end of the branch that doesn't split any more is the decision/leaf.

Decision trees are used in program management, project management, and risk planning. Let's see a practical example. The following diagram shows the decision tree used by an organization for deciding which of its software needs to be built in-house or be purchased as products directly from outside. There are various decision points that need to be considered before making a decision and this can be represented in the form of a tree. The three features, cost, effort, and the schedule parameters, are considered to arrive at the decision as to Buy or Build:

The preceding tree is called a classification tree as the aim is to classify a product nature as to buy or to build. Regression trees are represented in the same manner, only they predict continuous values, such as the price of a house. In general, decision tree algorithms are referred to as CART or Classification and Regression Trees.

Decision trees can be applied to the following areas:

  • Risk identification
  • Loan processing
  • Election result prediction
  • Process optimization
  • Optional Pricing