Maskininlärning - scatter diagram

Punktplot (Scatter Plot)

Punktplot är en graf där varje värde i datauppsättningen representeras av en punkt.


Matplotlib-modulen har ett sätt att rita punktplot, det kräver två arrayer med samma längd, en array används för x-axelns värden, och den andra arrayen används för y-axelns värden:

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 representerar varje bilens ålder.

y-arrayen representerar varje bilens hastighet.

Exempel

Använd scatter() Metoden att rita en 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 Exempel

Scatter Diagrams Förklaring

x-axeln representerar bilens ålder, y-axeln representerar hastigheten.

Från bilden kan man se att de två snabbaste bilarna har använt 2 år, den långsammaste bilen har använt 12 år.

Kommentar:Bilar verkar köra snabbare ju nyare de är, men detta kan vara en tillfällighet, eftersom vi bara har registrerat 13 bilar.

Slumpmässig Datafördelning

I maskininlärning kan datauppsättningar innehålla tusentals eller till och med miljontals värden.

När du testar algoritmer kanske du inte har verkliga data, du måste kanske använda slumpmässigt genererade värden.

Som vi lärde oss i föregående kapitel kan NumPy-modulen hjälpa oss!

Låt oss skapa två arrayer som båda är fyllda med 1000 slumpmässiga tal från en normalfordelning.

Medelvärdet för den första arrayen sätts till 5.0, standardavvikelsen till 1.0.

Medelvärdet för den andra arrayen sätts till 10.0, standardavvikelsen till 2.0:

Exempel

En diagram 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 Exempel

Scatter Diagrams Förklaring

Vi kan se att punkterna koncentrerar sig kring värdena 5 på x-axeln och 10 på y-axeln.

Vi kan se att spridningen är större på y-axeln än på x-axeln.