簡體   English   中英

如何使用日期和時間值作為特征來使用神經網絡預測值?

[英]How to use date and time values as features to predict a value using a neural network?

作為挑戰的一部分,我正在嘗試使用神經網絡來預測地震的震級。 這是數據庫

我已經使用 numpy 為神經網絡制作了一個寵物項目,但它只適用於二進制數。

當我嘗試執行此操作時,它可以完成,因為日期和時間特征不能相乘

我正在尋找一些關於使用日期的參考資料,但在知道之前沒有結論。

這是我迄今為止制作的關於預測地震震級的筆記本。

有誰知道:

  • 我可以使用日期和時間作為特征
  • 使用該項目的一些修改來預測震級?

如果要使用日期,可以將它們轉換為浮點對象。 您可以使用代表您的特征的日期列表來計算從該列表中最早日期開始經過的秒數的值列表。 如果你取兩個 datetime.datetime 對象的差值,你會得到一個 timedelta 對象,它有一個 total_seconds 屬性。

以下是如何進行此類轉換的示例:

import datetime
date_features = [datetime.datetime(2013, 11, 10),
                 datetime.datetime(2016, 8, 20),
                 datetime.datetime(2015, 1, 12)]

# Get the list with seconds since earliest event
date_features = [(i - min(date_features)).total_seconds() for i in date_features]
# Normalize data so it lies between 0 and 1
date_features = [i/max(date_features) for i in date_features]
print(date_features)

輸出:

[0.0, 1.0, 0.42209072978303747]

這些值通常可以用作神經網絡中的預測特征。 將時間用作這樣的功能可能不是最好的主意。 正如您提供的鏈接中所述,日期也可以編碼為分類數據。 您不會為自數據開始以來經過的時間添加一個變量和系數,而是每天或每小時添加一個。

讓我們看看以下日期時間:

[datetime.datetime(2013, 11, 10),
 datetime.datetime(2013, 11, 10),
 datetime.datetime(2015, 1, 12)]

前兩個數據點共享相同的時間特征值,第三個數據點不同。 您可以通過添加兩個新變量來編碼,每個日期一個:

features = [[1, 1, 0],
            [0, 0, 1]]

我使用了二進制編碼,如果事件發生在datetime.datetime(2013, 11, 10) ,則第一個列表中的特征為 1,否則為 0。 在第二個列表中,如果事件發生在datetime.datetime(2015, 1, 12) ,則為datetime.datetime(2015, 1, 12)否則為 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM