Maison > interface Web > tutoriel HTML > le corps du texte

Analyser les méthodes de génération de nombres aléatoires couramment utilisées par numpy

王林
Libérer: 2024-01-26 09:09:07
original
887 Les gens l'ont consulté

Analyser les méthodes de génération de nombres aléatoires couramment utilisées par numpy

Analyse des méthodes courantes pour générer des nombres aléatoires avec numpy

Les nombres aléatoires jouent un rôle important dans l'analyse des données et l'apprentissage automatique. Numpy est une bibliothèque de calcul numérique couramment utilisée en Python, fournissant diverses méthodes pour générer des nombres aléatoires. Cet article analysera les méthodes courantes de génération de nombres aléatoires dans numpy et donnera des exemples de code spécifiques.

  1. Entiers aléatoires

numpy fournit la fonction numpy.random.randint() qui génère des entiers aléatoires. Cette fonction génère des entiers aléatoires dans une plage spécifiée.

import numpy as np

# 生成范围在[low, high)之间的随机整数
rand_int = np.random.randint(low, high, size)
Copier après la connexion

Parmi eux, low représente la limite inférieure (incluse) de génération d'entiers aléatoires, high représente la limite supérieure (exclusive) et size représente le nombre d'entiers aléatoires générés.

Exemple :

import numpy as np

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
Copier après la connexion

Sortie :
[4 9 5 3 1]

Le code ci-dessus génère 5 entiers aléatoires allant de 1 à 10.

  1. Nombres à virgule flottante aléatoires

numpy fournit des fonctions numpy.random.rand() et numpy.random.randn() qui génèrent des nombres à virgule flottante aléatoires.

import numpy as np

# 生成[0, 1)之间的均匀分布的随机浮点数
rand_float = np.random.rand(size)

# 生成符合标准正态分布的随机浮点数
rand_normal_float = np.random.randn(size)
Copier après la connexion

Parmi eux, rand_float génère des nombres à virgule flottante aléatoires uniformément répartis entre [0, 1), et rand_normal_float génère des nombres à virgule flottante aléatoires conformes à la distribution normale standard. size représente le nombre de nombres aléatoires à virgule flottante générés.

Exemple :

import numpy as np

rand_float = np.random.rand(5)
rand_normal_float = np.random.randn(5)

print(rand_float)
print(rand_normal_float)
Copier après la connexion

Sortie :
[0.83600534 0.69029467 0.44770399 0.61348757 0.93889918]
[-0.9200914 0.45598762 -0.7640 0891 -0 .18554811 1.67634905]

Le code ci-dessus génère un tableau à virgule flottante aléatoire uniformément distribué de longueur 5 et un tableau de longueur 5 Un tableau de nombres à virgule flottante aléatoires distribués normaux standard.

  1. Random seed

Les nombres aléatoires générés par numpy sont des nombres pseudo-aléatoires par défaut, c'est-à-dire que les nombres aléatoires générés à chaque exécution du programme sont différents. Si vous souhaitez générer la même séquence de nombres aléatoires, vous pouvez utiliser une graine aléatoire.

import numpy as np

# 设置随机种子
np.random.seed(seed)
Copier après la connexion

Parmi eux, la graine représente la valeur de la graine aléatoire. Les séquences de nombres aléatoires générées par la même graine aléatoire sont les mêmes.

Exemple :

import numpy as np

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
Copier après la connexion

Sortie :
[6 1 4 8 4]
[6 1 4 8 4]

Le code ci-dessus définit la graine aléatoire sur 0, en utilisant la même graine aléatoire pour générer deux tableaux d'entiers aléatoires identiques.

Grâce à l'analyse de cet article et aux exemples de code de méthodes courantes pour générer des nombres aléatoires dans numpy, je pense que les lecteurs se familiariseront davantage avec le fonctionnement de la génération de nombres aléatoires dans la bibliothèque numpy. Dans des domaines tels que l'analyse des données et l'apprentissage automatique, la génération de nombres aléatoires est une opération courante. La maîtrise de ces méthodes est très utile pour les expériences de données associées et la formation de modèles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!