logo
Loading...

Day22範例程式中的特徵工程程式區塊疑問?MMEncoder.fit_transform(df[c].values.reshape(-1, 1)) - Cupoy

想請問關於D22中的範例檔案中的特徵工程部分有一段(如圖)其中df[c] = MMEncoder.f...

Day22範例程式中的特徵工程程式區塊疑問?MMEncoder.fit_transform(df[c].values.reshape(-1, 1))

2020/09/10 下午 11:07
特徵工程簡介
蘇蔚廷
觀看數:9
回答數:1
收藏數:0

想請問關於D22中的範例檔案中的特徵工程部分有一段(如圖)

其中df[c] = MMEncoder.fit_transform(df[c].values.reshape(-1, 1))這段為何要做reshape呢?

雖然如果不做reshape程式會發生錯誤會提示要做reshape(-1, 1),但仍不知道其中的問題所在。

因為我有嘗試把用print(df[c])去檢視每一次的資料看起來都是1維陣列(如圖)

所以不是很清楚為何需要做reshape?


另外想請教如果將df[c] = MMEncoder.fit_transform(df[c].values.reshape(-1, 1))

移動到迴圈之外直接用

df = pd.DataFrame(MMEncoder.fit_transform(df), index=df.index, columns=df.columns) 

去直接做最大最小化(如圖),

這樣效果是否也是一樣的呢?

回答列表

  • 2020/09/11 下午 11:40
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:7

    嗨,第一個問題的話主要是因為 MMEncoder 主要是用於一維向量所以必須先調整形狀。


    另外這個討論區為了方面後面的同學做搜尋還是會建議「一個問答一個重點」為主,你的第二個問題跟第一個問題我覺得不太一樣,會建議另外發文。


    如果這個回答對你有幫助請主動點選「有幫助」或「最佳解答」的按鈕,也可以追蹤我的GITHUB 帳號。若還有問題的話,也歡迎再開一個新的問題繼續發問,或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃另外我目前有舉辦一個課程:【資料科學家的 12 堂心法課】或加入我自己的 Line 群組社群,歡迎一起來玩玩!(By the way,我並不是主辦單位的人員,所以如果覺得我回答得不好,不要找他們抱怨/客訴XD)