Implementation) TGAT : Inductive Representation Learning on Temporal Graphs


Previous Review
Paper Review)
https://velog.io/@rlawlsgus117/Paper-Review-Inductive-Representation-Learning-on-Temporal-Graphs
Code Review)
Original Source Code
https://github.com/StatsDLMathsRecomSys/Inductive-representation-learning-on-temporal-graphs
Dataset
redditのpostとcommentsデータを用いて,TGATとLSTMによりtest postでcomments生成の有無予測を行う.
Issue
Issue #001 : [Fixed] Integrated test-train Dataframe
Problem
ソースコードではtest-trainデータはすべてdfでアクセスされます.
subredditを押してtestとtrainを事前に分割するのではなく、MySQLからファイルを抽出し、コードに分割します.
Solved

  • MySQL
    WHERE from_unixtime(unix_timestamp(created_utc)-32400) < '2018-02-15 00:00:00' AND is_valid = 1
    ->
    WHERE is_valid = 1 and UNIX_TIMESTAMP('2018-03-01 00:00:00') - UNIX_TIMESTAMP(created_utc) > 0
  • Issue #002 : [Fixed] Adjusted val_time/test_time
    Problem
    既存のコードはnpです.桁数、val time、test time=0.7、0.85を使用します.
    使用するデータセットはtrain dataの日付が固定されており、変更が必要です.
    Solved

  • valid time-msqlから抽出
    +-----------------------------------------------------------------------------+
    | UNIX_TIMESTAMP('2018-02-15 00:00:00')-UNIX_TIMESTAMP('2018-01-01 00:00:00') |
    +-----------------------------------------------------------------------------+
    | 3888000 |
    +-----------------------------------------------------------------------------+

  • test_time - np.桁数の使用
    test_time = np.quantile(g_df[g_df['ts'] > val_time].ts, 0.5)
  • Code
    val_time = 3888000
    test_time = np.quantile(g_df[g_df['ts'] > val_time].ts, 0.5)
    Issue #003 : [Fixed] Adjusted raw_data range when extracting from MySQL
    Problem
    現在のデータ-2018年1月1日~3月4日のpost/comments.
    aimto-2018年1月1日~2月28日の投稿/コメント
    Solved
    Issue #004 : [Added] Virtual Node
    Problem
    Solved