Maskinlæring - scatter plot

Punktplot (Scatter Plot)

Punktplot er et diagram, hvor hver værdi i datatætningen repræsenteres af en punkt.


Matplotlib-modulen har en metode til at tegne punktplot, som kræver to arrays af samme længde: et array til x-aksens værdier og et array til y-aksens værdier:

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]

x-arrayen repræsenterer hver bils alder.

y-arrayen repræsenterer hvert billets hastighed.

Eksempel

Brug venligst scatter() Metode til at tegne punktplot:

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

Resultat:


Kør Eksempel

Scatterplot Forklaring

x-aksen repræsenterer bilens alder, y-aksen repræsenterer hastigheden.

Man kan se fra diagrammet, at de to hurtigste biler har brugt 2 år, og den langsomste bil har brugt 12 år.

Bemærkninger:Bilene ser ud til at køre hurtigere, jo nyere de er, men dette kan være en tilfældighed, efterhånden som vi kun har registreret 13 biler.

Tilfældig datafordeling

I maskinlæring kan datasets indeholde tusindvis, ja endda millioner af værdier.

Når du tester algoritmer, kan du muligvis ikke have rigtige data, og du må måske bruge tilfældigt genererede værdier.

Som vi lærte i det forrige kapitel, kan NumPy-modulen hjælpe os!

Lad os oprette to arrayer, der begge er fyldt med 1000 tilfældige tal fra en normalfordeling.

Den første arrays gennemsnit er sat til 5.0, standardafvigelse er 1.0.

Den anden arrays gennemsnit er sat til 10.0, standardafvigelse er 2.0:

Eksempel

Der er en scatterplot med 1000 punkter:

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

Resultat:


Kør Eksempel

Scatterplot Forklaring

Vi kan se, at punkterne koncentrerer sig om værdierne 5 på x-akslen og 10 på y-akslen.

Vi kan se, at der er mere spredning på y-akslen end på x-akslen.