Кто-нибудь может объяснить мне этот простой код Python? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть простая функция, которая возвращает матрицу нулей и единиц.Я не могу понять, как работает line: out [range (n), vec] = 1.Вектор v может иметь значения от 0 до 9.

import numpy as np

def one_hot_encode(vec, vals=10):

    n = len(vec)
    out = np.zeros((n, vals))
    out[range(n), vec] = 1
    return out

v = [1,2,3,1,3,5,7,8,9,1,2,3,4,5,6,7,8,9,0,1,2,3,1,3,5,7,8,9,1,2,3]
one_hot_encode(v, 10)

1 Ответ

0 голосов
/ 18 февраля 2019

строка строки: out [range (n), vec] = 1 помещает единицу, соответствующую значениям vec, то есть, если vec имеет первое значение 1, то в матрице out из первой строки и второго столбца (значение +1) будут назначеныкак 1. если значение 4rt равно 1, то строка 4rt и второй столбец будут присвоены 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...