Menu
CoddyTech

Sommes de dés

Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 15 sur 64.

Lance deux dés et additionne leurs résultats : on obtient 7 six fois plus souvent que 2. Compte les paires de faces :

Une grille de 6 sur 6 des sommes de deux dés, le premier dé sur le côté et le second en haut. Les six cases qui donnent 7 vont d’un coin à l’autre et sont ombrées ; une seule case donne 2

Une simulation confirme ce résultat. Additionne les dés lancer après lancer, puis compte chaque total ; value_counts affiche d’abord les plus fréquents :

rng = np.random.default_rng(2)
first = rng.integers(1, 7, size=3600)
second = rng.integers(1, 7, size=3600)
counts = pd.Series(first + second).value_counts()
print(counts.head(3))

Cela affiche :

7    605
6    522
8    443
Name: count, dtype: int64

ax.bar(counts.index, counts) dessine toute la tente :

Un diagramme en barres représentant 3600 lancers de deux dés : les barres montent d’environ 100 pour un total de 2 jusqu’à un pic d’environ 600 à 7, puis redescendent à environ 100 à 12

Un diagramme en barres comme celui-ci est votre premier aperçu de chaque étiquette : ses valeurs rares sont celles qu’un modèle apprendra à peine.

challenge icon

Défi

Moyen

Dans un jeu de rôle, les dégâts correspondent au total de deux dés à quatre faces, chacun donnant un résultat de 1 à 4. Le programme lit le nombre d’attaques ; le code de départ stocke les lancers dans first et second, et ajoute les étiquettes au graphique.

  1. Comptez chaque total de dégâts.
  2. Affichez les dégâts les plus probables et leur part des attaques, avec 3 décimales.
  3. Représentez les comptes sous forme de barres, une par total, et affichez-les.

Pour 16 attaques, ce qui est trop peu pour se fier aux résultats :

Most likely damage: 6, share 0.312

Un diagramme en barres intitulé Damage Rolls pour 16 attaques : des barres à 3, 5, 6, 7 et 8, la plus haute à 6 avec 5 lancers

Ensuite, Coddy décrit votre graphique. Avec davantage d’attaques, le pic se stabilise.

Essayez vous-même

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

rolls = int(input())

# Ne modifiez pas les lignes ci-dessous
rng = np.random.default_rng(4)
first = rng.integers(1, 5, size=rolls)
second = rng.integers(1, 5, size=rolls)

fig, ax = plt.subplots()
ax.set_title("Damage Rolls")
ax.set_xlabel("Damage")
ax.set_ylabel("Rolls")

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Statistiques pour le ML

Entraînez-vous par vous-même : Compilateur Python en ligne