Przygotowanie do regresji lasem losowym

Inżynieria cech z PySpark

John Hogue

Lead Data Scientist, General Mills

Wymagane założenia dotyczące cech

Regresja lasem losowym

  • Dane skośne/nienormalne? OK
  • Brak skalowania? OK
  • Brakujące dane? OK
  • Dane kategoryczne? OK

Założenia

Inżynieria cech z PySpark

Dodane cechy

Ekonomiczne

  • 30-letnie oprocentowanie kredytów hipotecznych

Rządowe

  • Mediana ceny domu w mieście
  • Wiek domów w mieście (procenty)
  • Rozmiar domów w mieście (procenty)

Społeczne

  • Wskaźnik pieszości
  • Wskaźnik rowerowy

Sezonowe

  • Dni wolne od pracy
Inżynieria cech z PySpark

Cechy inżynieryjne

Cechy temporalne

  • Ograniczona wartość przy jednym roku danych
  • Tygodnie świąteczne

Współczynniki, proporcje, sumy

  • Kontekst biznesowy
  • Kontekst osobisty

Rozszerzone cechy

  • Kolumny tekstowe bez swobodnego formatu
  • Należy usunąć obserwacje o małej liczebności
# What is shape of our data?
print((df.count(), len(df.columns)))
(5000, 126)
Inżynieria cech z PySpark

Kolumny ramki danych jako wektory cech

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')
Inżynieria cech z PySpark

Kolumny ramki danych jako wektory cech

# 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
Inżynieria cech z PySpark

Dane są gotowe do uczenia maszynowego!

Inżynieria cech z PySpark

Preparing Video For Download...