logo
Loading...

資料視覺化程式問題 - Cupoy

在資料視覺化的程式中,對於X[y == label, 0]  這部份的程式不太理解,y == lab...

ml100-3,ml100-3-d59

資料視覺化程式問題

2019/11/02 下午 05:26
機器學習共學討論版
駱志忠
觀看數:55
回答數:2
收藏數:0
ml100-3
ml100-3-d59

在資料視覺化的程式中,對於X[y == label, 0]  這部份的程式不太理解,

y == label, 會產生boolean mask , 但為何後面加一個0, 之後的結果就變成

全是0,另外X[y == label, 1].mean() + 1.5, 此處加1.5的目的是什麼呢?


for name, label in [('Setosa', 0), ('Versicolour', 1), ('Virginica', 2)]:

    ax.text3D(X[y == label, 0].mean(),

              X[y == label, 1].mean() + 1.5,

              X[y == label, 2].mean(), name,

              horizontalalignment='center',

              bbox=dict(alpha=.5, edgecolor='w', facecolor='w'))

回答列表

  • 2019/11/03 下午 05:52
    Yu Chen Lin
    贊同數:1
    不贊同數:0
    留言數:2

    我覺得你應該是誤會ax.text3D的用意了,這個作用是在畫出來的圖上加上一段文字,要給定要加上文字的座標,因此:

    ax.text3D(X[y == label, 0].mean(),

                 X[y == label, 1].mean() + 1.5,

                 X[y == label, 2].mean(), 

    前面這三個X[]是在給他(x,y,z)的座標,所以總的用意就是,給定y==label就可以定義現在要畫的是哪一群,然後給定要加上文字的座標,這邊是每一群的(x,y,z)座標點的平均X[].mean(),

    然後在Y座標上多加1.5你就會看到標示在3D圖上面的字會往Y平均點多移動1.5,把座標軸標上去可能會比較清楚:

    我記得前幾天有個範例有把平均的點也畫上去,你可以把那段code加上去把平均點也畫出來可能會更清楚

  • 2019/11/04 下午 05:43
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    「為何後面加一個 0 」=> 是選出第一個欄位的資料,也許你可以把 先把原本的資料印出來看看