当标注维度太大,想另辟蹊径而不是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,你仍然可以使用降维技术(如主成分分析)来解决这个问题。
我是学习机器学习的初学者
我尝试制作一些模型 (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,你仍然可以使用降维技术(如主成分分析)来解决这个问题。