肥宅钓鱼网
当前位置: 首页 钓鱼百科

tensorflow量化计算(最喜欢随机森林)

时间:2023-07-12 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

最喜欢随机森林机器之心报道机器之心编辑部TensorFlow决策森林(TF-DF)现已开源,该库集成了众多SOTA算法,不需要输入特征,可以处理数值和分类特征,为开发者节省了大量时间在人工智能发展史上,各类算法可谓。

机器之心报道

机器之心编辑部

TensorFlow 决策森林 (TF-DF) 现已开源,该库集成了众多 SOTA 算法,不需要输入特征,可以处理数值和分类特征,为开发者节省了大量时间。

在人工智能发展史上,各类算法可谓层出不穷。近十几年来,深层神经网络的发展在机器学习领域取得了显著进展。通过构建分层或「深层」结构,模型能够在有监督或无监督的环境下从原始数据中学习良好的表征,这被认为是其成功的关键因素。

而深度森林,是 AI 领域重要的研究方向之一。

2017 年,周志华和冯霁等人提出了深度森林框架,这是首次尝试使用树集成来构建多层模型的工作。2018 年,周志华等人又在研究《Multi-Layered Gradient Boosting Decision Trees》中探索了多层的决策树。今年 2 月,周志华团队开源深度森林软件包 DF21:训练效率高、超参数少,在普通设备就能运行。

就在近日,TensorFlow 开源了 TensorFlow 决策森林 (TF-DF)。TF-DF 是用于训练、服务和解释决策森林模型(包括随机森林和梯度增强树)生产方面的 SOTA 算法集合。现在,你可以使用这些模型进行分类、回归和排序任务,具有 TensorFlow 和 Keras 的灵活性和可组合性。

谷歌大脑研究员、Keras之父François Chollet表示:「现在可以用Keras API训练TensorFlow决策森林了。」

对于这一开源项目,网友表示:「这非常酷!随机森林是我最喜欢的模型。」

决策森林

决策森林是一系列机器学习算法,其质量和速度可与神经网络相竞争(它比神经网络更易于使用,功能也很强大),实际上与特定类型的数据配合使用时,它们比神经网络更出色,尤其是在处理表格数据时。

随机森林是一种流行的决策森林模型。在这里,你可以看到一群树通过投票结果对一个例子进行分类。

决策森林是由许多决策树构建的,它包括随机森林和梯度提升树等。这使得它们易于使用和理解,而且可以利用已经存在的大量可解释性工具和技术进行操作。

决策树是一系列仅需做出是 / 否判断的问题,使用决策树将动物分成鸡、猫、袋鼠。

TF-DF 为 TensorFlow 用户带来了模型和一套定制工具:

如上图所示,只需使用一行代码就能构建模型,相比之下,动图中的下面代码是用于构建神经网络的代码。在 TensorFlow 中,决策森林和神经网络都使用 Keras。可以使用相同的 API 来实验不同类型的模型,更重要的是,可以使用相同的工具,例如 TensorFlow Serving 来部署这两种模型。

以下是 TF-DF 提供的一些功能:

代码示例

下面进行示例展示,可以让使用者简单明了。

模型训练

在数据集 Palmer's Penguins 上训练随机森林模型。目的是根据一种动物的特征来预测它的种类。该数据集包含数值和类别特性,并存储为 csv 文件。

Palmer's Penguins 数据集示例。

模型训练代码:

# Install TensorFlow Decision Forests!pip install tensorflow_decision_forests# Load TensorFlow Decision Forestsimport tensorflow_decision_forests as tfdf# Load the training dataset using pandasimport pandastrain_df = pandas.read_csv("penguins_train.csv")# Convert the pandas dataframe into a TensorFlow datasettrain_ds = tfdf.keras.pd_dataframe_to_tf_dataset(train_df, label="species")# Train the modelmodel = tfdf.keras.RandomForestModel()model.fit(train_ds)

请注意,代码中没有提供输入特性或超参数。这意味着,TensorFlow 决策森林将自动检测此数据集中的输入特征,并对所有超参数使用默认值

评估模型

现在开始对模型的质量进行评估:

# Load the testing datasettest_df = pandas.read_csv("penguins_test.csv")# Convert it to a TensorFlow datasettest_ds = tfdf.keras.pd_dataframe_to_tf_dataset(test_df, label="species")# Evaluate the modelmodel.compile(metrics=["accuracy"])print(model.evaluate(test_ds))# >> 0.979311# Note: Cross-validation would be more suited on this small dataset.# See also the "Out-of-bag evaluation" below.# Export the model to a TensorFlow SavedModelmodel.save("project/my_first_model")

带有默认超参数的随机森林模型为大多数问题提供了一个快速和良好的基线。决策森林一般会对中小尺度问题进行快速训练,与其他许多类型的模型相比,需要较少的超参数调优,并且通常会提供强大的结果。

解读模型

现在,你已经了解了所训练模型的准确率,接下来该考虑它的可解释性了。如果你希望理解和解读正被建模的现象、调试模型或者开始信任其决策,可解释性就变得非常重要了。如上所述,有大量的工具可用来解读所训练的模型。首先从 plot 开始:

tfdf.model_plotter.plot_model_in_colab(model, tree_idx=0)

其中一棵决策树的结构。

你可以直观地看到树结构。此外,模型统计是对 plot 的补充,统计示例包括:

这些问题的答案以及更多类似查询的答案都包含在模型概要中,并可以在模型检查器中访问。

# Print all the available information about the modelmodel.summary()>> Input Features (7):>>bill_depth_mm>>bill_length_mm>>body_mass_g>>...>> Variable Importance:>>1."bill_length_mm" 653.000000 ################>>...>> Out-of-bag evaluation: accuracy:0.964602 logloss:0.102378>> Number of trees: 300>> Total number of nodes: 4170>>...# Get feature importance as a arraymodel.make_inspector().variable_importances()["MEAN_DECREASE_IN_ACCURACY"]>> [("flipper_length_mm", 0.149),>>("bill_length_mm", 0.096),>>("bill_depth_mm", 0.025),>>("body_mass_g", 0.018),>>("island", 0.012)]

在上述示例中,模型通过默认超参数值进行训练。作为首个解决方案而言非常好,但是调整超参数可以进一步提升模型的质量。可以如下这样做:

# List all the other available learning algorithmstfdf.keras.get_all_models()>> [tensorflow_decision_forests.keras.RandomForestModel,>>tensorflow_decision_forests.keras.GradientBoostedTreesModel,>>tensorflow_decision_forests.keras.CartModel]# Display the hyper-parameters of the Gradient Boosted Trees model ? tfdf.keras.GradientBoostedTreesModel>> A GBT (Gradient Boosted [Decision] Tree) is a set of shallow decision trees trained sequentially. Each tree is trained to predict and then "correct" for the errors of the previously trained trees (more precisely each tree predicts the gradient of the loss relative to the model output).....Attributes:num_trees: num_trees: Maximum number of decision trees. The effective number of trained trees can be smaller if early stopping is enabled. Default: 300.max_depth: Maximum depth of the tree. `max_depth=1` means that all trees will be roots. Negative values are ignored. Default: 6....# Create another model with specified hyper-parametersmodel = tfdf.keras.GradientBoostedTreesModel(num_trees=500,growing_strategy="BEST_FIRST_GLOBAL",max_depth=8,split_axis="SPARSE_OBLIQUE",)# Evaluate the modelmodel.compile(metrics=["accuracy"])print(model.evaluate(test_ds))# >> 0.986851

参考链接:

https://blog.tensorflow.org/2021/05/introducing-tensorflow-decision-forests.html

,
    推荐阅读
  • 湘潭出租车资格证办理(湘潭城区巡游出租车起步价拟上调1元)

    通过征求各方意见,湘潭市城区巡游出租车运价将进行调整,日间起步价拟从6元/2公里调整至7元/2公里。目前,湘潭市城区共有出租车企业10家,车辆1400台,驾驶员约2000人。综合全市城区公共交通发展政策、居民承受能力、周边城市出租车价格等,湘潭市拟定了市城区出租车运价调整听证方案,上调出租车基本运价和调整高峰时段低速计时等。经市政府批准同意后,将正式发文确定市城区巡游出租车运价。

  • 晚上吃圣女果有什么好处(晚上吃圣女果的优点)

    下面更多详细答案一起来看看吧!晚上吃圣女果有什么好处圣女果中含有大量的番茄红素以及各种的维生素,可以补充人体所需要的营养物质,提高免疫力。圣女果中含有大量的胡萝卜素,胡萝卜素进入到人体内会转化成维生素a,用来治疗各种的眼部疾病,例如视物不清、目赤肿痛等。圣女果具有健胃消食的功效,用来治疗食欲不振或者是消化不良。

  • 优盘重装win10系统步骤 u盘重装系统win10教程

    1、制作好大白菜uefipe启动优盘之后,将win1064位系统iso镜像直接复制到优盘gho目录下;2、在uefi电脑上插入优盘,启动之后不停按F12或F11或Esc等快捷键,不同电脑启动键不同,在弹出的启动项选择框中,选择识别到的U盘选项,如果有带UEFI的启动项,要选择uefi的项,回车从uefi引导;3、由于制作方式不同,有些大白菜uefipe启动盘会直接进入pe系统,有些会先显示这个主界

  • 一条胎最多可以补多少次(一条胎最多能补几次)

    上图就是目前最普及的子午线轮胎的内部构造,试想一下要是它被扎了个洞漏气了,一般的修补方式能完全修复么?正规的轮胎厂会给出轮胎修补次数的建议,在建议次数及规范内,修补后的轮胎还可以上高速。子午线轮胎的胎壁是最脆弱的部位,一些却气保用轮胎更是在关键时刻需要用胎壁强度保持足够的支撑力。其实很多轮胎在经过一段时间的磨损后,性能都会有所下降,影响行车安全。

  • 豆腐这样做超级好吃超级下饭(豆腐学会这样做)

    取两根香菜,清洗干净后,切成小段的,放在碗里备用。先把准备好的洋葱清洗干净,接着把洋葱从中间切开,拿走一半以后用,留下的一半先放在清水中浸泡,这样能减少洋葱的辛辣味。浸泡一会儿,将洋葱取出来,控一下水,然后用菜刀给切成片。取出炒锅,倒入食用油,开火烧油。

  • 尿毒症献血会被采用吗(兰大二院为一名尿毒症患者成功开展ABO血型不相容亲属活体肾移植术)

    经过体检,其母身体情况和肾脏功能符合要求,但血型是A型,而尹先生为B型,二人属于ABO血型不相容,不符合一般肾移植血型配型原则。为了早日解除患者病痛,团队医师向患者及家属充分告知了相关情况,尹先生决心接受ABO血型不相容的肾移植术。9月21日,尹先生血浆内的抗A抗体被完全清除,肾移植团队随即为供受双方施行了亲属活体肾移植术。

  • 特朗普成功上任美国第45任总统(美国44任总统大排行)

    特朗普成功上任美国第45任总统近日,美国历史学家和专业观察人士对美国建国以来的44任总统进行了一次评估,并对他们一一进行排名。值得注意的是,调查结果显示,把美国闹得鸡飞狗跳的特朗普并不是倒数第一,而榜首则被一人牢牢占据,连续4年没换人。报道提到,排名第一的林肯获得了897分的好成绩,而位于倒数第四的特朗普仅得到312分,两人分数相差585分。

  • 红米redmi k30S 至尊纪念版,父亲节礼物,实用层面开箱讲解

    京东的物流是真的快,这点好评。购买理由手机购于京东,由于前段时间家父手机摔爆屏了,便想在父亲节当天送父亲一个新手机,咨询之后。需要单独说明的是,由于之前的手机用的微信双开,转移数据之后只有一个微信的数据成功转移,双开的另一个微信数据无法导入,但是导入数据就得用新手机的微信扫旧手机微信的二维码。

  • 怎么做牛肉酱烧豆腐(牛肉酱烧豆腐做法)

    怎么做牛肉酱烧豆腐内酯豆腐350克,牛肉酱2汤匙,生抽1汤匙,香葱2根,清水半碗,盐半茶匙,大蒜2瓣,花椒粉适量,水淀粉50克,食用油适量。香葱切成小段或葱花,大蒜切蒜末,小碗中放入玉米淀粉和水搅拌均匀成水淀粉。另起锅倒入食用油烧至五成热,再放入蒜末小火炒香。撒适量的花椒粉,沿着锅边淋入水淀粉依然晃动锅。待豆腐完全裹上调味汁呈黏稠状态,关火撒入葱段即可。

  • 专杀水花生草烂根的除草剂 水花生专用除草剂除根

    水花生在池塘、沼泽地、水稻田等地方大量的繁殖,不及时处理会影响作物的生长。每亩用20%使它隆乳油40-70ml,然后加水30l,或每亩用1%草甘膦水剂1000-2000ml,然后加水20-30l,或48%苯达松液剂133-200ml,然后加水30l,均匀对叶面喷雾即可。