谷歌张量流程速成课程。代表问题:编程练习任务2:更好地利用纬度

时间:2018-03-31 04:50:37

标签: python tensorflow machine-learning artificial-intelligence

你进入了tensorflow crashcourse的另一个障碍......在这个页面的表现编程练习中。

https://developers.google.com/ ... / repres ... /编程锻炼

我在任务2:更好地利用谷歌纵横

似乎我将问题范围缩小到将原始纬度数据转换为“桶”或在我的特征中将表示为1或0的范围。我的实际代码和问题是在粘贴箱中。任何建议都会很棒!谢谢!

https://pastebin.com/xvV2A9Ac

这是将我的pandas词典中的原始纬度数据转换为谷歌调用的“桶”或范围。

LATITUDE_RANGES = zip(xrange(32, 44), xrange(33, 45))

上面的代码我改变了并且只用范围替换了xrange,因为xrange已经被弃用了python3。 这可能是问题吗?使用范围而不是xrange?见下面我的难题。

def select_and_transform_features(source_df):
  selected_examples = pd.DataFrame()
  selected_examples["median_income"] = source_df["median_income"]
  for r in LATITUDE_RANGES:
    selected_examples["latitude_%d_to_%d" % r] = source_df["latitude"].apply(
      lambda l: 1.0 if l >= r[0] and l < r[1] else 0.0)
  return selected_examples

接下来的两个是运行上面的函数,转换可能会将训练和验证数据集退出到纬度范围或桶中

selected_training_examples = select_and_transform_features(training_examples)
selected_validation_examples = select_and_transform_features(validation_examples)

这是培训模式

_ = train_model(
    learning_rate=0.01,
    steps=500,
    batch_size=5,
    training_examples=selected_training_examples,
    training_targets=training_targets,
    validation_examples=selected_validation_examples,
    validation_targets=validation_targets)

问题:

oki所以这就是我如何理解这个问题。当我运行训练模型时,它会抛出此错误

ValueError: Feature latitude_32_to_33 is not in features dictionary.

所以我调用了selected_training_examples和selected_validation_examples 这是我发现的。如果我跑

  selected_training_examples = select_and_transform_features(training_examples)

然后当我调用selected_training_examples时,我得到了正确的数据集,这会产生所有功能“桶”,包括Feature#latitude_32_to_33 但是当我运行下一个功能时

selected_validation_examples = select_and_transform_features(validation_examples)

它不会产生任何桶或范围,导致

`ValueError: Feature latitude_32_to_33 is not in features dictionary.`

所以我接下来尝试禁用第一个功能

selected_training_examples = select_and_transform_features(training_examples)

我刚刚运行了第二个功能

selected_validation_examples = select_and_transform_features(validation_examples)

如果我这样做,那么我会获得所需的数据集     selected_validation_examples。

问题现在是运行第一个功能不再给我“桶”,我回到我开始的地方?我想我的问题是两个功能如何相互影响?并阻止对方给我我需要的数据集?如果我一起运行它们? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

一位python开发人员给了我解决方案,所以只是想分享。 LATITUDE_RANGES = zip(xrange(32,44),xrange(33,45))只能按照它的编写方式使用,所以我把它放在成功的def select_and_transform_features(source_df)函数中,这解决了问题。再次感谢大家。