[英]How to use an Artificial Neural Network to predict the winner of a race based on a set of features?
[英]How to use date and time values as features to predict a value using a neural network?
如果要使用日期,可以將它們轉換為浮點對象。 您可以使用代表您的特征的日期列表來計算從該列表中最早日期開始經過的秒數的值列表。 如果你取兩個 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.