Tensorflow Wide&深层示例不起作用

时间:2016-07-25 02:43:06

标签: python python-2.7 tensorflow

我正在尝试使Wide & Deep教程正常工作,但是在从github和网站复制和粘贴代码时,以下行仍然给我一些问题。

df_train["income_bracket"].apply(lambda x: ">50K" in x)).astype(int)

我收到以下错误

  

TypeError:类型' float'的参数是不可迭代的

我对lamda函数并不太熟悉,但我认为它正在制作一个虚拟变量,所以我尝试使用

for i in range(len(df_train)):
    if df_train.loc[i,'income_bracket']=='>50k':
        df_train.loc[i,LABEL_COLUMN] =1
    else:
        df_train.loc[i,LABEL_COLUMN] =0

但得到了错误

  

TypeError:预期的二进制或unicode字符串,得到nan

如何让本教程有效?

编辑: 第一行数据和标题 enter image description here

2 个答案:

答案 0 :(得分:2)

lambda函数非常有用且简单。它不会创建虚拟变量。 我注意到您将原始数据导入CSV文件。尽量不要这样做,只使用教程代码中显示的原始下载数据。我已成功尝试过这种方式。 但是当我更改为其他数据集进行培训时,我也遇到了同样的问题。所以我仍然希望有人能够更深入地解决这个问题

答案 1 :(得分:0)

这是数据的问题,或TensorFlow的代码。我们已在https://github.com/tensorflow/tensorflow/issues/4293

中提交了有关该问题的问题

您可以手动下载文件并删除损坏的行。然后使用此命令运行。

python ./wide_n_deep_tutorial.py --train_data /home/data/train_data --test_data /home/data/test_data