python有一个非常棒的机器学习依赖包sklearn,用于实现机器学习的很多算法,本文将介绍用sklearn中的决策树的接口来实现决策树。
决策树是一种用于分类的算法,是一种监督学习算法,具体有id3、c4.5和cart三种算法组成。首先通过csv来导入数据集,注意csv格式是按照每一列以逗号为分隔符的形式。但是因为调用sklearn的包时,需要将数据集的表现格式进行转化,也就是通过也就是比如某一个特征取值为youth、middle_aged和senior,那么会通过转化方式将这三个特征变为如果取youth,那么该值取1,否则取0;如果取middle_aged,那么该值就取1,否则就取0,依次类推。这里sklearn就有一个DictVectorizer类转化工具,用于将一个数据集表示成只包含数值型数据的一个list,这样就可以应用相应的算法进行计算了。
然后就是调用sklearn中的决策树算法来实现,默认tree下关于决策树有两个可以调用的文件,即DecisionTreeClassifier 和 DecisionTreeRegressor两个包,一个用于分类,另一个用于回归。可以用训练集对其进行训练模型,然后用新的测试集对该模型进行测试,