Method: Python Dataset: Census Income Source: https://archive.ics.uci.edu/ml/datasets/Adult Objective The objective of this task is to implement from scratch Decision Tree classification method to predict whether the incomes exceed $50K/yr based on census data. Thus, this is a binary classification problem. The training and test sets are pre-defined in the data set (i.e., in "adult.data" and "adult.test"). Requirements (1) Implement two DT models by choosing any two (2) split criteria from Information Gain, Gain Ratio, Gini Index and Variance. Note that you can use either binary-split or multiple-split. (2) Use (approximately) 2/3 records in "adult.data" for training, and 1/3 records in "adult.data" for post-pruning. (3) Report the accuracy of each model. (4) All DT models must be self-implemented. You CANNOT use any machine learning library in this task. (5) It is recommended that your implementation includes a "tree induction function", a "classification function" and a "post-pruning function". (6) You can (but not must) use any suitable pre-processing method. You also can (but not must) use any reasonable early stopping criteria (pre-pruned parameters such as number of splits, minimum data set size, and split threshold) to improve the training speed. If you do so, explain your reasons. (7) Present clear and accurate explanation of your implementation and results
Method: Python
Dataset: Census Income
Source: https://archive.ics.uci.edu/ml/datasets/Adult
Objective
The objective of this task is to implement from scratch Decision Tree classification method to predict whether the incomes exceed $50K/yr based on census data. Thus, this is a binary classification problem. The training and test sets are pre-defined in the data set (i.e., in "adult.data" and "adult.test").
Requirements
(1) Implement two DT models by choosing any two (2) split criteria from Information Gain, Gain Ratio, Gini Index and Variance. Note that you can use either binary-split or multiple-split.
(2) Use (approximately) 2/3 records in "adult.data" for training, and 1/3 records in "adult.data" for post-pruning.
(3) Report the accuracy of each model.
(4) All DT models must be self-implemented. You CANNOT use any machine learning library in this task.
(5) It is recommended that your implementation includes a "tree induction function", a "classification function" and a "post-pruning function".
(6) You can (but not must) use any suitable pre-processing method. You also can (but not must) use any reasonable early stopping criteria (pre-pruned parameters such as number of splits, minimum data set size, and split threshold) to improve the training speed. If you do so, explain your reasons.
(7) Present clear and accurate explanation of your implementation and results
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images