独热编码onehot

    xiaoxiao2022-07-12  141

    整数编码转换为独热编码

    from numpy import array

    from numpy import argmax

    from sklearn.preprocessing import LabelEncoder

    from sklearn.preprocessing import OneHotEncoder

    # define example

    data = ['cold', 'cold', 'warm', 'cold', 'hot', 'hot', 'warm', 'cold', 'warm', 'hot']

    values = array(data)

    print(values)

    # integer encode

    label_encoder = LabelEncoder()

    integer_encoded = label_encoder.fit_transform(values)

    print(integer_encoded)

    # binary encode

    onehot_encoder = OneHotEncoder(sparse=False)

    integer_encoded = integer_encoded.reshape(len(integer_encoded), 1)

    onehot_encoded = onehot_encoder.fit_transform(integer_encoded)

    print(onehot_encoded)

    # invert first example

    inverted = label_encoder.inverse_transform([argmax(onehot_encoded[0, :])])

    print(inverted)

    独热编码 from numpy import array from numpy import argmax from sklearn.preprocessing import LabelEncoder from sklearn.preprocessing import OneHotEncoder data = ['cold', 'cold', 'warm', 'cold', 'hot', 'hot', 'warm', 'cold', 'warm', 'hot'] #创建独热编码器 onehot_encoder = OneHotEncoder(sparse=False) onehot_encoded = onehot_encoder.fit_transform(array(data).reshape(-1, 1)) print(onehot_encoded) #inverted2 = onehot_encoder.inverse_transform([[1,0,0]]) #独热编码逆转换,函数里的数据形式[[1,0,0]], inverted2 = onehot_encoder.inverse_transform([onehot_encoded[0]]) inverted2=array(inverted2).reshape(1,-1) print(inverted2)
    最新回复(0)