Générateurs de nombres aléatoires de scipy

Générateurs de nombres aléatoires de scipy
Lorsque vous écrivez du code dans la langue Python, vous rencontrez souvent différentes bibliothèques. Ces bibliothèques Python rendent la vie des développeurs plus facile et plus simple. En utilisant ces bibliothèques, les développeurs peuvent facilement gérer des problèmes pratiques complexes et optimiser les longues lignes de code avec une fonction. Scipy est l'une de ces incroyables bibliothèques Python qui aident les développeurs à avoir des problèmes statistiques et scientifiques. Dans cet article, nous allons discuter de la fonction de générateur de nombres aléatoires de la bibliothèque Scipy. Comme Scipy est l'une des bibliothèques Python les plus couramment utilisées pour des problèmes scientifiques et mathématiques, nous discuterons de sa fonction de générateur de nombres aléatoires ici.

Qu'est-ce qu'un nombre aléatoire?

Un nombre aléatoire est produit au hasard et non par une prédiction logique. C'est comme choisir un numéro dans une série sans faire de logique. Le nombre peut être répété car le nombre aléatoire ne signifie pas un numéro unique. Les générateurs de nombres aléatoires du programme Python suivent la même logique pour générer un nombre aléatoire. La fonction peut choisir n'importe quel numéro dans une série spécifique sans faire de logique et le nombre peut être répété plusieurs fois. C'est comme un jeu Ludo où vous lancez des dés et attend un nombre entre 1 et 6, au fur et à mesure que nous avançons, nous obtenons le même nombre plusieurs fois.

Génération de nombres aléatoires avec bibliothèque Scipy

La bibliothèque Scipy en programmation Python offre une interface unique pour une variété de générateurs de nombres aléatoires non uniformes universels. L'objet RANDInt de la bibliothèque Scipy hérite de la collection de méthodes génériques de la bibliothèque et remplit diverses fonctions de distribution aléatoire. Ici, nous expliquerons comment vous pouvez effectuer une distribution aléatoire avec la méthode du générateur de nombres aléatoires Scipy.

Exemple 1:

Explorons le premier exemple et apprenons à utiliser le générateur de nombres aléatoires de la bibliothèque Scipy dans notre programme. Dans l'extrait de code ci-dessous, vous pouvez trouver les quelques lignes de code qui traceront un graphique et afficheront le hasard dans la distribution.

Importer Numpy comme NP
de Scipy.Les statistiques importent Rannt
Importer Matplotlib.pypllot comme plt
f, g = plt.intrigues secondaires (1, 1)
Démarrer, fin = 6, 20
x = np.Arange (Rannt.PPF (0, début, fin),
Randin.ppf (1, start, fin))
g.Terrain (X, Rannt.PMF (x, start, fin), 'bo', ms = 10)
g.Vlines (x, 0, Randint.PMF (x, début, fin))
RV = RANDInt (début, fin)
g.Vlines (x, 0, RV.PMF (x))
PLT.montrer()

Le programme a commencé par l'importation de la bibliothèque Numpy en tant que NP. Après ça, le scipy.Le package des statistiques est inclus dans le programme pour importer la fonction RANDINT. Pour tracer le graphique, le matplotlib.Le package PYPLOT est inclus en tant que PLT dans le programme. Maintenant que nous avons toutes les bibliothèques essentielles à utiliser, démontrez le générateur de nombres aléatoires Scipy, nous pouvons commencer à écrire le programme principal.

Il est déclaré de deux variables pour définir les points de démarrage et de fin de la plage de générateurs de nombres aléatoires. Une fois que nous avons cela, nous pouvons cartographier les nombres aléatoires sur l'axe X et l'axe y. Pour l'axe X, nous avons déclaré NP.Arange (Rannt.PPF (0, début, fin), Randint.ppf (1, start, fin)). Maintenant, ce x est transmis à la fonction Plot () pour dessiner le graphique. Pour tracer les lignes du résultat du générateur de nombres aléatoires, nous avons utilisé g.Vlines (x, 0, Randint.PMF (x, début, fin)). Pour la génération de valeur aléatoire, nous avons utilisé RV = RANDInt (start, fin). La plage de début et de fin est donnée au début, 6 et 20, donc le nombre sera généré entre 6 et 20.

Si vous avez remarqué que nous avons utilisé les méthodes PMF et PPF, vous devez vous demander maintenant ce qu'ils sont. La fonction RANDInt fonctionne avec diverses méthodes, i.e., PMF, RVS, Logsf, PPF, entropie, moyenne, intervalle, médiane, MST, attendre, etc. Dans ce programme, nous utilisons les méthodes PPF et PMF pour démontrer la fonction RANDINT de la bibliothèque Scipy. Le PPF signifie pourcentage la fonction de point et il est utilisé pour trouver les centiles. Le PMF signifie une fonction de masse de probabilité et est utilisé pour calculer les probabilités.

Maintenant, regardez la sortie ci-dessous pour comprendre les lignes de code indiquées ci-dessus. Lorsque vous voyez le résultat, vous pouvez facilement interpréter chaque ligne de code dans le graphique. Voir le résultat donné dans la capture d'écran ci-dessous:

Exemple 2:

Étant donné que nous savons déjà que de nombreuses méthodes peuvent être utilisées avec la fonction RANDINT, explorons un autre d'entre eux. Auparavant, nous avons utilisé la méthode PMF avec PPF, dans cet exemple, nous démontrerons le fonctionnement du CDF avec la méthode PPF.

Importer Numpy comme NP
de Scipy.Les statistiques importent Rannt
Importer Matplotlib.pypllot comme plt
f, g = plt.intrigues secondaires (1, 1)
Démarrer, fin = 6, 20
x = np.Arange (Rannt.PPF (0, début, fin),
Randin.ppf (1, start, fin))
g.Terrain (X, Rannt.cdf (x, start, fin), 'bo', ms = 10)
g.Vlines (x, 0, Randint.cdf (x, start, fin))
RV = RANDInt (début, fin)
g.Vlines (x, 0, RV.CDF (x))
PLT.montrer()

Le code, comme vous pouvez l'observer, est similaire à ce que nous avons utilisé dans l'exemple précédent. Les données, le point de départ et le point final, la plage, les méthodes de traçage, tout est le même. Nous venons de remplacer la fonction PMF par la méthode CDF. Cela a été utilisé pour vous montrer le fonctionnement des différentes méthodes. Le CDF signifie une fonction de distribution cumulative et est utilisé pour calculer la distribution cumulative. Les données n'ont pas été modifiées afin que vous puissiez voir la différence dans le résultat des méthodes PMF et CDF. Voir la sortie de la méthode CDF de Rannt ci-dessous:

Exemple 3:

Une autre méthode qui peut être utilisée avec Randint est logpmf. Donc, dans ce programme, nous démontrerons le fonctionnement de LogPMF. Le reste du programme est le même, la seule modification est que la fonction CDF est remplacée par logpmf.

Importer Numpy comme NP
de Scipy.Les statistiques importent Rannt
Importer Matplotlib.pypllot comme plt
f, g = plt.intrigues secondaires (1, 1)
Démarrer, fin = 6, 20
x = np.Arange (Rannt.PPF (0, début, fin),
Randin.ppf (1, start, fin))
g.Terrain (X, Rannt.logPmf (x, start, fin), 'bo', ms = 10)
g.Vlines (x, 0, Randint.logPmf (x, start, fin))
RV = RANDInt (début, fin)
g.Vlines (x, 0, RV.logPmf (x))
PLT.montrer()

Le logPMF signifie le journal de la fonction de masse de probabilité. Il est similaire à la fonction PMF mais prend le journal du PMF. Nous avons expliqué la fonction PMF dans le premier exemple, vous pouvez donc comparer la sortie des deux programmes pour voir la différence. Voir la sortie dans la capture d'écran ci-dessous:

Conclusion

Cet article a été conçu pour discuter du générateur de nombres aléatoires Scipy. Nous avons appris que la bibliothèque Scipy a un package de statistiques qui fournit la fonction RANDInt qui peut être utilisée avec diverses méthodes Likf PPF, PMF, CDF, moyenne, logpmf, médiane, etc. Nous avons exploré quelques exemples simples et utiles pour apprendre à effectuer une génération de nombres aléatoires à l'aide de la bibliothèque Scipy de Python. Ces exemples simples sont très utiles pour comprendre le fonctionnement de la fonction Rannt pour la génération de nombres aléatoires.