為何前面已經刪除欄位吼,選取相關係數還會出現? pop()的使用方式? 欄位不存在,該如何解決?
2019/05/21 下午 10:56
機器學習共學討論版
蔡昕芸
觀看數:15
回答數:2
收藏數:0
ml100-2
ml100-2-d28
回答列表
-
2019/05/22 上午 01:43劉珍銘贊同數:0不贊同數:0留言數:0
1. corr 是來源於更上面的程式碼 corr = df.corr() 這行,當時的 df 還沒有執行 drop(['Survieved']),執行 df.corr() 會回傳一個 DataFrame 這個跟原本的 df 是不同的個體,所以後來 df = df.drop(['Survived'] , axis=1) 並不會影響 corr 這一個 DataFrame 個體
2. high_list.pop(-1) 是刪除 list "右邊數來" 第一個的意思,如果要刪除左邊數來第一個要用 .pop(0) 依此類推
3. 問題是因為 df 已經不存在 'Survived' 這個欄位了,而這一個區塊說明白點是要篩選出跟 'Survived' 相關係數高的"其餘"欄位,因此 high_list 理論上就不應該還保有 'Survived' 欄位
-
2019/05/22 下午 02:15張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
1.為何前面已經刪除Survived欄位,卻在選取相關係數還會出現?
=> 是先計算相關係數,才刪除 Survived 的
2.且pop(-1)是刪除'SibSp'(最後一個),還是第一個(第一個)?
=> pop() 預設會刪除最後一次,等同於 pop(-1)。pop(0) 才是刪除第一個的做法。
3.做完這行執行遇到錯誤為'Survived'欄位不存在,該如何解決?
=> 因為 df 當中的 Survived 已經被刪掉了