np.any (np.not_equal (arr, 0), axis = 0) против np.count_nonzero (arr) - PullRequest
1 голос
/ 07 июля 2019

У меня есть массив с большим количеством ненулевых значений.Я получил 2 разных результата, когда подсчитал общее количество ненулевых предметов, используя:

1)

non_zero_weights = np.any(np.not_equal(lr_l1.coef_, 0), axis=0)
new_vocab_size = non_zero_weights.sum()

2)

np.count_nonzero(lr_l1.coef_)

Я что-то упустилздесь ??

1 Ответ

0 голосов
/ 07 июля 2019

Это правильно:

np.count_nonzero(lr_l1.coef_)

В первом варианте, однако, вы не находите количество ненулевых значений в массиве, но выясняете, существует ли не менее 1 ненулевого значения. Вот что делает np.any().

Вместо этого должно быть следующее:

non_zero_weights = np.not_equal(lr_l1.coef_, 0)
new_vocab_size = non_zero_weights.sum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...