# Machine Learning 101 - Decision Trees

This article explains how to develop machine learning and decision trees.

## Overview

This hands on tutorial demonstrates the basics of developing a machine learning routine using Talend and Spark. Specifically, decision tree learning will be leveraged for classification of real-life bank marketing data. Upon completion, you will have a working knowledge of how machine learning is integrated into a Talend workflow and some re-usable code snippets.

The source data used in this tutorial was retrieved from the UCI Machine Learning Repository. Irvine, CA: University of California, Schools of Information and Computer Science. It is available in the public domain and is attributed to: [Moro et al., 2014] S. Moro, P. Cortez and P. Rita. "*A Data-Driven Approach to Predict the Success of Bank Telemarketing.*" Decision Support Systems, Elsevier, 62:22-31, June 2014: [Bank Marketing dataset](https://archive.ics.uci.edu/ml/datasets/Bank+Marketing).

## Prerequisites

You have:

* Hortonworks 2.4 (HDP) installed and configured. You can also use Hortonworks [sandbox](http://hortonworks.com/downloads/), a virtual machine (VM) that you can download. For more information, see Create HDFS Metadata - Hortonworks.
* Basic knowledge of:
  * Hadoop ecosystem's tools and technologies.
  * Hadoop Distributed File System (HDFS) and Spark.
* Working knowledge of Talend Studio and Talend Big Data Platform.
* Talend Big Data Platform installed and configured.

### In this section

* [Understanding data science basics](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/understanding-data-science-basics)
* [Creating a Spark Job for machine learning](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/creating-spark-job-for-machine-learning)
* [Creating a Hadoop cluster for machine learning](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/creating-hadoop-cluster-for-machine-learning)
* [Sampling of Machine Learning Repository data](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/sampling-of-machine-learning-repository-data)
* [Creating a training data schema reference](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/creating-training-data-schema-reference)
* [Accessing training data](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/accessing-training-data)
* [Encoding training data](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/encoding-training-data)
* [Training the decision tree model](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/training-decision-tree-model)
* [Running the decision tree model using test data](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/running-decision-tree-model-using-test-data)
* [Evaluating your decision tree performance](https://help.qlik.com/talend/en-US/components/8.0/machine-learning/evaluating-your-decision-tree-performance)