我想在我的神经网络中加入非数值数据。具体来说,我在研究GICS行业分类(例如,公用事业、技术)。我认为这些数据无法有意义地转换为数值数据。
一种解决方案是使用虚拟变量来标记每个行业。这种方法的局限性在于神经网络输入层的维度会急剧增加。是否有更复杂的方法来处理这类问题?
回答:
你完全正确,字符串或顺序数值 {'utilities': 0, 'technology': 1} 在神经网络中是行不通的,因为网络会学习到字符或数字之间不存在的关系。
为了避免这种情况,我们使用一种称为独热编码的技术。这种技术将每个分类变量编码为状态向量,从而消除了分类值之间存在某种隐含关系的假设。
对于数组 ['Utilities', 'Technology'],你的独热编码将如下所示:gics = [[1,0],[0,1]]