属性错误:“列表”对象没有属性“ravel”

问题描述 投票:0回答:1

以下块继续返回相同的错误,我不明白为什么......有什么帮助吗?我已将 numpy 导入为 np 并定义了 xx1 和 xx2 但代码仍然返回错误。可能是什么原因导致了这个问题?

def plot_decision_regions(X,y,classifier,resolution=0.02):
    markers = ('s','x','o','^','v')
    colors = ('red','blue','lightgreen','gray','cyan')
    cmap = ListedColormap(colors[:len(np.unique(y))])
    x1_min = X[:,0].min() -1
    x1_max = X[:,0].max() +1
    x2_min = X[:,1].min() -1
    x2_max = X[:,1].max() +1
    xx1 = np.meshgrid(np.arange(x1_min,x1_max,resolution))
    xx2 = np.meshgrid(np.arange(x2_min,x2_max,resolution))
    Z = classifier.predict(np.array([xx1.ravel(),xx2.ravel()]).T)
    Z = Z.reshape(xx1.shape)
    plt.contourf(xx1,xx2,Z,alpha=0.3,cmap=cmap)
    plt.xlim(xx1.min(),xx1.max())
    plt.ylim(xx2.min(),xx2.max())
    for idx, cl in enumerate(np.unique(y)):
        plt.scatter(x=X[y==cl,0],y=X[y==cl,1],alpha=0.8,c=colors[idx],marker=markers[idx],label=cl,edgecolor='black')

        
>>> plot_decision_regions(X,y,classifier=ppn)
Traceback (most recent call last):
  File "<pyshell#68>", line 1, in <module>
    plot_decision_regions(X,y,classifier=ppn)
  File "<pyshell#67>", line 11, in plot_decision_regions
    Z = classifier.predict(np.array([xx1.ravel(),xx2.ravel()]).T)
AttributeError: 'list' object has no attribute 'ravel'
python numpy attributeerror
1个回答
0
投票

np.meshgrid()
的返回值是一个列表。

从坐标向量返回坐标矩阵列表。

来源。)

然后 xx1 和 xx2 是列表,您会收到此错误。

您可以使用

np.array()
将列表转换为数组。

© www.soinside.com 2019 - 2024. All rights reserved.