Music.csv - image Error: ValueError: Feature (key: gender) cannot have rank 0. Given: Tensor("IteratorGetNext:0", shape=(), dtype=int64, device=/device:CPU:0) Can you help ? Thank you! I was learning from freecodecamp. CSV file: https://www.youtube.com/watch?v=7eh4d6sabA0&t=1795s - in description
import pandas as pd
import tensorflow as tf
def main():
dataframe = pd.read_csv("music.csv")
print(dataframe.columns)
learn = dataframe
y_label = dataframe.pop("age")
CATEGORIZED_DATA = ["genre"]
NUMERICAL_DATA = ["gender"]
features_columns = []
for feature_column in CATEGORIZED_DATA:
vocabulary = dataframe[feature_column].unique()
features_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_column, vocabulary))
for feature_column in NUMERICAL_DATA:
features_columns.append(tf.feature_column.numeric_column(feature_column))
def make_input_fn(data_df, label_df, num_epochs=10, shuffle=True, batch_size=32):
def input_function():
ds = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df))
ds.batch(10)
if shuffle:
ds.shuffle(1000)
ds.batch(batch_size).repeat(num_epochs)
return ds
return input_function
print(features_columns)
data_totrain_fn = make_input_fn(learn, y_label)
normal = make_input_fn(data_df=learn, label_df=y_label, batch_size=1, num_epochs=1, shuffle=False)
linear_est = tf.estimator.LinearClassifier(feature_columns=features_columns)
linear_est.train(data_totrain_fn)
# result = linear_est.evaluate(normal)
# print(result['accuracy'])
if __name__ == "__main__":
main()