Как смешать одночасовое кодирование и bagofword - PullRequest
4 голосов
/ 03 апреля 2020

Я ищу модель, своего рода onehotencoding , которая могла бы смешивать столбцы одной категории в одном векторе.

  • Имея данные [5,8,1,3]
  • это даст мне: [0,1,0,1,0,1,0,0,1,0,0,0]

с произвольным размером, установленным на 12.

Я посмотрел на bagofword , но не сделал узнайте, как установить размер вектора независимо от входных данных.

Если кто-нибудь подскажет мне, это будет найдено.

Ответы [ 2 ]

4 голосов
/ 03 апреля 2020

Обратите внимание, что модели слов используются при работе с text. Для этой более простой задачи вы можете просто использовать np.bincount и указать minlength:

l = [5,8,1,3]

np.bincount(l, minlength=12)
# array([0., 1., 0., 1., 0., 1., 0., 0., 1., 0., 0., 0.])
3 голосов
/ 03 апреля 2020

вы можете использовать np.zeros, а затем установить значение 1 для индексов из вашего списка data:

z = np.zeros(12)
data = [5,8,1,3]
z[data] = 1
print(z)

вывод:

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