logo
Loading...

請問python是有nan就不會被考慮嗎,還是哪些情況下nan不會被考慮?以及類別資料的轉換方式 - Cupoy

之前問題網址 https://www.cupoy.com/qa/club/ai_tw/0000016...

ml100-4

請問python是有nan就不會被考慮嗎,還是哪些情況下nan不會被考慮?以及類別資料的轉換方式

2020/04/04 下午 08:39
機器學習共學討論版
AC
觀看數:7
回答數:4
收藏數:0
ml100-4

之前問題網址 https://www.cupoy.com/qa/club/ai_tw/0000016D6BA22D97000000016375706F795F72656C656173654B5741535354434C5542/0000017129195C8C000001036375706F795F72656C656173655155455354


Q2.檔案Day_006_column_data_type In [6]: 的結果顯示 3 columns were label encoded.但如果回到Out [4] :可以看到 EMERGENCYSTATE_MODE的type也是object且也<=2但沒有被In [6]: 轉換,請問原因為何


專家回答:=> 你可以把 EMERGENCYSTATE_MODE 的資料印出來看看,我猜是他其中有 NaN 導致沒有被考慮到


!!這次問題:我有印出來了,確實有nan,請問python是有nan就不會被考慮嗎,還是哪些情況下nan不會被考慮




Q3.檔案Day_006_column_data_type In [7]: 中被轉換的欄位有哪些?如果前面Label encoding已經轉換過那In [7]這個cell再執行時還會被轉換成one hot encoding 嗎?


專家回答:=> 你是指這一段程式碼嗎?


```

app_train = pd.get_dummies(app_train) 

app_test = pd.get_dummies(app_test)

```


pd.get_dummies 只會針對類別型的資料(也就是沒有 label 過的資料)作轉換,這個部分下次建議可以自己印出來觀察,印象會比較深刻:)


!!這次問題:檔案Day_006_column_data_type In [7]: 中,是在做One Hot encoding,請問因為In [6]:已經做過Label encoding的欄位In [7]還會再做One Hot encoding的轉換嗎?另外我知道可以把app_train被轉換前後都print出來一個一個欄位去比對,請問有沒有更快的方式知道被轉換的欄位有哪些

回答列表

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

    嗨,AC


    Q2. 這次問題:我有印出來了,確實有nan,請問python是有nan就不會被考慮嗎,還是哪些情況下nan不會被考慮


    => 這邊不太一定欸,每個用法都不一樣。我會建議就跑跑看,再去觀察就好(不用硬背)。


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

  • 2020/04/05 上午 04:32
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:2

    嗨,AC


    Q2. 這次問題:檔案Day_006_column_data_type In [7]: 中,是在做One Hot encoding,請問因為In [6]:已經做過Label encoding的欄位In [7]還會再做One Hot encoding的轉換嗎?另外我知道可以把app_train被轉換前後都print出來一個一個欄位去比對,請問有沒有更快的方式知道被轉換的欄位有哪些


    => 這樣好像有點本末導致,正確流程應該是這樣:


    1. 先選出所有的類別欄位

    2. 將有順序的類別欄位挑選出來做 Label encoding

    3. 剩下沒有順序的類別欄位做 One Hot encoding


    所以不是 數值跟被挑出的有順序的類別欄位,就是會被拿去做One Hot encoding 的欄位。


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

  • 2020/04/05 上午 04:35
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:2

    嗨,AC


    最後提一點,我不知道像這樣的發問方法(延續另一篇回復再延伸)的方式好不好。我會建議可能還是消化之後當成一個新的問題做討論比較好,或是就直接延續在前一篇即可。不然對一個新同學來說,他看到這一篇,可能還要再回去前一篇看,這樣對於討論可能不是太好的體驗。


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

  • 2020/04/10 上午 00:09
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    嗨,AC


    我不太明白你這裡的「那關於有沒有更快的方式知道被轉換的欄位有哪些這個問題ㄋㄜ」具體想問什麼?針對我前面的回覆,我們應該是「我們必須要決定欄位要做轉換,才會真的實作轉換」,那你這邊是想要從轉換玩的結果反堆哪些欄位被轉換嗎?這樣好像有點反過來。


    最簡單最快的方法,可以將轉換後的欄位扣掉轉換前的欄位,就會等於被轉換的欄位。


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