类为数字时的 1-hot 编码

问题描述

我在分类是数字时遇到了一个小问题。我有 4 个班级:0 - 200 - 250 - 300。

我使用它作为优化器:

model.compile(optimizer= tf.keras.optimizers.SGD(),loss     = tf.keras.losses.SparseCategoricalCrossentropy(),metrics  = ['accuracy'])

这是最后一层:

model.add(tf.keras.layers.Dense(301,activation='softmax'))

有没有办法把最后一层转换成:

model.add(tf.keras.layers.Dense(4,activation='softmax'))

不改变类名,如果可能的话使用 1-hot 编码?

提前致谢

编辑:完整模型在这里

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(n_size,n_features))) 
model.add(tf.keras.layers.Dense(64,activation='relu'))
model.add(tf.keras.layers.Dense(32,activation='relu'))
model.add(tf.keras.layers.Dense(301,activation='softmax'))
model.compile(optimizer= tf.keras.optimizers.SGD(),metrics  = ['accuracy'])

但这只是一个模型的草稿,我正在尝试在升级模型之前先解决该问题

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)