Я пытаюсь предсказать, продан товар или нет.
У меня есть классификатор DNNLinearCombined с описанием, категорией, размером, ценой и т. Д. c. И метка 0 для не проданных и 1 для проданных.
sold description category_id size_id gender price host_id lat long year month
0 1 [dünne, jacke, gepunktet, , , , , , ] 9 25 f 3.5 1 48.21534 11.29949 2019 3
1 1 [kleid, pudel, dunkelblau, gepunktet, , , , , ] 9 25 f 4.0 1 48.21534 11.29949 2019 3
2 0 [kleid, rosa, hum, hund, katze, , , , ] 9 24 f 4.0 1 48.21534 11.29949 2019 3
3 1 [kleid, hum, blau, elsa, und, anna, , , ] 9 24 f 4.0 1 48.21534 11.29949 2019 3
4 0 [kleid, blue, seven, lachsfarben, , , , , ] 9 23 f 4.5 1 48.21534 11.29949 2019 3
text_column = tf.feature_column.categorical_column_with_vocabulary_list(key='description', vocabulary_list=list(word_index))
text_embedding = tf.feature_column.embedding_column(text_column, dimension=50, combiner='sqrtn')
CATEGORICAL_COLUMNS = ['category_id', 'size_id', 'host_id']
NUMERIC_COLUMNS = ['price','lat', 'long', 'year', 'month']
feature_columns = []
for feature_name in CATEGORICAL_COLUMNS:
vocabulary = dftrain[feature_name].unique()
feature_columns.append(feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))
for feature_name in NUMERIC_COLUMNS:
feature_columns.append(feature_column.numeric_column(feature_name, dtype=tf.float32))
est = tf.estimator.DNNLinearCombinedClassifier(linear_feature_columns=feature_columns, dnn_hidden_units=[100],dnn_feature_columns=[text_embedding],
n_classes=2,
dnn_optimizer=tf.keras.optimizers.Adagrad(lr=0.003))
Проблема в том, что цена в столбце цифр c оказывает очень меньшее влияние на прогноз, поскольку некоторые товары с одинаковой ценой продаются а некоторые нет. Но в целом цена должна быть в том же регионе, что и проданные товары той же категории, размера и аналогичного описания. Например, если цена товара составляет 2 евро, прогноз составляет 39,6%, но если я устанавливаю цену для того же товара в 100 евро, прогноз составляет 39,4%. Но это не правильно, оно должно быть ниже 1%. Ни одна другая статья в данных обучения не имела такой высокой цены.
Как определить столбец цен, согласно которому полный прогноз приближается к нулю, если нет доступных данных обучения с почти такой же ценой?
Спасибо