有没有一种方法可以在不使用一个热编码器的情况下训练RNN?

肖瓦特·古普塔

我正在尝试为我的日志分析项目开发顺序RNN。

输入是一个对数序列,例如[1,2,3,4,5,6,1,5,2,7,8,2,1]

目前,我正在使用来自keras库的to_categorical函数,该函数将序列转换为单编码。

def to_categorical(y, num_classes=None, dtype='float32'):
    """Converts a class vector (integers) to binary class matrix.

    E.g. for use with categorical_crossentropy.

    # Arguments
        y: class vector to be converted into a matrix
            (integers from 0 to num_classes).
        num_classes: total number of classes.
        dtype: The data type expected by the input, as a string
            (`float32`, `float64`, `int32`...)

    # Returns
        A binary matrix representation of the input. The classes axis
        is placed last.

    # Example

    ```python
    # Consider an array of 5 labels out of a set of 3 classes {0, 1, 2}:
    > labels
    array([0, 2, 1, 2, 0])
    # `to_categorical` converts this into a matrix with as many
    # columns as there are classes. The number of rows
    # stays the same.
    > to_categorical(labels)
    array([[ 1.,  0.,  0.],
           [ 0.,  0.,  1.],
           [ 0.,  1.,  0.],
           [ 0.,  0.,  1.],
           [ 1.,  0.,  0.]], dtype=float32)
    ```
    """

    y = np.array(y, dtype='int')
    input_shape = y.shape
    if input_shape and input_shape[-1] == 1 and len(input_shape) > 1:
        input_shape = tuple(input_shape[:-1])
    y = y.ravel()
    if not num_classes:
        num_classes = np.max(y) + 1
    n = y.shape[0]
    categorical = np.zeros((n, num_classes), dtype=dtype)
    categorical[np.arange(n), y] = 1
    output_shape = input_shape + (num_classes,)
    categorical = np.reshape(categorical, output_shape)
    return categorical

我面临的问题是,可能有一些日志可能不属于训练后的数据,可以说[9,10,11]

如果我有2000个日志键和275个唯一日志的序列。

总是会有看不见的日志,但是如果我想保存该模型并在新数据上重用它,则可能无法将其转换为相同的分类格式,因为在我的RNN中最初只有275个唯一的日志类,但现在我有275+ 3个新课程。

我们如何解决这个问题?

sohv89

关于@Dainel关于类一致性的答案,您可以使用np.nan并使用pd.get_dummies以下值替换训练序列中未出现的任何值

train_seq = np.array([1,2,3,4,5])
test_seq = np.array([1,2,3,4,5,6,7,8,9,10], dtype=np.float32)

test_seq[~np.isin(test_seq, train_seq)] = np.nan

df = pd.get_dummies(test_seq, dummy_na=True)
print(df)

它将为看不见的数据生成一个单独的类。

   1.0  2.0  3.0  4.0  5.0  NaN
0    1    0    0    0    0    0
1    0    1    0    0    0    0
2    0    0    1    0    0    0
3    0    0    0    1    0    0
4    0    0    0    0    1    0
5    0    0    0    0    0    1
6    0    0    0    0    0    1
7    0    0    0    0    0    1
8    0    0    0    0    0    1
9    0    0    0    0    0    1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以在不使用Drush的情况下从bash脚本安装Drupal?

来自分类Dev

有没有一种方法可以在不使用队列或Blob存储的情况下触发webjob?

来自分类Dev

有没有一种方法可以在不使用Selenium或浏览器客户端的情况下从在线应用程序提交表单?

来自分类Dev

有没有一种方法可以在不使用嵌套循环的情况下将N个长度为N的N个数组推入数组?

来自分类Dev

有没有一种方法可以在不使用R中使用sample()函数的情况下创建向量的排列?

来自分类Dev

有没有一种方法可以在不使用className的情况下使用ID在React中设置元素的样式?

来自分类Dev

有没有一种方法可以在不使用R中使用sample()函数的情况下创建向量的排列?

来自分类Dev

有没有一种方法可以在不使用组的情况下引用re.sub中的整个匹配表达式?

来自分类Dev

Scala中有没有一种方法可以在不使用if嵌套的情况下转义多个return语句

来自分类Dev

PHP中有没有一种方法可以在不使用ob_gzhandler的情况下从JSON中删除空格?

来自分类Dev

有没有一种方法可以在不使用UINavigationController的情况下更改情节提要中的UINavigationBar的高度?

来自分类Dev

有没有一种方法可以在不使用重命名系统调用的情况下更改文件名?

来自分类Dev

有没有一种方法可以在不使用负像素值的情况下简化和简化动画div?

来自分类Dev

有没有一种方法可以在不使用recurly.js的情况下从Recurly获取计费令牌?

来自分类Dev

有没有一种方法可以在不使用小部件的情况下访问PageState类中的页面属性

来自分类Dev

有没有一种方法可以在不使用SQL连接的情况下获取pg_stat_activity信息?

来自分类Dev

有没有一种方法可以在不使用python GIL的情况下进行序列化/反序列化

来自分类Dev

在JavaScript中,有没有一种方法可以在不使用toLocaleString的情况下将Date转换为时区?

来自分类Dev

有没有一种方法可以在不使用canvas API的情况下从图像文件获取二进制数据?

来自分类Dev

有没有一种方法可以在不使用测试工具的情况下测试android应用操作

来自分类Dev

有没有一种方法可以在不使用MatTableDataSource的情况下对物料表进行物料分页?角度10

来自分类Dev

有没有一种方法可以在不使用用户代理的情况下从IE8-IE11中检测IE?

来自分类Dev

有没有一种方法可以在不使用注释的情况下缩小我的角度应用程序?

来自分类Dev

有没有一种方法可以在不使用负像素值的情况下简化动画div的出入?

来自分类Dev

有没有一种方法可以在不使用bashrc / bash_profile的情况下使命令的输出着色?

来自分类Dev

有没有一种方法可以在不使用宏的情况下合并Excel中的选项卡?

来自分类Dev

有没有一种方法可以在不使用page.php?id =链接类型的情况下制作动态网址?

来自分类Dev

有没有一种方法可以在不使用ObjectInputStream的情况下将FileInputStream转换为Object?

来自分类Dev

有没有一种方法可以在不运行另一个不必要的命令的情况下运行sudo?

Related 相关文章

  1. 1

    有没有一种方法可以在不使用Drush的情况下从bash脚本安装Drupal?

  2. 2

    有没有一种方法可以在不使用队列或Blob存储的情况下触发webjob?

  3. 3

    有没有一种方法可以在不使用Selenium或浏览器客户端的情况下从在线应用程序提交表单?

  4. 4

    有没有一种方法可以在不使用嵌套循环的情况下将N个长度为N的N个数组推入数组?

  5. 5

    有没有一种方法可以在不使用R中使用sample()函数的情况下创建向量的排列?

  6. 6

    有没有一种方法可以在不使用className的情况下使用ID在React中设置元素的样式?

  7. 7

    有没有一种方法可以在不使用R中使用sample()函数的情况下创建向量的排列?

  8. 8

    有没有一种方法可以在不使用组的情况下引用re.sub中的整个匹配表达式?

  9. 9

    Scala中有没有一种方法可以在不使用if嵌套的情况下转义多个return语句

  10. 10

    PHP中有没有一种方法可以在不使用ob_gzhandler的情况下从JSON中删除空格?

  11. 11

    有没有一种方法可以在不使用UINavigationController的情况下更改情节提要中的UINavigationBar的高度?

  12. 12

    有没有一种方法可以在不使用重命名系统调用的情况下更改文件名?

  13. 13

    有没有一种方法可以在不使用负像素值的情况下简化和简化动画div?

  14. 14

    有没有一种方法可以在不使用recurly.js的情况下从Recurly获取计费令牌?

  15. 15

    有没有一种方法可以在不使用小部件的情况下访问PageState类中的页面属性

  16. 16

    有没有一种方法可以在不使用SQL连接的情况下获取pg_stat_activity信息?

  17. 17

    有没有一种方法可以在不使用python GIL的情况下进行序列化/反序列化

  18. 18

    在JavaScript中,有没有一种方法可以在不使用toLocaleString的情况下将Date转换为时区?

  19. 19

    有没有一种方法可以在不使用canvas API的情况下从图像文件获取二进制数据?

  20. 20

    有没有一种方法可以在不使用测试工具的情况下测试android应用操作

  21. 21

    有没有一种方法可以在不使用MatTableDataSource的情况下对物料表进行物料分页?角度10

  22. 22

    有没有一种方法可以在不使用用户代理的情况下从IE8-IE11中检测IE?

  23. 23

    有没有一种方法可以在不使用注释的情况下缩小我的角度应用程序?

  24. 24

    有没有一种方法可以在不使用负像素值的情况下简化动画div的出入?

  25. 25

    有没有一种方法可以在不使用bashrc / bash_profile的情况下使命令的输出着色?

  26. 26

    有没有一种方法可以在不使用宏的情况下合并Excel中的选项卡?

  27. 27

    有没有一种方法可以在不使用page.php?id =链接类型的情况下制作动态网址?

  28. 28

    有没有一种方法可以在不使用ObjectInputStream的情况下将FileInputStream转换为Object?

  29. 29

    有没有一种方法可以在不运行另一个不必要的命令的情况下运行sudo?

热门标签

归档