首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读入tf.dataset时进行一次热编码

读入tf.dataset时进行一次热编码
EN

Stack Overflow用户
提问于 2019-07-30 13:48:17
回答 1查看 3.1K关注 0票数 2

我在gcp平台上运行一个tensorflow模型。数据集很大,并不是所有东西都可以同时保存在内存中,因此我使用以下代码将数据读入tf.dataset中:

代码语言:javascript
复制
def read_dataset(filepattern):
    def decode_csv(value_column):
        cols = tf.io.decode_csv(value_column, record_defaults=[[0.0],[0],[0.0])
        features=[cols[1],cols[2]]
        label = cols[0]
        return features, label
    # Create list of files that match pattern
    file_list = tf.io.gfile.glob(filepattern)
    # Create dataset from file list
    dataset = tf.data.TextLineDataset(file_list).map(decode_csv)
    return dataset

training_data=read_dataset(<filepattern>)

问题是我的数据中的第二列是绝对的,我需要使用一个热编码。如何做到这一点,既可以在函数decode_csv中,也可以在以后操作tf.dataset

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 21:37:14

你可以用。假设第二列为cols[1],并且已将分类值转换为整数,则可以执行以下操作:

代码语言:javascript
复制
def decode_csv(value_column):
    cols = tf.io.decode_csv(value_column, record_defaults=[[0.0],[0],[0.0]])
    features=[cols[1], tf.one_hot(cols[2], nb_classes)]
    label = cols[0]
    return features, label

注意:未测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57273291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档