Menu
CoddyTech

Numeri casuali

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 18 di 60.

Le simulazioni, i dati mescolati e i modelli non addestrati partono tutti da numeri casuali. Queste 1.000 altezze inventate hanno richiesto una sola riga:

Un istogramma di 1.000 altezze casuali a forma di campana, con il picco intorno alla media di 170 cm e valori che diminuiscono verso 140 e 200

NumPy li estrae da un generatore, avviato da un seme:

rng = np.random.default_rng(42)
heights = rng.normal(170, 10, size=1000)
print(np.round(heights[:4], 1))
print(rng.integers(1, 7, size=5))
print(np.round(rng.random(3), 2))

Questo stampa:

[173.  159.6 177.5 179.4]
[2 4 3 3 5]
[0.44 0.13 0.09]

normal(mean, std, size) si raggruppa intorno alla sua media. integers esclude il suo limite superiore, come range. random restituisce numeri decimali da 0 a 1.

Lo stesso seme dà gli stessi numeri su qualsiasi computer, quindi chiunque può ripetere il tuo esperimento. Ogni estrazione fa avanzare il generatore.

challenge icon

Sfida

Facile

Un negozio simula una settimana che una riesecuzione deve ripetere.

  1. Crea rng_a dal seme e genera 7 conteggi di clienti, da 20 a 60 inclusi, poi 7 spese con distribuzione normale: media 15, deviazione standard 4.
  2. Genera di nuovo i conteggi usando rng_b con lo stesso seme e rng_c con il seme più 1.
  3. Stampa come sotto: le spese con 1 cifra decimale e il numero di giorni in cui b e c corrispondono ad a.

Per il seme 12:

Customers: [45 30 59 58 22 27 28]
Spend: [21.5 10.2 12.5  9.7 14.6 19.  14.9]
Same seed, days that match: 7
Seed + 1, days that match: 1

Provalo tu

import numpy as np

seed = int(input())

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online