2017-06-17 2 views
0

Ich bin nicht in der Lage, die Daten für die Klassifizierung plotten algo mit numpy wie es an diesem Fehler wirft ValueError: x and y must be the same sizePython, wie Klassifikationsdaten plotten

Meine Daten in der data Variable wie folgt aussehen:

[[ 34.62365962 78.02469282 0.  ] 
[ 30.28671077 43.89499752 0.  ] 
[ 35.84740877 72.90219803 0.  ] 
[ 60.18259939 86.3085521 1.  ] 
[ 79.03273605 75.34437644 1.  ] 
[ 45.08327748 56.31637178 0.  ] 
[ 61.10666454 96.51142588 1.  ] 
[ 75.02474557 46.55401354 1.  ]] 

-Code :

data=np.loadtxt('ex2data1.txt',delimiter=',',dtype=None) 
X = data[:, [0,1]] 
y = data[:, 2] 
pylab.scatter(X,y) 
pylab.show() 

ich diesen plotten bin versucht:

enter image description here

+0

Jedes Mal, wenn Sie einen Punkt zeichnen, müssen Sie geben es ist die 'x' und' y' Koordinate für diesen Punkt. Momentan versuchen Sie, zwei 'x' Werte pro' y' Wert zu zeichnen, aber Sie wissen nicht, wie Sie sie abbilden sollen. Mit Ihrem aktuellen Code wäre es am einfachsten, die y-Werte für die zweite Zeile von x-Werten zu duplizieren und alle auf diese Weise zu plotten. –

Antwort

2

wäre der einfachste Weg, um die Daten, die bereits entpacken, während

import matplotlib.pyplot as plt 

x,y,c = np.loadtxt('ex2data1.txt',delimiter=',', unpack=True) 
plt.scatter(x,y,c=c) 
plt.show() 

Offensichtlich Laden Sie das Auspacken danach auch tun können,

import matplotlib.pyplot as plt 

data = np.loadtxt('ex2data1.txt',delimiter=',') 
plt.scatter(data[:,0],data[:,1],c=data[:,2]) 
plt.show()