logo
Loading...

np.choose(y, [1, 2, 0]).astype(np.float)程式問題 - Cupoy

請問下面程式碼中紅色這一行的作用是什麼?去掉對結果似乎沒有影響 ( 抱歉自己看不太出來 )# Plo...

np.choose(y, [1, 2, 0]).astype(np.float)程式問題

2020/05/12 下午 02:09
機器學習共學討論版
吳宗翰
觀看數:9
回答數:2
收藏數:0

請問下面程式碼中紅色這一行的作用是什麼?

去掉對結果似乎沒有影響 ( 抱歉自己看不太出來 )



# Plot the ground truth

fig = plt.figure(fignum, figsize=(12, 6))

ax = Axes3D(fig, rect=[0, 0, .95, 1], elev=20, azim=100)


for name, label in [('cls0', 0),

                    ('cls1', 1),

                    ('cls2', 2)]:

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

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

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

              horizontalalignment='center',

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

# Reorder the labels to have colors matching the cluster results

y = np.choose(y, [1, 2, 0]).astype(np.float)

ax.scatter(X[:, 3], X[:, 0], X[:, 2], c=y, edgecolor='k',s = 80)


ax.w_xaxis.set_ticklabels([])

ax.w_yaxis.set_ticklabels([])

ax.w_zaxis.set_ticklabels([])

ax.set_title('Ground Truth')

ax.dist = 12


#fig.show()

回答列表

  • 2020/05/15 上午 02:37
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:1

    你是想問這一行左邊的 np.choose 還是右邊的 astype?


    如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃

  • 2020/05/19 下午 11:49
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    現在大概懂它是在變換顏色順序, 但還是不太懂在這邊 astype 的用意


    => astype 應該只是一個習慣,避免資料型態跑掉。


    如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃