scipy.sparse.

rand#

scipy.sparse.rand(m, n, плотность=0.01, формат='coo', dtype=None, rng=None, *, random_state=None)[источник]#

Сгенерировать разреженную матрицу заданной формы и плотности с равномерно распределенными значениями.

Предупреждение

Эта функция возвращает разреженную матрицу, а не разреженный массив. Рекомендуется использовать random_array чтобы воспользоваться функциональностью разреженных массивов.

Параметры:
m, nint

форма матрицы

плотностьreal, optional

плотность генерируемой матрицы: плотность, равная единице, означает полную матрицу, плотность 0 означает матрицу без ненулевых элементов.

форматstr, optional

формат разреженной матрицы.

dtypedtype, опционально

тип возвращаемых значений матрицы.

rng{None, int, numpy.random.Generator, опционально

Если rng передается по ключевому слову, типы, отличные от numpy.random.Generator передаются в numpy.random.default_rng для создания экземпляра Generator. Если rng уже является Generator экземпляр, то предоставленный экземпляр используется. Укажите rng для повторяемого поведения функции.

Если этот аргумент передаётся по позиции или random_state передается по ключевому слову, устаревшее поведение для аргумента random_state применяется:

  • Если random_state равно None (или numpy.random), numpy.random.RandomState используется синглтон.

  • Если random_state является int, новый RandomState используется экземпляр, инициализированный с random_state.

  • Если random_state уже является Generator или RandomState экземпляр, тогда этот экземпляр используется.

Изменено в версии 1.15.0: В рамках SPEC-007 переход от использования numpy.random.RandomState to numpy.random.Generator, этот ключевое слово было изменено с random_state to rng. В переходный период оба ключевых слова будут продолжать работать, хотя только одно может быть указано за раз. После переходного периода вызовы функций, использующие random_state ключевое слово будет выдавать предупреждения. Поведение обоих random_state и rng описаны выше, но только rng ключевое слово должно использоваться в новом коде.

Возвращает:
resразреженная матрица

Смотрите также

random

Аналогичная функция, позволяющая использовать пользовательский сэмплер случайных данных

random_array

Аналогично random(), но возвращает разреженный массив

Примечания

Пока поддерживаются только типы с плавающей точкой.

Примеры

>>> from scipy.sparse import rand
>>> matrix = rand(3, 4, density=0.25, format="csr", rng=42)
>>> matrix

    with 3 stored elements and shape (3, 4)>
>>> matrix.toarray()
array([[0.05641158, 0.        , 0.        , 0.65088847],  # random
       [0.        , 0.        , 0.        , 0.14286682],
       [0.        , 0.        , 0.        , 0.        ]])