为了账号安全,请及时绑定邮箱和手机立即绑定

这是什么原因???

F:\Program Files\Python\lib\site-packages\ipykernel\__main__.py:26: VisibleDeprecationWarning: boolean index did not match indexed array along dimension 0; dimension is 100 but corresponding boolean dimension is 101
---------------------------------------------------------------------------IndexError                                Traceback (most recent call last)<ipython-input-116-caffccb593cb> in <module>()----> 1 plot_decision_regions(X,y,ppn,resolution=0.02)      2 plt.xlabel('len1')      3 plt.ylabel('len2')      4 plt.legend(loc='upper left')      5 plt.show()<ipython-input-115-d79b122b313a> in plot_decision_regions(X, y, classifier, resolution)     24      25     for idx,c1 in enumerate(np.unique(y)):---> 26         plt.scatter(x=X[y==c1,0],y=X[y==c1,1],alpha=0.8,c=cmap(idx),marker=markers[idx],label=c1)     27 IndexError: index 100 is out of bounds for axis 0 with size 100
http://img1.sycdn.imooc.com//5a054566000151ec10110541.jpg

正在回答

4 回答

请问解决了吗?


0 回复 有任何疑惑可以回复我~

我是这样改的:

import matplotlib.pyplot as plt

import numpy as np


y = df.loc[0:99, 4].values

y = np.where(y == 'Iris-setosa', -1, 1)

#print(y)

X = df.iloc[0:100, [0, 2]].values

#print(X)

plt.scatter(X[:50, 0], X[:50, 1], color='red', marker='o', label='setosa')

plt.scatter(X[50:100, 0], X[50:100, 1], color='blue', marker='x', label='vericolor')

plt.rcParams['font.sans-serif']=['SimHei']

plt.xlabel('花瓣长度')

plt.ylabel('花茎长度')

plt.legend(loc='upper left')

plt.show()


另外,还有一处会报错,makers这,改成maker:

 for idx, cl in enumerate(np.unique(y)):

        plt.scatter(x=X[y==cl, 0], y=X[y==cl, 1], alpha=0.8, c=cmap(idx), marker=marker[idx], label=cl)


3 回复 有任何疑惑可以回复我~
#1

songsst

把y的长度变成0:99还是有100个,所以其实应该是这样?
2018-09-03 回复 有任何疑惑可以回复我~
#2

慕的地591 回复 songsst

应该是这样
2018-09-03 回复 有任何疑惑可以回复我~

目前找到的问题是X[y==cl, 0]报的错,X的数据是[[ 5.1  1.4]...[ 5.7  4.1]]这种类型的

y的如果cl的值[-1,1],当循环第一次的时候 cl = -1

y==-1 得到了一组boolean [true...flase]的数据

最终的数据应该是X[boolean, -1]这样的

以上仅为猜测,我也碰到这个问题,目前真正寻找解决办法。

0 回复 有任何疑惑可以回复我~

你参考一下这个,希望对你有帮助。https://stackoverflow.com/questions/32198064/pandas-indexerror-for-large-dataframe

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这是什么原因???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信