logo
Loading...

D028 語法問題 - Cupoy

from itertools import compressL1_mask = list((L1_R...

ml100-2,ml100-2-d28

D028 語法問題

2019/06/17 下午 10:04
機器學習共學討論版
陳裕興
觀看數:21
回答數:2
收藏數:0
ml100-2
ml100-2-d28

from itertools import compress

L1_mask = list((L1_Reg.coef_>0) | (L1_Reg.coef_<0))

L1_list = list(compress(list(df), list(L1_mask))) 請問一下這一行的用意是?

L1_list

回答列表

  • 2019/06/18 上午 10:45
    Chen-Ming Yang
    贊同數:1
    不贊同數:0
    留言數:0

    如果是不清楚 compress 在做甚麼事情, 建議可以參考官方網站的文檔

    https://docs.python.org/zh-cn/3/library/itertools.html#itertools.compress


    compress 接受兩個參數

    - 第一個參數是一個 list, 是你的資料

    - 第二個參數我們可以視為 mask (1, 0 表示的 list)


    範例


    ans = compress('ABCDEF', [1,0,1,0,1,1]) // generator: 直接印看不到結果

    ans = list(ans) // [A,C,E,F]

  • 2019/06/18 上午 11:37
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    L1_list = list(compress(list(df), list(L1_mask))) 請問一下這一行的用意是?


    =>


    這行的意思是會將 L1_mask 作為 df 的篩選條件,應該會等同於用 boolean filtering 的方式處理:


    ```

    L1_list = list(df.loc[:,(L1_Reg.coef_>0) | (L1_Reg.coef_<0)])

    L1_list

    ```