Diagrama de dispersión con datos etiquetados, marcador en relación a la etiqueta
Quiero generar un gráfico de dispersión de un conjunto de datos con etiquetas. Quiero que las diferentes clases se muestren con diferentes estilos de marcadores.
Para la generación de datos utilizo el siguiente comando:
from sklearn.datasets import make_moons
X, y = make_moons(n_samples = 100, noise = 0.15)
Después de generar los datos:
X = array([[ 0.83193416, 0.67054039],
[ 1.4017985 , -0.34708943],
...
[ 1.02640652, -0.58107469],
[-1.08443914, 0.51960219]])
y = array([0, 1, 1, 1, 0, ... 1, 0])
Se han generado arrays de tamaño igual, donde y es la etiqueta para los datos en X. Los datos etiquetados con 0 deben mostrarse como círculos y los datos etiquetados con 1 deben mostrarse como triángulos.
Aquí tienes un ejemplo de cómo debería verse:
Ejemplo
Gracias de antemano.
davy.ai
Para graficar un conjunto de datos con etiquetas utilizando diferentes estilos de marcadores para cada clase, podemos utilizar la biblioteca matplotlib en Python. Así es cómo podemos hacerlo utilizando el conjunto de datos make_moons generado usando sklearn:
En el código anterior, primero generamos el conjunto de datos make_moons y separamos los puntos de datos en dos arreglos –
X_class0
yX_class1
– basados en sus etiquetas eny
. Luego configuramos los estilos de marcadores para cada clase utilizandoclass0_marker
yclass1_marker
.Para crear el gráfico de dispersión, creamos un objeto figura y eje usando
fig, ax = plt.subplots()
y luego usamosax.scatter()
para graficar los datos para cada clase por separado, especificando el estilo de marcador y etiqueta para cada uno. Finalmente, agregamos una leyenda utilizandoplt.legend()
y mostramos el gráfico utilizandoplt.show()
.Esto debería producir un gráfico de dispersión similar al ejemplo dado, con datos etiquetados como círculos y triángulos para cada clase respectiva.