Aprendizado de máquina - gráfico de dispersão
Gráfico de dispersão
Um gráfico de dispersão é um diagrama onde cada valor no conjunto de dados é representado por um ponto.
O módulo Matplotlib possui um método para desenhar gráficos de dispersão, ele precisa de dois arrays de mesmo comprimento, um para os valores do eixo x e outro para os valores do eixo y:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
A x
matriz representa a idade de cada carro.
A y
matriz representa a velocidade de cada carro.
Exemplo
Use o scatter()
método para desenhar um diagrama de dispersão:
import matplotlib.pyplot as plt
x =
[5,7,8,7,2,17,2,9,4,11,12,9,6]
y =
[99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(x, y)
plt.show()
Resultado:
Gráfico de dispersão explicado
O eixo x representa idades e o eixo y representa velocidades.
O que podemos ler no diagrama é que os dois carros mais rápidos tinham 2 anos e o carro mais lento tinha 12 anos.
Nota: Parece que quanto mais novo o carro, mais rápido ele anda, mas isso pode ser uma coincidência, afinal só registramos 13 carros.
Distribuições de dados aleatórios
No Machine Learning, os conjuntos de dados podem conter milhares ou até milhões de valores.
Você pode não ter dados do mundo real quando estiver testando um algoritmo, talvez seja necessário usar valores gerados aleatoriamente.
Como aprendemos no capítulo anterior, o módulo NumPy pode nos ajudar com isso!
Vamos criar dois arrays preenchidos com 1000 números aleatórios de uma distribuição normal de dados.
A primeira matriz terá a média definida como 5,0 com um desvio padrão de 1,0.
A segunda matriz terá a média definida como 10,0 com um desvio padrão de 2,0:
Exemplo
Um gráfico de dispersão com 1000 pontos:
import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0,
1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)
plt.scatter(x, y)
plt.show()
Resultado:
Gráfico de dispersão explicado
Podemos ver que os pontos estão concentrados em torno do valor 5 no eixo x e 10 no eixo y.
Também podemos ver que o spread é maior no eixo y do que no eixo x.