Persiapan Random Forest Regression

Rekayasa Fitur dengan PySpark

John Hogue

Lead Data Scientist, General Mills

Asumsi untuk Fitur

Regresi Random Forest

  • Data miring/tidak normal? OK
  • Tidak diskalakan? OK
  • Data hilang? OK
  • Data kategorikal? OK

Asumsi

Rekayasa Fitur dengan PySpark

Fitur yang Ditambahkan

Ekonomi

  • Suku bunga KPR 30 tahun

Pemerintah

  • Harga rumah median per kota
  • Persentase usia rumah per kota
  • Persentase ukuran rumah per kota

Sosial

  • Walk Score
  • Bike Score

Musiman

  • Hari libur bank
Rekayasa Fitur dengan PySpark

Fitur Terrekayasa

Fitur Temporal

  • Nilai terbatas dengan data satu tahun
  • Pekan libur

Tarif, Rasio, Jumlah

  • Konteks bisnis
  • Konteks personal

Fitur yang Diperluas

  • Kolom teks non-bebas
  • Perlu hapus observasi rendah
# What is shape of our data?
print((df.count(), len(df.columns)))
(5000, 126)
Rekayasa Fitur dengan PySpark

Kolom DataFrame menjadi Vektor Fitur

from pyspark.ml.feature import VectorAssembler
# Replace Missing values
df = df.fillna(-1)
# Define the columns to be converted to vectors
features_cols = list(df.columns)
# Remove the dependent variable from the list
features_cols.remove('SALESCLOSEPRICE')
Rekayasa Fitur dengan PySpark

Kolom DataFrame menjadi Vektor Fitur

# Create the vector assembler transformer
vec = VectorAssembler(inputCols=features_cols, outputCol='features')

# Apply the vector transformer to data df = vec.transform(df)
# Select only the feature vectors and the dependent variable ml_ready_df = df.select(['SALESCLOSEPRICE', 'features'])
# Inspect Results ml_ready_df.show(5)
+----------------+--------------------+
| SALESCLOSEPRICE|            features|
+----------------+--------------------+
|143000          |(125,[0,1,2,3,5,6...|
|190000          |(125,[0,1,2,3,5,6...|
|225000          |(125,[0,1,2,3,5,6...|
|265000          |(125,[0,1,2,3,4,5...|
|249900          |(125,[0,1,2,3,4,5...|
+----------------+--------------------+
only showing top 5 rows
Rekayasa Fitur dengan PySpark

Kita siap untuk machine learning!

Rekayasa Fitur dengan PySpark

Preparing Video For Download...