Menu
CoddyTech

Suma de dados

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 15 de 64.

Tira dos dados y súmalos: el 7 sale seis veces más a menudo que el 2. Cuenta las parejas de caras:

Una cuadrícula de 6 por 6 con las sumas de dos dados; el primer dado aparece en el lateral y el segundo, en la parte superior. Las seis celdas que suman 7 forman una diagonal y están sombreadas; solo una celda suma 2

Una simulación lo confirma. Suma las tiradas de los dados una por una y después cuenta cada total; value_counts muestra primero los más frecuentes:

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))

Esto imprime:

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

ax.bar(counts.index, counts) dibuja toda la tienda de campaña:

Un gráfico de barras de 3600 lanzamientos de dos dados: las barras suben desde aproximadamente 100 con un total de 2 hasta un máximo de aproximadamente 600 en 7, y luego vuelven a bajar hasta aproximadamente 100 en 12

Un gráfico de barras como este es tu primer vistazo a cualquier etiqueta: sus valores poco frecuentes son los que un modelo apenas aprenderá.

challenge icon

Desafío

Intermedio

En un juego de rol, el daño es la suma de dos dados de cuatro caras, cada uno con valores del 1 al 4. El programa lee cuántos ataques hay; el código inicial guarda las tiradas en first y second y etiqueta el gráfico.

  1. Cuenta cada total de daño.
  2. Imprime el daño más probable y su proporción de los ataques, con 3 decimales.
  3. Representa los recuentos con barras, una por cada total, y muéstralas.

Para 16 ataques, muy pocos como para confiar en el resultado:

Most likely damage: 6, share 0.312

Gráfico de barras titulado Tiradas de daño para 16 ataques: barras en 3, 5, 6, 7 y 8; la más alta está en 6, con 5 tiradas

Después, Coddy describe tu gráfico. Con más ataques, el pico se estabiliza.

Pruébalo tú mismo

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

rolls = int(input())

# No cambies las líneas de abajo
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")

# Escribe tu código abajo
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Estadística para ML

Practica por tu cuenta: Compilador de Python online