Representar las clases
Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 55 de 60.
¿Forman las clases nubes separadas? Dibuja un diagrama de dispersión por clase, cada uno con el nombre obtenido de target_names:
El código que hay detrás:
df = iris.frame
fig, ax = plt.subplots()
for i in range(3):
group = df[df["target"] == i]
ax.scatter(group["sepal length (cm)"], group["sepal width (cm)"], label=iris.target_names[i])
ax.set_title("Iris flowers by sepal size")
ax.set_xlabel("sepal length (cm)")
ax.set_ylabel("sepal width (cm)")
ax.legend()
plt.show()Cada llamada obtiene su propio color, y label=iris.target_names[i] convierte 0, 1 y 2 en nombres para la leyenda.
Setosa se distingue; versicolor y virginica se solapan. Donde se solapan las nubes es donde un modelo cometerá errores.
Desafío
Intermedio¿Forman las muestras malignas y benignas grupos separados? El gráfico de un compañero no permite saberlo: representa todos los datos de load_breast_cancer con un único diagrama de dispersión, de un solo color.
- Sustituye ese diagrama de dispersión por uno para cada clase:
mean radiusen el eje horizontal ymean concave pointsen el vertical. - Etiqueta cada uno con el nombre de su clase de
target_names.
Conserva las líneas ya preparadas. El tuyo debería parecerse a este, que se ha dibujado a partir de otras dos mediciones:
Tu programa no imprime nada: Coddy comprueba el gráfico y lo describe.
Pruébalo tú mismo
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
# No cambies la línea de abajo
fig, ax = plt.subplots()
# Corrige el código aquí
ax.scatter(df["mean radius"], df["mean concave points"])
# No cambies las líneas de abajo
ax.set_title("Cells by Diagnosis")
ax.set_xlabel("mean radius")
ax.set_ylabel("mean concave points")
ax.legend()
plt.show()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Datos y gráficos
4Dar forma a los datos
Cambiar la forma de los arraysUnir arraysNúmeros aleatoriosRepaso: simulación de dados2Arrays de NumPy
Creación de arraysForma y tamañoRangos de númerosIndexación y segmentaciónRepaso: cuadrícula de temperaturas5Gráficos de líneas y de dispersión
Etiquetas y títulosGráficos de dispersiónVarias líneas y leyendasColores y marcadoresFiguras y ejesRepaso: pasos semanales8Filtrado y ordenación
Selección de filasFiltrado de filasOrdenación de valoresNuevas columnasRepaso: productos principales11Conjuntos de datos para ML
Conjuntos de datos integradosCaracterísticas y etiquetasExplorar por claseRepresentar las clasesRepaso: conjunto de datos Wine3Matemáticas con arrays
Operaciones matemáticas con arrays completosEstadísticas resumidasEstadísticas por ejeDifusiónMáscaras booleanasRepaso: calificaciones de exámenes6Gráficos para datos
Gráficos de barrasHistogramasVarios gráficos en unoImágenes como matricesRepaso: informe de precipitacionesPractica por tu cuenta: Compilador de Python online