当标注维度太大,想另辟蹊径而不是one-hot encoding

When labeling dimension is too big and want to find another way rather than one-hot encoding

我是学习机器学习的初学者

我尝试制作一些模型 (FNN),但该模型的输出标签太多,无法使用单热编码。

你能帮帮我吗?

我想解决这个问题: 标签数据用于水果:

类型(苹果、葡萄、桃)、质量(好、普通、差)、价格(贵、普通、便宜)、尺寸(大、普通、小)

所以,如果我做one-hot encoding,数据大小最大为3*3*3*3, 81

我认为标签数据看起来像4个one-hot-encoding序列数据。

有没有什么办法可以做小维标注数据,而不是81维一维热编码?

我认为也可以使用二进制编码,但认识到在NN中使用二进制编码的一些缺点。

谢谢 :D

如果你对 4 个变量进行热编码,你将有 3+3+3+3=12 个变量,而不是 81 个。

这个概念是您需要为分类特征中的每个类别创建一个二元变量,而不是为四个特征中的每种可能的类别组合创建一个。

不过,其他可能的方法是数字编码、二进制编码(如您所述)或频率编码(根据数据集中的频率更改每个类别)。结果通常取决于问题,因此请尝试不同的方法,看看哪种方法最适合您!

但即使您使用 One-Hot-Encoding,正如@DavideDn 指出的那样,您也将拥有 12 个功能,而不是 81 个,这不是一个令人担忧的数字。 但是,假设这个数字确实是81,你仍然可以使用降维技术(如主成分分析)来解决这个问题。