马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天用决策树预测鸢尾花数据,先建立决策树模型,代码如下:from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
iris=load_iris()
X=iris.data[:,2:]
y=iris.target
tree_clf=DecisionTreeClassifier(max_depth=2)
tree_clf.fit(X,y)
决策树是一棵树型的逻辑图,许多个决策树就组成了随机森林,我们可以把以上模型做成一个.dot文件的树形图:from sklearn.tree import export_graphviz
export_graphviz(
tree_clf,
out_file="iris_tree.dot",
feature_names=iris.feature_names[2:],
class_names=iris.target_names,
rounded=True,
filled=True
)
以上代码会在你电脑里生成个iris_tree.dot文件,也可以转传承png文件,但是必须在Linux系统下,输入如下命令:dot -Tpng iris_tree.dot -o iris_tree.png
这里就不做演示了。下面预测下5厘米长1.5厘米宽的花瓣的准确率:tree_clf.predict_proba([[5,1.5]])
输出为:array([[ 0. , 0.90740741, 0.09259259]])。然后看下预测结果:tree_clf.predict([[5,1.5]])
输出为:array([1])。是第二种花。以上是决策树的分类模型,我们也可以用决策树建回归模型,与分类模型的区别是,回归模型每个节点是一个数,而分类模型是一个类。代码如下:from sklearn.tree import DecisionTreeRegressor
tree_reg=DecisionTreeRegressor(max_depth=2)
tree_reg.fit(X,y)
决策树的优点是模型的使用上运算速度快,但是建立模型的时间长,就跟我们学数据结构和算法里的map一样,缺点是不稳定。
|