1. 学ぶ
  2. /
  3. コース
  4. /
  5. PySparkで学ぶ特徴量エンジニアリング

Connected

演習

時間特徴量の調整

このコースを通して、学習時にモデルへ情報が漏れてしまう(リーケージ)ことの危険性について触れてきました。データリーケージがあると、学習時の精度指標は非常に楽観的になりますが、実データを通すと結果はしばしば期待外れになります。

この演習では、DAYSONMARKET が予測時点で入手可能な情報だけを反映するようにします。つまり、まだ販売中の物件については、市場にあと何日残るかは分かりません。2017-12-10 時点で手元にある情報を反映するように、test_df を調整しましょう。

注: この例では lit() 関数を使用します。この関数は、関数呼び出しで列全体が想定される箇所に単一値を渡せるようにするためのものです。

指示

100 XP
  • 後で使用するために、pyspark.sql.functions から次の関数をインポートします: datediff(), to_date(), lit()。
  • 文字列 '2017-12-10' を pyspark の日付に変換します。まず lit() を呼び、その結果に対して to_date() を適用します。
  • where() を使って、OFFMKTDATE が split_date 以上、かつ LISTDATE が split_date 以下の行を抽出し、test_df を作成します。
  • DAYSONMARKET を置き換えます。DAYSONMARKET という新しい列を計算し、その値は split_date と LISTDATE の日数差とします。日付計算には datediff() を使用してください。提供されたコードを使って、新しい列と元の列を確認しましょう。