使用映射函数|KeyError时发生Tensorflow tf.data.Dataset错误



我正在进行我的capstone项目。基本上,我正在尝试为亚马逊美容产品建立一个推荐系统。该数据集是TensorFlow数据集

一些运行良好的源代码

data=tfds.load('amazon_us_reviews/Beauty_v1_00', split='train')
type: tensorflow.python.data.ops.dataset_ops.PrefetchDataset
  • 显示有关功能的一些信息:

    for sample in data.take(1).as_numpy_iterator():
    pprint.pprint(sample)
    
  • 输出

    {'data': {'customer_id': b'18239070',
    'helpful_votes': 0,
    'marketplace': b'US',
    'product_category': b'Beauty',
    'product_id': b'B00LJ86MAY',
    'product_parent': b'823234087',
    'product_title': b'The Original Curly Tee Towel - T-Shirt Hair Dryi'
    b'ng Towel Wrap (Extra Long)',
    'review_body': b'Great product, quick ship and packaged nicely with a'
    b'ttention to detail. Thank you!',
    'review_date': b'2014-10-04',
    'review_headline': b'Very pleased!',
    'review_id': b'R24WHRN0BMM2K7',
    'star_rating': 5,
    'total_votes': 0,
    'verified_purchase': 1,
    'vine': 1}}
    

错误

我试图使用映射函数只选择一些列

data = data.map(lambda x: {
"customer_id": x["customer_id"],
"product_id": x["product_id"],
"star_rating": x["star_rating"]
})

KeyError:在用户代码中:

KeyError: 'customer_id'

教程中的代码运行良好,但当我尝试这样做时却不起作用。我一直在谷歌上搜索,找不到答案。

你有什么建议吗?从现在起谢谢你抽出时间。

您缺少"数据";键。

这应该解决它:

data = data.map(lambda x: {
"customer_id": x["data"]["customer_id"],
"product_id": x["data"]["product_id"],
"star_rating": x["data"]["star_rating"]
})

相关内容

最新更新