日付を使用する場合は、それらを浮動オブジェクトに変換できます。あなたのフィーチャーを表す日付のリストを使用して、そのリストの最古の日付から経過した秒数で値のリストを計算することができます。 2つのdatetime.datetimeオブジェクトの違いを取る場合は、total_seconds属性を持つtimedeltaオブジェクトを取得します。ここ
は、このような変換を行う方法の例である:
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]
これらの値は、一般に、ニューラルネットワークにおける予測機能として利用することができます。このような機能として時間を使用することは、最良のアイデアではないかもしれません。 あなたが指定したリンクで述べたように、日付はカテゴリデータとしてコード化することもできます。データの開始から経過した時間には1つの変数と係数を追加するのではなく、1日または1時間に1つの変数と係数を追加します。
[datetime.datetime(2013, 11, 10),
datetime.datetime(2013, 11, 10),
datetime.datetime(2015, 1, 12)]
最初の2つのデータ点が時間機能の同じ値を共有し、第三が異なる:
は、以下の日付時刻を見ます。次の2つの新しい変数、各日付に1つずつ追加していることをエンコードすることができ:イベントがdatetime.datetime(2013, 11, 10)
に行われた場合
features = [[1, 1, 0],
[0, 0, 1]]
私はバイナリエンコーディングを使用し、最初のリストの機能は他の0、1です。 2番目のリストには、イベントが
datetime.datetime(2015, 1, 12)
、それ以外の場合には1があります。
どのペットプロジェクトはありますか – Nils
@Nils私はそれを明確にするように更新しました。この[プロジェクト](https://gist.github.com/cleytonmessias/e8290c470c28695322224bed08fc92e7)。 – Cleyton