Я прохожу курс «Прикладное машинное обучение: отраслевое исследование» с курсом TensorFlow на educative.io. Я проследовал до этой части, где застрял (для тех, у кого есть доступ к сайту https://www.educative.io/courses/industry-case-study-tensorflow/xlZx6MYVRRB). Курс основан на наборе данных продаж Walmart (https://www.kaggle.com/c/walmart-recruiting-store-sales-forecasting/rules). Какие аргументы я должен передать, чтобы заставить функцию служить своей цели?
def add_int_features(dataset_row, feature_dict):
int_vals = ['Store', 'Dept', 'IsHoliday', 'Size']
for feature_name in int_vals:
list_val = tf.train.Int64List(value=[dataset_row[feature_name]])
feature_dict[feature_name] = tf.train.Feature(int64_list=list_val)
Инструкция по написанию этой функции гласит:
В этой главе вы завершите функция add_int_features, которая добавляет все целочисленные объекты в строке набора данных в словарь объектов.
Объектами, которые содержат целочисленные значения, являются: «Store», «Dept», «IsHoliday» и «Size».
Установить int_vals равным списку, содержащему имена объектов с целочисленными значениями.
Для каждого целочисленного объекта мы создадим Int64List, содержащий значение объекта из dataset_row.
Создайте для l oop, который перебирает int_vals, используя переменную с именем feature_name. Внутри for для l oop, установите list_val равным tf.train.Int64List, инициализированным с аргументом ключевого слова value, установленным в одноэлементный список, содержащий dataset_row [feature_name].
Теперь мы можем сопоставить имя объекта с TensorFlow Объект объекта, представляющий его целочисленное значение.
Внутри for для l oop установите имя_функции как ключ в feature_dict. Значение, которому оно соответствует, будет tf.train.Feature, инициализированным с аргументом ключевого слова int64_list, равным list_val.
До этого момента данные выглядели так (я позволил себе пропустить незначительные изменения, такие как удаление нескольких столбцов)
merged_features = features_df.merge(stores_df, on='Store')
features = ['Store', 'Date', 'IsHoliday']
final_dataset = train_df.merge(merged_features, on=features)
final_dataset = final_dataset.drop(columns=['Date'])