- 最喜欢随机森林?周志华团队DF21后,TensorFlow开源决策森林库TF-D
- 来源:机器之心
TensorFlow 决策森林 (TF-DF) 现已开源,该库集成了众多 SOTA 算法,不需要输入特征,可以处理数值和分类特征,为开发者节省了大量时间。
对初学者来说,开发和解释决策森林模型更容易。不需要显式地列出或预处理输入特征(因为决策森林可以自然地处理数字和分类属性)、指定体系架构(例如,通过尝试不同的层组合,就像在神经网络中一样),或者担心模型发散。一旦你的模型经过训练,你就可以直接绘制它或者用易于解释的统计数据来分析它。
高级用户将受益于推理时间非常快的模型(在许多情况下,每个示例的推理时间为亚微秒)。而且,这个库为模型实验和研究提供了大量的可组合性。特别是,将神经网络和决策森林相结合是很容易的。
TF-DF 提供了一系列 SOTA 决策森林训练和服务算法,如随机森林、CART、(Lambda)MART、DART 等。
基于树的模型与各种 TensorFlow 工具、库和平台(如 TFX)更容易集成,TF-DF 库可以作为通向丰富 TensorFlow 生态系统的桥梁。
对于神经网络用户,你可以使用决策森林这种简单的方式开始 TensorFlow,并继续探索神经网络。
项目地址:https://github.com/tensorflow/decision-forests
TF-DF 网站地址:https://www.tensorflow.org/decision_forests
Google I/O 2021 地址:https://www.youtube.com/watch?v=5qgk9QJ4rdQ
# Install TensorFlow Decision Forests
!pip install tensorflow_decision_forests
# Load TensorFlow Decision Forests
import tensorflow_decision_forests as tfdf
# Load the training dataset using pandas
import pandas
train_df = pandas.read_csv("penguins_train.csv")
# Convert the pandas dataframe into a TensorFlow dataset
train_ds = tfdf.keras.pd_dataframe_to_tf_dataset(train_df, label="species")
# Train the model
model = tfdf.keras.RandomForestModel()
model.fit(train_ds)
# Load the testing dataset
test_df = pandas.read_csv("penguins_test.csv")
# Convert it to a TensorFlow dataset
test_ds = tfdf.keras.pd_dataframe_to_tf_dataset(test_df, label="species")
# Evaluate the model
model.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 SavedModel
model.save("project/my_first_model")
tfdf.model_plotter.plot_model_in_colab(model, tree_idx=0)
每个特性使用了多少次?
模型训练的速度有多快(树的数量和时间)?
节点在树结构中是如何分布的(比如大多数 branch 的长度)?
# Print all the available information about the model
model.summary()
7): Input Features (
>> bill_depth_mm
bill_length_mm
body_mass_g>>
...
Importance: Variable
1. "bill_length_mm" 653.000000 ################
...
evaluation: accuracy:0.964602 logloss:0.102378 Out-of-bag
trees: 300 Number of
nodes: 4170 Total number of
...
# Get feature importance as a array
model.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 algorithms
tfdf.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
"correct" for the errors of the previously trained trees (more precisely each tree predicts the gradient of the loss relative to the model output).. A GBT (Gradient Boosted [Decision] Tree) is a set of shallow decision trees trained sequentially. Each tree is trained to predict and then
...
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-parameters
model = tfdf.keras.GradientBoostedTreesModel(
num_trees=500,
growing_strategy="BEST_FIRST_GLOBAL",
max_depth=8,
split_axis="SPARSE_OBLIQUE"
,)
# Evaluate the model
model.compile(metrics=["accuracy"])
print(model.evaluate(test_ds))#
0.986851
与李航、月影等技术大咖交流; 公司承担食宿、培训等所有费用; 35万元奖金池。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com
科技
-
- 里定医疗发布 多光子超声乳腺成像智能诊断集成系统
- 本报讯 5月27日,贵州里定医疗网络科技股份有限公司发布多光子超声乳腺成像智能诊断集成系统。 自2009年成立以来,里定医疗深耕妇幼健康领域,成长为国家高新技术企业。面对基层乳腺癌筛查面临的困境,里...
- 贵阳晚报
-
- 一个“登录框”引发的安全问题
- 前言搞安全的小伙伴只有一个登录框你都能测试哪些漏洞?通常大家测试的都会测试关键部分,为了有更好的测试效果,小厂会提供给你用户名密码;但是一些比较重要的企业,而这个环境却是正式环境,里面存放着一些数...
- FreeBuf
-
- 迪士尼Imagineering要把Groot机器人带进现实
- SUBSCRIBE to USImage: Walt Disney ImagineeringKiwi项目是一个定制的两足人类机器人,旨在将幻想人物带入生活。从我(作者,以下简称我)所看到的仿人机器人学来看,在研究领域的人们传统上称之为机器人
- IEEE电气电子工程师
-
- 联想集团20/21财年营业额突破4100亿;中国电影市场2021年度总票房(含预
- 图 / IC photoHello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~【联想集团20/21财年营业额突破4100亿】联想集团(HKSE:992)(ADR:LNVGY)今日公布截至2021年3月31日的2020/21财年第
- DoNews
-
- 协作机器人技术如何成为工业4.0战略的核心
- 关键讯息,D1时间送达!让机器人变得更加智能的一种方式是集成各种传感器,就像人类有五种感官一样。但机器人大多只有视觉这一种感官功能。随着技术的发展和进步,机器人的能力和功能将会继续提高。如今,越来越...
- 企业网D1net
-
- 深水区的5G专网应用,如何实现从1到N?
- 目前,5G竞争进入下半场,由技术转向应用,5G专网的应用发展已进入深水区。与此同时,5G应用应用发展也已迈入“无人区”,无现成经验可借鉴,如何实现从1到N?Part · 01多样化、轻量化、低成本成为5G专网模组及...
- 飞象网
-
- 最喜欢随机森林?周志华团队DF21后,TensorFlow开源决策森林库TF-D
- 机器之心报道机器之心编辑部 TensorFlow 决策森林 (TF-DF) 现已开源,该库集成了众多 SOTA 算法,不需要输入特征,可以处理数值和分类特征,为开发者节省了大量时间。在人工智能发展史上,各类算法可谓层出不穷...
- 机器之心
-
- 躺平无罪,犯懒有“理”
- 萧箫 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI作为一个周末只想躺平的懒癌、社恐患者,却被通知要去参加一个party,这简直快要了我的命。一开始我是拒绝的,我都能想象出我在现场用脚趾抠出三室一厅的尴尬...
- 量子位
-
- 5G实现“1到N”的突破需要时间
- 近来,工信部采取了多种措施推动5G发展。5月初,工信部发布了《5G应用“扬帆”行动计划(2021—2023年)》,这份纲领性的行动计划指明了5G产业发展的重点方向、关键目标与核心任务。在5月17日召开的“2021世界电...
- 通信世界
-
- 日本多个政府部门遭遇黑客攻击,大量数据泄漏
- 富士通开发的ProjectWEB软件被日本政府机构和企业广泛使用。截至2009年,该工具已被大约7,800个项目使用。富士通指出,攻击者获得了对使用ProjectWEB项目的未经授权的访问,并窃取了一些客户数据。富士通Project...
- 安全牛
-
- [报告]2021年中国线控系统系列研究:探讨转向控制系统在自动驾驶中的重要性(附
- 本文提供完整版报告下载,请查看文后提示。以下为报告节选:......文│吉晟资本本报告共计:35页。如欲获取完整版PDF文件,请扫描下方二维码加入“车友圈”获取。#重磅推荐#需要批量下载和及时更新最新汽车行业...
- 汽车之地
-
- 经观头条|鸿蒙“补天裂”:华为能撬动苹果和谷歌的基本盘吗?
- 经济观察报 记者 沈怡然 5月25日,华为宣布鸿蒙2.0(HarmonyOS2.0)系统将在今年6月2日面向全球正式发布,当日,华为新浪微博账号上发布了一段视频短片,下方有网民评论,他们期待着国产操作系统的到来。鸿蒙,...
- 经济观察报
-
- 真的开始拆除华为设备了!外媒传来消息,没想到一切来得这么快!
- 据悉,为了保持自身在通信领域的垄断优势,同时给高通、诺基亚、爱立信等欧美同盟企业争取更多5G发展时间,美国一方面抹黑华为5G设备存在所谓的“后门”,一方面又号召他国抵制华为5G设备,让他们更多地去与诺基...
- 通信圈
-
- AR还能这么玩!快来扫码,开启华为BWS 5G+AR之旅
- 邀请函里有彩蛋随着5G生态逐步成熟AR与行业应用的融合正在进入爆发期AR帮助人们不断拓展体验边界丰富人们的沟通与生活ICT产业作为创新技术的数字底座助力运营商和行业合作伙伴开拓AR新边界探索无限可能,迎来更...
- 华为
-
- 又一家企业从华为衰退中获益,联想营收大幅增长、净利倍增
- 联想公布了20/21财年第四财季(今年一季度)的业绩,业绩显示营收同比增长48%,净利润大幅增长数倍,柏铭科技认为这主要是因为它受益于华为在国内PC和服务器市场的衰退。联想公布的今年一季度业绩显示,营收同比...
- 柏铭科技