仅分类神经网络的新数据
Posted
技术标签:
【中文标题】仅分类神经网络的新数据【英文标题】:New data on categorical-only neural net 【发布时间】:2018-07-18 08:48:35 【问题描述】:我正在训练基于神经网络的分类器,使用神经网络包进行训练,使用 nnet 对变量进行单热编码。 模型上的所有变量都是分类变量。数据由 15 个标签和 6 个自变量(预测变量)组成,占 64 个虚拟变量,因此整个数据框有 79 列。 数据来自每月更新数据的 2 年记录。 该模型已准备就绪,我需要使用它来预测 2018 年 1 月的结果。 当我尝试使用模型计算新数据时会出现问题,因为一旦它被编码为虚拟变量,它就没有与训练数据相同数量的变量。
例如: 训练数据:Imagine Size 和 Speed 是预测变量,Animal 是类。 尺寸可以是(大,小) 速度可以是(快,慢) 动物可以是(狗,乌龟)
我的数据是:
Speed Size Animal
Fast Big Dog
Fast Small Dog
Slow Big Turtle
一次热编码后,使用 nnet 包中的 class.ind 函数我得到
Fast Slow Big Small Dog Turtle
1 0 1 0 1 0
1 0 0 1 1 0
0 1 1 0 0 1
当新数据没有任何具有一个因素水平的行时,问题就出现了,比如新数据只包含速度为“快”的动物,然后一旦进行虚拟编码,我只会从训练数据中得到 5 个变量而不是 6 个变量,并且我无法使用神经网络计算,因为我得到了
神经元错误[[i]] %*% weights[[i]] : nonconformable arguments
如何对新数据进行编码,使其具有所有因子水平?
【问题讨论】:
【参考方案1】:例如,您可以为每一类动物引入一行,然后创建虚拟变量,最后删除“假”行。
【讨论】:
以上是关于仅分类神经网络的新数据的主要内容,如果未能解决你的问题,请参考以下文章
是否可以仅通过仅向其提供一个类的输入来训练二元分类神经网络?
基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现