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

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

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

最喜欢随机森林机器之心报道机器之心编辑部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

,
    推荐阅读
  • 湖北黄梅是黄梅戏发源地(黄梅戏诞生在湖北黄冈黄梅县)

    黄梅戏诞生于湖北黄冈黄梅县,以县名黄梅命名戏曲名,黄梅戏原创剧目36大本72小本源自黄冈的黄梅、武穴、蕲春、浠水、麻城等各县真人真事改编,黄梅戏成长于黄冈各县市,经华阳河传入安徽,流行于鄂赣皖三省毗邻地区。1949年,中国第一家公立黄梅戏剧团黄梅县剧团在湖北黄冈地区成立,比全国其他黄梅戏戏剧团早成立3至4年。1952年10月全国第一届戏曲观摩大赛在北京举行,安徽省只有淮剧和小倒戏参加,并没有黄梅戏。

  • excel中都有哪些常用快捷键(Excel中常用的快捷键介绍)

    Ctrl+U这是添加下横线的快捷键,这个很大的可以运用在我们很多地方需要添加的时候,就不用一直去点击菜单中的下划线,直接快捷键就好了,我来为大家科普一下关于excel中都有哪些常用快捷键?excel中都有哪些常用快捷键Ctrl+U。这是生成表格的快捷键,很多时候我们需要通过表格来直观的查看数据的对比,想要减少步凑,就只需要记住这个快捷键即可。

  • 中柬贸易协定的内容(暴涨近46中柬10个月贸易额达109.8亿美元)

    继俄罗斯、哈萨克斯坦等国之后,刚刚又有一个国家被发现,这个国家就是柬埔寨。据悉,此前中柬两国曾定下在2023年达成100亿美元贸易额的目标,如今看来,这个目标已经提前达成。在全球还在闹疫情的情况下,达成这个目标更是难能可贵。另一方面,除了签署中柬自贸协定和RCEP协定等,柬埔寨还加入了“一带一路”。

  • 小区里车辆的安全隐患有哪些(新交规的安全隐患)

    4月1之后新交规正式实施超速20%它是违规,但是并不扣分,速度低于80反而要进行处罚。因为这个实施之后,超速的人他会继续超速,但是车速慢的人他还是继续的这样慢下去。这个区间有64公里每小时的速度之差,可想而知这个差别是有多大。虽然说新交规之后的确会增强通行的效率,但是危险也随之增加了。

  • 手机长期卡顿怎么办(手机长时间卡顿)

    下载应用软件的时候要在正规的渠道下载,注意用浏览器下载的时候要选择“普通”下载,因为有些软件会强制给你一个推广的应用软件,其实是没有必要的,还会拖累你的手机。

  • 塞罕坝怎么从沙漠变成绿洲的(塞罕坝60年荒原林海与三代人的时间)

    现在是2022年7月,手机显示,夜里9点多的长沙温度是35℃。60岁的妻子陈秀玲说。近十年,塞罕坝机械林场声名渐起,三代务林人扎根荒原、重建林海的故事与“塞罕坝精神”为人熟知。林场通常安排一对夫妻共同在望火楼上班。陈秀玲在望火楼怀上了第一个孩子。怀孕7个月时,她不慎摔跤,花了13个小时才被送到医院。塞罕坝的9座望海楼,均位于坝上制高点。望海楼是防火的一道重要枢纽,被称为“塞罕坝的眼睛”。

  • 猴子搏矢的由来(有详细的意思解释吗)

    下面更多详细答案一起来看看吧!猴子搏矢的由来吴王乘船到长江沿岸的一座猴山游玩,很多猴子见人来了就害怕地逃跑,惟独一只猴子从容不迫地跳来跳去,在吴王面前表现它的灵巧,吴王拿起弓箭射它,它灵巧接住了箭。吴王命令助手们齐射,那只想表现的猴子最终给射杀了。现实生活中,有些人就是爱出风头,卖弄自己,生怕别人不了解自己的特长,殊不知这样很不好,就像猴子搏矢,容易把自己给卖弄没了。

  • 想爱不能爱的无奈句子(关于爱而不得的伤感句子)

    爱情其实是一瞬间的事情,日久生情的情况非常少。我的爱从没有离开,可是两个人相爱,总会有无奈老师要求用“白日做梦”造句。女人的可爱在于性情,不完美取决于智商,完美不取决于美丽。总是希望回到最初相识的地点,如果能够再一次选择的话,以为可以爱得更单纯。但却在等待中错过了,那些可以幸福的幸福。

  • 口香糖粘在毛衣上了怎么办(毛衣粘上口香糖怎么办)

    如果条件允许的话,就想办法把口香糖冷却,再从衣服上剥离下来。如果剥离不好,留有污渍,还可用挥发油或洗甲水将其去除。#p#副标题#e#毛衣脏了怎么洗1,先在盆里接入一些凉水,不要太多,只要能浸泡住衣服尽可以,然后,在盆里倒入一些双氧水,也就是过氧化氢,过氧化氢药店有卖。双氧水和水的比例是1:10,搅均匀,把衣服放里面浸泡,大约5分钟左右。

  • 暖气片分类有哪几种(暖气片种类都有哪些)

    4、铝塑暖气片是采用高分子环保材料制作而成的新型复合暖气片,内部结构与铜铝复合暖气片相似,其中走水管道是PE-RT管,表面散热材质是铝合金型材。