这是什么原因???

来源:3-5 神经网络对数据实现分类(下)

qq_牵你左手_2

2017-11-10 14:21

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://img3.mukewang.com/5a054566000151ec10110541.jpg

写回答 关注

4回答

  • qq_好雨天堂_0
    2018-07-23 18:10:42

    请问解决了吗?


  • 慕的地591
    2018-07-12 19:42:11

    我是这样改的:

    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)


    慕的地591 回复songss...

    应该是这样

    2018-09-03 22:55:06

    共 2 条回复 >

  • SilentSnail
    2017-12-14 19:30:27

    目前找到的问题是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]这样的

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

  • 慕粉3202573
    2017-11-21 22:37:51

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

机器学习-实现简单神经网络

人工智能时代,你准备好成为抓住机遇的那百分之二吗。

66868 学习 · 182 问题

查看课程

相似问题