星期幾的特徵是否需要加一?
2019/10/03 下午 10:59
機器學習共學討論版
sychen
觀看數:21
回答數:2
收藏數:0
ml100-2
ml100-2-d25
df['day_of_week'] = df['pickup_datetime'].apply(lambda x: datetime.datetime.strftime(x, '%w')).astype('int64')
# 上面給予得值是從0~6
df['week_cycle'] = (df['day_of_week']+1)/3.5 + df['pickup_hour']/84 # 不確定0~6要不要加一
df['week_cycle'] = df['day_cycle'].map(lambda x:math.sin(x*math.pi))
像是這邊的最後跑出來的結果 星期1~7跟0~6不太一樣
所以想請教星期幾事否需要加一?
謝謝!
回答列表
-
2019/10/04 上午 10:40陳明佑 (Ming You Chen)贊同數:2不贊同數:0留言數:1
同學您好 :
基於一致性, 我們的習慣是都把數值對應到 0 到 1 之間
所以星期天就當作星期 0 來使用 (套件 datetime 也是如此設定 day of week)
也方便丟進去計算三角函數值, 是不用加 1 的
如果是基於其他原因, 比如說考慮到與每日平均消費金額成正相關
希望將星期一對應到1, 星期天對應到7
這樣也是可以的 (比如做與消費相關的金融預測)
所以要看你的特徵考量是什麼, 來決定是否適合
-
2019/10/05 上午 01:04張維元 (WeiYuan)贊同數:2不贊同數:0留言數:2
這邊對模型來說沒差吧,主要是看跟資料可讀性會不會影響。就像我們很常會把男生/女生用 0/1 表示,對模型本身來說沒差,如果使用者為了閱讀可能會調整。