0

Hi got into another roadblock in tensorflow crashcourse...at the representation programming excercises at this page.

https://developers.google.com/…/repres…/programming-exercise

I'm at Task 2: Make Better Use of Latitude

seems I narrowed the issue to when I convert the raw latitude data into "buckets" or ranges which will be represented as 1 or zero in my feature. The actual code and issue I have is in the paste bin. Any advice would be great! thanks!

https://pastebin.com/xvV2A9Ac

this is to convert the raw latitude data in my pandas dictionary into "buckets" or ranges as google calls them.

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

the above code I changed and replaced xrange with just range since xrange is already deprecated python3. could this be the problem? using range instead of xrange? see below for my conundrum.

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

The next two are to run the above function and convert may exiting training and validation data sets into ranges or buckets for latitude

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

this is the training model

_ = 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)

THE PROBLEM:

oki so here is how I understand the problem. When I run the training model it throws this error

ValueError: Feature latitude_32_to_33 is not in features dictionary.

So I called selected_training_examples and selected_validation_examples here's what I found. If I run

  selected_training_examples = select_and_transform_features(training_examples)

then I get the proper data set when I call selected_training_examples which yields all the feature "buckets" including Feature #latitude_32_to_33 but when I run the next function

selected_validation_examples = select_and_transform_features(validation_examples)

it yields no buckets or ranges resulting in the

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

so I next tried disabling the first function

selected_training_examples = select_and_transform_features(training_examples)

and I just ran the second function

selected_validation_examples = select_and_transform_features(validation_examples)

If I do this, I then get the desired dataset for selected_validation_examples .

The problem now is running the first function no longer gives me the "buckets" and I'm back to where I began? I guess my question is how are the two functions affecting each other? and preventing the other from giving me the datasets I need? If I run them together? Thanks in advance!

RadEdje
  • 41
  • 4
  • It would help if you could edit your question so that it contains a minimal complete example (https://stackoverflow.com/help/mcve) of the code, and didn't need to include links to other sites to get essential information. – rwp Mar 31 '18 at 04:59
  • Hi, a python developer gave me the solution so just wanted to share. LATITUDE_RANGES = zip(xrange(32, 44), xrange(33, 45)) can only be used once the way it was written so I placed it inside the succeding def select_and_transform_features(source_df) function which solved the issues. Thanks again rwp and everyone. Sorry for adding extraneous links. rwp. I will refrain from doing so in the future. – RadEdje Mar 31 '18 at 05:09
  • 1
    @RadEdje You can write an answer to your own question and accept it. [In fact, this is encouraged.](https://stackoverflow.com/help/self-answer) – Mr. T Mar 31 '18 at 09:41
  • ok thanks MrT :-) I answered my question... system says to wait 16 hours before I can accept it. I'll accept it tomorrow and then try to close this thread. Thanks! – RadEdje Apr 01 '18 at 11:56

1 Answers1

2

a python developer gave me the solution so just wanted to share. LATITUDE_RANGES = zip(xrange(32, 44), xrange(33, 45)) can only be used once the way it was written so I placed it inside the succeding def select_and_transform_features(source_df) function which solved the issues. Thanks again everyone.

RadEdje
  • 41
  • 4