在Keras中是否需要使用独热编码?

我有一个数据集,标签从0到4。我使用以下代码将它们转换为独热编码的np数组:labels = (np.arange(5) == labels[:, None]).astype(np.float32)。我的问题是,我们必须对它们进行独热编码吗?我可以只保留0到4的数值/浮点标签并使用它们吗?如果可以,如何操作?


回答:

你的标签是什么?

它们是“等级”、“强度”还是某种“测量”?

  • 如果是,最好不要对它们进行编码,只需将它们压缩到0到1之间。这样你的模型就能计算出一个结果,这个结果就是强度。不过,这个结果永远不会完全准确。

  • 如果不是,那么你应该对你的标签进行编码,因为每个数字之间没有关联,它们是“离散”的,这样对你的模型来说展示离散结果会更好。然后,每个结果将是每个类别的可能性(根据模型的参数,这可能不完全是概率)。


总之,如果你想测量某事物的强度,使用一个变量。如果你想知道不同“类别”的可能性,创建独热向量。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注