Caracteristici temporale

Feature Engineering cu PySpark

John Hogue

Lead Data Scientist, General Mills

Natura ciclică a lucrurilor

Imagine timp

Feature Engineering cu PySpark

Alegerea nivelului potrivit

Vânzări zilnice

Feature Engineering cu PySpark

Alegerea nivelului potrivit

Vânzări lunare

Feature Engineering cu PySpark

Tratarea câmpurilor de dată ca date...

from pyspark.sql.functions import to_date

# Cast the data type to Date
df = df.withColumn('LISTDATE', to_date('LISTDATE'))
# Inspect the field
df[['LISTDATE']].show(2)
+----------+
|  LISTDATE|
+----------+
|2017-07-14|
|2017-10-08|
+----------+
only showing top 2 rows
Feature Engineering cu PySpark

Componente temporale

from pyspark.sql.functions import year, month

# Create a new column of year number
df = df.withColumn('LIST_YEAR', year('LISTDATE'))
# Create a new column of month number
df = df.withColumn('LIST_MONTH', month('LISTDATE'))
from pyspark.sql.functions import dayofmonth, weekofyear

# Create new columns of the day number within the month
df = df.withColumn('LIST_DAYOFMONTH', dayofmonth('LISTDATE'))
# Create new columns of the week number within the year
df = df.withColumn('LIST_WEEKOFYEAR', weekofyear('LISTDATE'))
Feature Engineering cu PySpark

Metrici de bază bazate pe timp

Imagine zile pe piață

from pyspark.sql.functions import datediff

# Calculate difference between two date fields
df.withColumn('DAYSONMARKET', datediff('OFFMARKETDATE', 'LISTDATE'))
Feature Engineering cu PySpark

Caracteristici de decalaj

Picătură de cafea în ceașcă

window()

Returnează o înregistrare pe baza unui grup de înregistrări

lag(col, count=1)

Returnează valoarea decalată cu un număr de rânduri față de rândul curent

Feature Engineering cu PySpark

Caracteristici de decalaj în PySpark

from pyspark.sql.functions import lag
from pyspark.sql.window import Window

# Create Window w = Window().orderBy(m_df['DATE'])
# Create lagged column m_df = m_df.withColumn('MORTGAGE-1wk', lag('MORTGAGE', count=1).over(w))
# Inspect results m_df.show(3)
+----------+------------+----------------+
|      DATE|    MORTGAGE|    MORTGAGE-1wk|
+----------+------------+----------------+
|2013-10-10|        4.23|            null|
|2013-10-17|        4.28|            4.23|
|2013-10-24|        4.13|            4.28|
+----------+------------+----------------+
only showing top 3 rows
Feature Engineering cu PySpark

E TIMPUL să exersăm!

Feature Engineering cu PySpark

Preparing Video For Download...