程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【AI實戰】pandas 獲取機器學習模型的時間特征

編輯:Python

pandas 獲取機器學習模型的時間特征

環境

  • Ubuntu 18.04
  • python 3.6.9
  • pandas 1.1.5

獲取時間特征


df = pd.read_csv(data_path, low_memory=False)
#時間特征
df['date'] = pd.to_datetime(df['date'])
#年
df['year'] = df['date'].map(lambda x: (x.year))
#月
df['month'] = df['date'].map(lambda x: (x.month))
#日
df['day'] = df['date'].map(lambda x: (x.day))
#小時
df['hour'] = df['date'].map(lambda x: (x.hour))
#分鐘
df['minute'] = df['date'].map(lambda x: (x.minute))
#星期幾
df['dayofweek'] = df['date'].map(lambda x: (x.dayofweek+1))

上述的時間特征為數值型

獨熱編碼one-hot處理時間特征

自行百度搜索one-hot

  • 問題
    one-hot 適用於的特征應該是分類特征,而且不同類別之間的距離是沒有差別的,比如紅黃藍三種顏色,漢字等等用one-hot表示是很好的。但是對於時間序列,5點和6點跟18點之間的距離明顯是不同的,所以用one-hot來度量的話,會損失非常多的信息

將一個時間變量變成一個二維平面圓周上的點

如上所示,將一個時間變量變成一個二維平面圓周上的點。這樣就能解決周期性因素。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved