TensorFlow 特征列:以配方方式转换数据

TensorFlow 特征列提供了有用的功能,可用于预处理分类数据和链接转换,例如分桶或特征交叉。从 R 中,我们以流行的“配方”风格使用它们,创建并随后完善特征规范。在这篇文章中,我们展示了如何使用特征规范释放认知资源并让您专注于真正想要完成的事情。更重要的是,由于其优雅,特征规范代码读起来很好,编写起来也很有趣。

来源:RStudio AI博客

现在是 2019 年,没有人怀疑深度学习在计算机视觉或自然语言处理中的有效性。但是,对于“普通”的 Excel 样式(即表格数据),情况就不同了。

表格

基本上有两种情况:第一,您只有数字数据。然后,创建网络很简单,所有操作都与优化和超参数搜索有关。第二,您有数字和分类数据的混合,其中分类可以是从有序数字到符号(例如文本)的任何内容。在后一种情况下,随着分类数据的出现,您可以使用一个非常好的想法:将等距符号嵌入到高维数字表示中。在这种新的表示中,我们可以定义一个距离度量,使我们能够做出这样的陈述:“骑自行车比棒球更接近跑步”,或者“😃 比 😠 更接近 😂”。当不处理语言数据时,此技术称为实体嵌入。

嵌入 实体嵌入

虽然听起来不错,但为什么我们没有看到实体嵌入一直被使用呢?好吧,创建一个处理数字和分类数据的混合的 Keras 网络过去需要一点努力。借助 TensorFlow 的新特征列(可通过 tfdatasets 和 keras 的组合从 R 使用),有一种更简单的方法可以实现这一点。此外,tfdatasets 遵循流行的配方习语来初始化、优化和应用特征规范 %>% 样式。最后,有现成的步骤来对数字列进行分桶、散列或创建交叉列以捕获交互。

特征列 tfdatasets keras tfdatasets 食谱 %>% 交叉列 Porto Seguro 汽车保险竞赛 很多 交叉列 坚固 重新思考

混合数字数据和嵌入,预特征规范方式

车主提出索赔的可能性有多大

具体来说,这意味着我们想要

  • 使用二进制特征,就像零和一一样,
  • 目标 tfdatasets keras 路径 <- "train.csv" 路径 <- <-