【问题标题】:Tensorflow Training has error KeyError: 'Like'TensorFlow 训练有错误 KeyError: 'Like'
【发布时间】:2022-01-22 15:26:30
【问题描述】:

我在改编本 Tensorflow 教程时不断出错?我在他们的网站上举了这个例子,使用了我的数据集并改变了我试图训练程序的领域。我检查了 CSV 电子表格和代码是否相同。该列是“Like”列,包含“yes”和“no”。

我尝试将“是”和“否”更改为 1 和 2,但这没有奏效,而且我对编程太陌生,以至于我的想法已经用完了。我只是不明白我哪里出错了,因为它看起来与示例相同,但更改了“关键字段”。

ds = make_input_fn(dftrain, y_train, batch_size=10)()
for feature_batch, label_batch in ds.take(1):
  print('Some feature keys:', list(feature_batch.keys()))
  print()
  print('A batch of Like:', feature_batch['Like'].numpy())
  print()
  print('A batch of Labels:', label_batch.numpy())

这是错误

KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_22420/4226531187.py in <module>
      3   print('Some feature keys:', list(feature_batch.keys()))
      4   print()
----> 5   print('A batch of Like:', feature_batch['Like'].numpy())
      6   print()
      7   print('A batch of Labels:', label_batch.numpy())

KeyError: 'Like'

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    在模型中使用之前,您应该预处理您的数据框。假设您有一个 csv 文件,其中包含“Like”列(值 - 是,否),如下所示:

    import pandas as pd
    df=pd.read_csv("/content/GoogleDrive/MyDrive/yes_no example - Sheet1.csv")  # my sample csv
    df.head()
    

    输出:

        Name    Like
    0   Mohan   yes
    1   Shyam   no
    2   Renu    yes
    3   vivek   yes
    4   sohna   no
    

    您可以定义一个函数将字符串转换为数字,并将此函数映射到数据框列:

    def liking(yes_no):
      if yes_no =='yes':
        return 1
      elif yes_no== 'no':
        return 2
    
    df.Like = df.Like.map(liking)
    df.head()
    

    输出:

        Name    Like
    0   Mohan   1
    1   Shyam   2
    2   Renu    1
    3   vivek   1
    4   sohna   2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2020-06-14
      • 2018-07-28
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多