本文为《机器学习实战:基于Scikit-Learn和TensorFlow》的读书笔记。 决策树可以分类,也可以回归,还有多输出任务 安装好Graphviz,在cmd下输入 决策树特性:不需要太多的数据预处理,尤其是不需特征缩放或归一化 通常,算法使用 决策树不需要事先设置参数,不添加约束的决策树模型,能很好的拟合数据,容易过拟合 使用假设检验进行剪枝
中文翻译参考
是随机森林的基础组成部分1. 训练与可视化
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() X = iris.data[:, 2:] # petal length and width y = iris.target tree_clf = DecisionTreeClassifier(max_depth=2) tree_clf.fit(X, y)
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 )
dot -Tpng iris_tree.dot -o iris_tree.png # cmd
,生成决策树可视化图片2. 分类预测
tree_clf.predict_proba([[5,1.5]]) # array([[0. , 0.90740741, 0.09259259]]) tree_clf.predict([[5,1.5]]) # array([1])
O(log2m),与特征数量无关,m为样本数
O(nmlogm) ,n 为特征数量max_features
Gini
不纯度来进行检测,也可以设置为entropy
3. 模型参数
min_samples_split
(节点在被分裂之前必须具有的最小样本数)min_samples_leaf
(叶节点必须具有的最小样本数)min_weight_fraction_leaf
(和min_samples_leaf
相同,但表示为加权总数的一小部分实例)max_leaf_nodes
(叶节点的最大数量)max_features
(在每个节点被评估是否分裂的时候,具有的最大特征数量)min_* hyperparameters
或者减少max_* hyperparameters
会使模型正则化。
上图左侧没有剪枝,模型过拟合了4. 回归
同样需要设置合理的参数,左侧过拟合了5. 不稳定性
06-09 2160
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算