MinMaxScaler reshape 問題
2019/09/22 下午 00:08
機器學習共學討論版
jcodeboy
觀看數:86
回答數:2
收藏數:0
ml100-3
ml100-3-d22
請問關於最大最小化 :
Day22 : MMEncoder.fit_transform(df[c].values.reshape(-1, 1)) , df 以 column 逐一 做, 需要 reshape(-1,1)
Day23 : MMEncoder.fit_transform(df), df 直接做即可
差異在哪呢 ?
回答列表
-
2019/09/23 上午 00:09張維元 (WeiYuan)贊同數:0不贊同數:0留言數:1
Day22 就算沒有 .values.reshape(-1, 1) 應該也是可以動的,df[c] 本身就是一維的。這邊應該只是專家的習慣,雙重驗證而已。
-
2019/10/03 上午 00:19張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
「嗨,請問照你說的 df[c] 應該是可以跑的沒錯,怎麼會失敗?」
=> 其實就像錯誤訊息中說的:ValueError: Expected 2D array, got 1D array instead: array=[3. 1. 3. ... 3. 3. 3.]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
方向不一樣,所以他建議你做調整。
我原本的講法有點錯誤,df[c] 不是一維的,df[[c]] 才是,所以你改成 df[[c]] 也可以動,如下: