0%

Keras方法笔记

1 to_categorical

  • 介绍
    将类别向量转换为二进制(只有0和1)的矩阵类型表示。
    其表现为将原有的类别向量转换为独热编码(one hot)的形式。
  • 引入

    1
    from keras.utils.np_utils import to_categorical
  • 示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from keras.utils.np_utils import to_categorical
    #类别向量定义
    a = [0,1,2,3,4,5,6,7,8]
    #调用to_categorical将a按照9个类别来进行转换
    a = to_categorical(b, 9)
    print(a)

    执行结果如下:
    [[1. 0. 0. 0. 0. 0. 0. 0. 0.]
    [0. 1. 0. 0. 0. 0. 0. 0. 0.]
    [0. 0. 1. 0. 0. 0. 0. 0. 0.]
    [0. 0. 0. 1. 0. 0. 0. 0. 0.]
    [0. 0. 0. 0. 1. 0. 0. 0. 0.]
    [0. 0. 0. 0. 0. 1. 0. 0. 0.]
    [0. 0. 0. 0. 0. 0. 1. 0. 0.]
    [0. 0. 0. 0. 0. 0. 0. 1. 0.]
    [0. 0. 0. 0. 0. 0. 0. 0. 1.]]

2 pad_sequences

  • 介绍
    将序列转化为经过填充以后的一个长度相同的新序列
1
2
3
4
5
6
7
8
9
10
11
12
keras.preprocessing.sequence.pad_sequences(sequences, 
maxlen=None,
dtype='int32',
padding='pre',
truncating='pre',
value=0.)
sequences:浮点数或整数构成的两层嵌套列表
maxlen:None或整数,为序列的最大长度。大于此长度的序列将被截短,小于此长度的序列将在后部填0.
dtype:返回的numpy array的数据类型
padding:‘pre’或‘post’,确定当需要补0时,在序列的起始还是结尾补`
truncating:‘pre’或‘post’,确定当需要截断序列时,从起始还是结尾截断
value:浮点数,此值将在填充时代替默认的填充值0
  • 引入

    1
    from keras.preprocessing.sequence import pad_sequences
  • 示例

    1
    2
    3
    4
    5
    6
    7
    from keras.preprocessing.sequence import pad_sequences
    a = [[2,3,4]]
    b = pad_sequences(a, maxlen=10)
    print(b)

    执行结果如下:
    array([[0, 0, 0, 0, 0, 0, 0, 2, 3, 4]], dtype=int32)