美文网首页
从数据的角度理解TensorFlow鸢尾花分类程序5

从数据的角度理解TensorFlow鸢尾花分类程序5

作者: LabVIEW_Python | 来源:发表于2018-06-14 09:20 被阅读44次

    上节,本文主要解释构建特征列,方便后续的函数找到对应的特征数据。

    构建特征列

    注意:范例中的代码也是相当烧脑,待文本慢慢解析后,会用更清晰明了的方式实现。

    首先,回忆一下《从数据的角度理解TensorFlow鸢尾花分类程序4》一节中,print出来的变量(train_x, train_y), (test_x, test_y) 。上节说了,特征值和特征标签都存储在这四个变量里面。以train_x为例,train_x是Dataframe类型的变量,如下图所示:

    train_x

    Dataframe类型类似一个表格,由行号、每列的键值和数值组成,要引用每列的值,可以用每列的键值名来引用。

    可以看出train_x每列的键值是['SepalLength', 'SepalWidth','PetalLength', 'PetalWidth'],这些键值也是特征点的名称。把特征点的名称告诉模型,模型才能使用。特征列是一种数据结构,告知模型如何解读每个特征中的数据,不仅要告诉模型特征的名称,还要告诉模型特征的数据类型。

    若特征列中的特征名字与train_x中的特征名字不一致,则模型无法找到特征数据。

    综上所示,可以把范例里面的代码改写为:

    这样更加清晰,容易懂。

    my_feature_column的打印信息中:_NumericColumn(key='SepalLength', shape=(1,), default_value=None, dtype=tf.float32, normalizer_fn=None),_NumericColumn是一个类(class),小括号里面是该类的属性和方法。

    注意:范例里面的写法也有好处,就是当特征种类很多的时候,比如100个,像本文这样手动指定特征列每列的key 和 类型,就非常不适合了,还是用范例中的写法,简洁

    相关文章

      网友评论

          本文标题:从数据的角度理解TensorFlow鸢尾花分类程序5

          本文链接:https://www.haomeiwen.com/subject/ddseeftx.html