我有一个数据集,标签从0到4。我使用以下代码将它们转换为独热编码的np数组:labels = (np.arange(5) == labels[:, None]).astype(np.float32)
。我的问题是,我们必须对它们进行独热编码吗?我可以只保留0到4的数值/浮点标签并使用它们吗?如果可以,如何操作?
回答:
你的标签是什么?
它们是“等级”、“强度”还是某种“测量”?
-
如果是,最好不要对它们进行编码,只需将它们压缩到0到1之间。这样你的模型就能计算出一个结果,这个结果就是强度。不过,这个结果永远不会完全准确。
-
如果不是,那么你应该对你的标签进行编码,因为每个数字之间没有关联,它们是“离散”的,这样对你的模型来说展示离散结果会更好。然后,每个结果将是每个类别的可能性(根据模型的参数,这可能不完全是概率)。
总之,如果你想测量某事物的强度,使用一个变量。如果你想知道不同“类别”的可能性,创建独热向量。