算法比较简单,没有涉及剪枝和限制树深,懒得写.. 实现完算法在数据集上跑了一遍,发现数据集太大导致栈溢出,所以只能预测部分数据了,谁知道比较好的优化办法欢迎交流~
数据:
列描述信息
代码:
import pandas as pd
import numpy as np
import math
import sys
col_names=['age','workclass','fnlwgt','education','education_num',
'marital_status','occupation','relationship','race','sex',
'capital_gain','capital_loss','hours_per_week','native_country','high_income']
income=pd.read_table('./data/income.data',sep=',',names=col_names)
#sys.setrecursionlimit(1000) 尝试用sys解决溢出,无效
#处理数据
columns=['workclass','education',