keras ограничить значения выходного слоя вектором значений

у меня есть x входные данные

[[12,13,14],
..........
[32,15,19],
[23,16,17]
]

y = выходные данные

[[5]
..........
[7],
[9]
]

я точно уверен что y во всех случаях принимает значения 5,7,9

подскажите какую модель мне лучше всего использовать. на данный момент у меня

model = Sequential()
model.add(Dense(len(sequence)*10, input_shape=(len(sequence),), activation='relu')) 
model.add(Dense(1, activation='relu'))
model.compile(loss='mse', optimizer='adam')

после fit

yhat1 = md1.predict(xCheck)

я могу получить

3, 5, 11

что меня не устраивает


Ответы (1 шт):

Автор решения: CrazyElf

я точно уверен что y во всех случаях принимает значения 5,7,9

Поскольку речь идёт явно о задаче классификации (целевые значения ограничены фиксированным списком), то видимо вам нужно использовать соответственные параметры при описании модели:

activation='sigmoid'
loss='categorical_crossentropy'

Использованные же вами параметры подходят для задачи регрессии (непрерывный спектр вещественных значений), что и видно по результатам работы модели.

→ Ссылка