仅有分类神经网络的新数据

时间:2018-02-07 22:30:14

标签: r machine-learning neural-network classification

我正在训练一个基于神经网络的分类器,使用神经网络包进行训练,使用nnet进行变量的单热编码。 模型上的所有变量都是分类的。该数据由15个标签和6个独立变量(预测变量)组成,这些变量占64个虚拟变量,因此整个数据帧有79列。 该数据来自每月更新数据的2年记录。 该模型准备就绪,我需要用它来预测1月20日结果。 当我尝试用模型计算新数据时会出现问题,因为一旦它被编码为虚拟变量,它就没有与训练数据相同数量的变量。

例如: 训练数据:想象大小和速度是预测因子,动物是类。 尺寸可以是(大,小) 速度可以是(快速,慢速) 动物可以是(狗,龟)

我的数据是:

 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]]%*%权重[[i]]:不一致的参数

我如何编码新数据,以便它具有所有因子水平?

1 个答案:

答案 0 :(得分:-1)

例如,你可以为每一类动物引入一行,然后创建虚拟变量,最后删除"假的"行。