在Tensorflow中训练提升树(BoostedTrees)模型  TensorFlowCore

提升树(BoostedTrees)模型受到许多机器学习从业者的欢迎,因为它们可以通过最小化的超参数调整获得令人印象深刻的性能。

您将使用泰坦尼克数据集,该数据集的目标是在给出性别、年龄、阶级等特征的条件下预测乘客幸存与否。

您将使用以下特征来进行训练:

让我们首先预览一些数据,并在训练集上创建摘要统计。

dftrain.shape[0],dfeval.shape[0](627,264)大多数乘客在20岁或30岁。

男乘客大约是女乘客的两倍。

大多数乘客都在“三等”舱。

大多数乘客从南安普顿出发。

与男性相比,女性存活的几率要高得多。这显然是该模型的预测特征。

fc=tf.feature_columnCATEGORICAL_COLUMNS=['sex','n_siblings_spouses','parch','class','deck','embark_town','alone']NUMERIC_COLUMNS=['age','fare']defone_hot_cat_column(feature_name,vocab):returntf.feature_column.indicator_column(tf.feature_column.categorical_column_with_vocabulary_list(feature_name,vocab))feature_columns=[]forfeature_nameinCATEGORICAL_COLUMNS:#Needtoone-hotencodecategoricalfeatures.vocabulary=dftrain[feature_name].unique()feature_columns.append(one_hot_cat_column(feature_name,vocabulary))forfeature_nameinNUMERIC_COLUMNS:feature_columns.append(tf.feature_column.numeric_column(feature_name,dtype=tf.float32))您可以查看特征列生成的转换。例如,以下是在单个样本中使用indicator_column的输出:

example=dict(dftrain.head(1))class_fc=tf.feature_column.indicator_column(tf.feature_column.categorical_column_with_vocabulary_list('class',('First','Second','Third')))print('Featurevalue:"{}"'.format(example['class'].iloc[0]))print('One-hotencoded:',tf.keras.layers.DenseFeatures([class_fc])(example).numpy())Featurevalue:"Third"One-hotencoded:[[0.0.1.]]此外,您还可以一起查看所有特征列的转换:

#使用大小为全部数据的batch,因为数据规模非常小.NUM_EXAMPLES=len(y_train)defmake_input_fn(X,y,n_epochs=None,shuffle=True):definput_fn():dataset=tf.data.Dataset.from_tensor_slices((dict(X),y))ifshuffle:dataset=dataset.shuffle(NUM_EXAMPLES)#对于训练,可以按需多次循环数据集(n_epochs=None)。dataset=dataset.repeat(n_epochs)#在内存中训练不使用batch。dataset=dataset.batch(NUM_EXAMPLES)returndatasetreturninput_fn#训练与评估的输入函数。train_input_fn=make_input_fn(dftrain,y_train)eval_input_fn=make_input_fn(dfeval,y_eval,shuffle=False,n_epochs=1)训练与评估模型您将执行以下步骤:

在训练提升树(BoostedTrees)模型之前,让我们先训练一个线性分类器(逻辑回归模型)。最好的做法是从更简单的模型开始建立基准。

linear_est=tf.estimator.LinearClassifier(feature_columns)#训练模型。linear_est.train(train_input_fn,max_steps=100)#评估。result=linear_est.evaluate(eval_input_fn)clear_output()print(pd.Series(result))accuracy0.765152accuracy_baseline0.625000auc0.832844auc_precision_recall0.789631average_loss0.478908global_step100.000000label/mean0.375000loss0.478908precision0.703297prediction/mean0.350790recall0.646465dtype:float64下面让我们训练提升树(BoostedTrees)模型。提升树(BoostedTrees)是支持回归(BoostedTreesRegressor)和分类(BoostedTreesClassifier)的。由于目标是预测一个生存与否的标签,您将使用BoostedTreesClassifier。

#由于数据存入内存中,在每层使用全部数据会更快。#上面一个batch定义为整个数据集。n_batches=1est=tf.estimator.BoostedTreesClassifier(feature_columns,n_batches_per_layer=n_batches)#一旦建立了指定数量的树,模型将停止训练,#而不是基于训练步数。est.train(train_input_fn,max_steps=100)#评估。result=est.evaluate(eval_input_fn)clear_output()print(pd.Series(result))accuracy0.829545accuracy_baseline0.625000auc0.872788auc_precision_recall0.857807average_loss0.411839global_step100.000000label/mean0.375000loss0.411839precision0.793478prediction/mean0.381942recall0.737374dtype:float64现在您可以使用训练的模型从评估集上对乘客进行预测了。Tensorflow模型经过优化,可以同时在一个batch或一个集合的样本上进行预测。之前,eval_inout_fn是使用整个评估集定义的。

最后,您还可以查看结果的受试者工作特征曲线(ROC),这将使我们更好地了解真阳性率与假阴性率之间的权衡。

THE END
1.树木3d模型max3dmax3d模型免费下载说明: 3dsMax工具内截图云检查是爱给网根据自动化脚本命令打开模型文件后自动截图生成,主要用于辅助判断预览图和实际模型的一致性。 提示: 由于云检查并不是人工进行的,此项检查存在诸多因素(如视角、背景默认设置不佳等)导致约有6%的模型还不能很好的展示,因此截图并不能完全代表模型的实际效果,仅供参考用,后续爱...https://www.aigei.com/item/shu_mu_3d_mo_xi.html
2.树形模型入门指南:从零开始的简易教程动态规划在树上的应用(树形DP):在优化问题中,通过分解问题,利用子问题的解来构建原问题的解。 高级树结构: B树:用于数据库索引和文件系统,具有更高的搜索效率和插入/删除性能。 红黑树:平衡二叉查找树,确保操作复杂度为O(log n)。 机器学习中的树模型: ...https://www.imooc.com/article/347026
1.大树景观树模型树木模型库3dsMax(.max)模型下载CG模型网(cgmodel.com)聚集了全球数百万三维艺术设计师,提供优质三维模型(大树,景观树,园林树,团状树,参天大树,苗条树,真实大树)模型素材下载,属于(树木)模型,下载3ds Max(.max)模型格式(大树,景观树,园林树,团状树,参天大树,苗条树,真实大树)模型,有版权的模型https://www.cgmodel.com/model/791298.html
2.树模型总结树模型有哪些树模型总结 文章目录 1. 决策树 1.0 问题汇总 1.1 原理 1.2 ID3、C4.5、CART 1.2.1 ID3 1.2.2 C4.5 1.2.3 CART 1.3 信息增益 vs 信息增益比 1.4 Gini指数 vs 熵 1.5 剪枝 1.6 总结 2. 随机森林(Random Forest) 2.1 集成学习方法 2.2 Bagging...https://blog.csdn.net/herosunly/article/details/103105859
3.树木智能建模(精选三篇)递归算法是分形几何中的经典算法, 在计算机程序中也普遍使用, 在研究图形方面时, 常用来构造分形模型。本文采用递归算法特定的形式生成分形树, 其基本原理是:先规定基本的生成元, 然后将这个基本的生成元在计算机上按照生成规则在每一个层次上不断重绘, 直至达到预设定的递归结束条件。规定不同的生成元可以生成不同...https://www.360wenmi.com/f/cnkey7w0iga3.html
4.树模型daiwk基础树模型 ID3 C4.5 CART CART,又名分类回归树,是在ID3的基础上进行优化的决策树,学习CART记住以下几个关键点: CART既能是分类树,又能是分类树; 节点分裂的依据: 分类树时,采用GINI值; 回归树时,采用样本的最小方差; CART是一棵二叉树 详见https://www.cnblogs.com/canyangfeixue/p/7802835.html ...https://daiwk.github.io/posts/ml-tree-models.html
5.大树3d模型大树模型图片素材免费下载3D溜溜网3d模型库,汇集多类型大树模型图片素材,帮设计师根据不同场景,寻找免费下载的三维立体,3dmax和C4D模型素材,找大树3d模型图片素材就来3D溜溜网。https://www.3d66.com/relation/relation_2071002_4.html
6.机器学习手把手教你学习决策树模型训练 以上面的训练数据集为例,其中食肉、产奶、有鳍、有毒分别为四个特征属性,类别则为标签列。目的是通过这些信息训练一个决策树模型,用于对给定的数据集进行分类。该样本数据集记作T,该数据集包含鱼类(C1),爬行动物(C2),哺乳动物(C3)三个类别,有食肉(P)、产奶(M)、有鳍(F)、有毒(V)四个特征属性...https://blog.itpub.net/70027824/viewspace-2960615/
7.BoostedTrees介绍·XGBoost中文文档·看云这是derivation(派生)的神奇部分。在对树模型进行重新格式化之后,我们可以用第 棵树来编写目标值如 : 其中 是分配给第 个叶子的数据点的索引的集合。 请注意,在第二行中,我们更改了总和的索引,因为同一叶上的所有数据点都得到了相同的分数。 我们可以通过定义 ...https://www.kancloud.cn/apachecn/xgboost-doc-zh/1945720
8.自动驾驶中的决策规划算法概述2. 决策树模型 决策/行为树模型[7]和状态机模型类似,也是通过当前驾驶状态的属性值反应式地选择不同的驾驶动作,但不同的是该类模型将驾驶状态和控制逻辑固化到了树形结构中,通过自顶向下的“轮询”机制进行驾驶策略搜索。这类决策模型具备可视化的控制逻辑,并且控制节点可复用,但需要针对每个驾驶场景离线定义决策网路...https://maimai.cn/article/detail?fid=1632742005&efid=-v_3-yQZIF8tka6AIpwz5A
9.12款树木绿色植物大树树干模型犀牛rhinoC4D3Dmax样图12款树木绿色植物大树树干模型犀牛rhinoC4D3Dmax样图 12款树木绿色植物大树干竹模型犀牛rhino/C4D/3Dmax/maya设计素材 风格: 12款 树木 绿色植物 大树 树干 模型 犀牛 rhino C4D 3DMAX 图文详情https://www.zhe2.com/note/617748222561