logo
Loading...

星期幾的特徵是否需要加一? - Cupoy

df['day_of_week'] = df['pickup_datetime'].apply(la...

ml100-2,ml100-2-d25

星期幾的特徵是否需要加一?

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 表示,對模型本身來說沒差,如果使用者為了閱讀可能會調整。