1.实验目的
学习和掌握基于sklearn应用决策树的方法,理解决策树模型构建算法中的一些基本参数的作用,体会模型的复杂度和泛化性能之间的关系。
2.实验内容
(1)加载并查看数据集。
使用pandas查看数据集,可以通过pandas.set_option(‘参数名’,参数值)进行相关显示设置。参数完整形式为“display.参数名”,“display”可以省略。常用的参数有:width,用来设置显示区域的总宽度,总宽度用字符数计算;max_rows、max_colums,用来设置显示的最大行和列数,“None”表示显示所有;max_colwidth,用来设置单列数据显示的字符数,超过时用省略号表示;expand_frame_repr,用来设置输出数据超过宽度时是否折叠,“False”表示不折叠。
pandas用于分析数据,常用的方法有按照某个属性将数据进行分组,便于对比和单独研究,这可以通过groupby()和get_group()来实现。对于dataframe行和列的引用,可以用iloc选择行或者以loc[‘行’,[列1,列2,…]]的方式返回指定的行和列的内容。
参考代码见\C4\ex4_1_Decision Tree\Decision Tree_01.py,请参考分析各种数据集,比如sklearn自带的鸢尾花数据集、胸部癌症数据集等。
(2)训练决策树模型并可视化决策树。
参考代码见\C4\ex4_1_Decision Tree\Decision Tree_02.py。(www.xing528.com)
(3)将数据分为训练数据集和测试数据集,分析决策树的预测性能。通过调整不同的参数和应用剪枝过程,分析对决策树性能的影响。
3.实验扩展
(1)使用随机森林(random forest)来分析数据。随机森林相当于多个决策树,在sklearn中通过RandomForestClassifier或RandomForestRegressor来实现,其中的主要参数有:
①n_estimators:随机森林中决策树的个数,默认为100。
②criterion:随机森林中决策树的算法,可选两种,默认为“‘gini’”,即CART算法,也可以选“‘entropy’”,即ID3算法。
③max_depth:决策树的最大深度。
(2)使用sklearn中的GridSearch CV类,进行模型参数调优。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。