Точки печати - Python матплотлиб - PullRequest
0 голосов
/ 28 февраля 2020

У меня проблемы с построением точек. Я не знаю много о python, и я все еще учусь, как я go.

Вот мой код:

def graph(features, labels,classes):
  plt.plot(features[labels[:]==1,0], features[labels[:]==1,1],'g^',
       features[labels[:]==0,0],features[labels[:]==0,1],'rs')
  plt.axis([-4, 4,-4, 4])
  plt.xlabel('x: feature 1')
  plt.ylabel('y: feature 2')
  plt.legend(['Class'+str(classes[1]), 'Class'+str(classes[0])])
  plt.show()


features=np.array([[1,1], [1,0], [0,1], [-1,-1], [0.5,3], [0.7,2], [-1,0], [-1,1], [2,0], [-2,-1]])
labels=np.array([1,1,-1,-1,1,1,-1,-1,1,-1])
classes=[0,1]

Когда я запускаю код, это вывод : Точки печати

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Попробуйте:

def graph(features, labels,classes):
    plt.plot(features[:,0][labels==1], features[:,1][labels==1],'g^')
    plt.plot(features[:,0][labels==-1],features[:,1][labels==-1],'rs')

    plt.axis([-4, 4,-4, 4])
    plt.xlabel('x: feature 1')
    plt.ylabel('y: feature 2')
    plt.legend(['Class'+str(classes[1]), 'Class'+str(classes[0])])
    plt.show()


features=np.array([[1,1], [1,0], [0,1], [-1,-1], [0.5,3], [0.7,2], [-1,0], [-1,1], [2,0], [-2,-1]])
labels=np.array([1,1,-1,-1,1,1,-1,-1,1,-1])
classes=[0,1]

graph(features,labels,classes)

, что дает:

enter image description here

0 голосов
/ 28 февраля 2020

В вашем массиве features нет 0, поэтому, когда вы делаете labels[:]==0, вы получаете массив ложных значений, который не очень полезен.

Я думаю, вы хотите сделать это в строке 3:

features[labels[:]==-1,0],features[labels[:]==-1,1]

Вот результат, который я получаю, делая это:

output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...