Heim  >  Artikel  >  Web-Frontend  >  Analysieren Sie die häufig verwendeten Methoden zur Zufallszahlengenerierung von Numpy

Analysieren Sie die häufig verwendeten Methoden zur Zufallszahlengenerierung von Numpy

王林
王林Original
2024-01-26 09:09:07928Durchsuche

Analysieren Sie die häufig verwendeten Methoden zur Zufallszahlengenerierung von Numpy

Analyse gängiger Methoden zur Generierung von Zufallszahlen mit Numpy

Zufallszahlen spielen eine wichtige Rolle in der Datenanalyse und beim maschinellen Lernen. Numpy ist eine häufig verwendete numerische Berechnungsbibliothek in Python, die verschiedene Methoden zum Generieren von Zufallszahlen bereitstellt. In diesem Artikel werden die gängigen Methoden zum Generieren von Zufallszahlen in Numpy analysiert und spezifische Codebeispiele gegeben.

  1. Zufällige Ganzzahlen

numpy bietet die Funktion numpy.random.randint(), die zufällige Ganzzahlen generiert. Diese Funktion generiert zufällige Ganzzahlen innerhalb eines angegebenen Bereichs.

import numpy as np

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

Unter diesen stellt „low“ die untere Grenze (inklusive) der Generierung zufälliger Ganzzahlen dar, „high“ stellt die obere Grenze (exklusiv) dar und „size“ stellt die Anzahl der generierten zufälligen ganzen Zahlen dar.

Beispiel:

import numpy as np

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

Ausgabe:
[4 9 5 3 1]

Der obige Code generiert 5 zufällige Ganzzahlen im Bereich von 1 bis 10.

  1. Zufällige Gleitkommazahlen

numpy bietet die Funktionen numpy.random.rand() und numpy.random.randn(), die zufällige Gleitkommazahlen generieren.

import numpy as np

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

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

Unter diesen generiert rand_float zufällige Gleitkommazahlen, die gleichmäßig zwischen [0, 1] verteilt sind, und rand_normal_float generiert zufällige Gleitkommazahlen, die der Standardnormalverteilung entsprechen. Größe stellt die Anzahl der generierten zufälligen Gleitkommazahlen dar.

Beispiel:

import numpy as np

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

print(rand_float)
print(rand_normal_float)

Ausgabe:
[0,83600534 0,69029467 0,44770399 0,61348757 0,93889918]
[-0,9200914 0,45598762. -0,76 400891 -0 .18554811 1.67634905]

Der obige Code generiert ein gleichmäßig verteiltes zufälliges Gleitkomma-Array der Länge 5 und ein Array von Länge 5 Ein Array standardmäßig normalverteilter, zufälliger Gleitkommazahlen.

  1. Zufälliger Startwert

Die von Numpy generierten Zufallszahlen sind standardmäßig Pseudozufallszahlen, dh die bei jeder Ausführung des Programms generierten Zufallszahlen sind unterschiedlich. Wenn Sie dieselbe Folge von Zufallszahlen generieren möchten, können Sie einen Zufallsstartwert verwenden.

import numpy as np

# 设置随机种子
np.random.seed(seed)

Unter diesen stellt Seed den Wert des zufälligen Seeds dar. Die von demselben Zufallsstartwert erzeugten Zufallszahlenfolgen sind gleich.

Beispiel:

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)

Ausgabe:
[6 1 4 8 4]
[6 1 4 8 4]

Der obige Code setzt den Zufallsstartwert auf 0 und verwendet denselben Zufallsstartwert, um zwei identische Zufalls-Integer-Arrays zu generieren.

Durch die Analyse und Codebeispiele gängiger Methoden zum Generieren von Zufallszahlen in Numpy in diesem Artikel glaube ich, dass die Leser mit der Funktionsweise des Generierens von Zufallszahlen in der Numpy-Bibliothek vertrauter werden. In Bereichen wie Datenanalyse und maschinellem Lernen ist die Generierung von Zufallszahlen eine gängige Operation. Die Beherrschung dieser Methoden ist für entsprechende Datenexperimente und Modelltraining sehr hilfreich.

Das obige ist der detaillierte Inhalt vonAnalysieren Sie die häufig verwendeten Methoden zur Zufallszahlengenerierung von Numpy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn