Rastgele Orman Regresyonuna Hazırlık

PySpark ile Özellik Mühendisliği

John Hogue

Lead Data Scientist, General Mills

Özellikler İçin Gerekli Varsayımlar

Rastgele Orman Regresyonu

  • Çarpık/Normal Dağılım Değil mi? Sorun değil
  • Ölçeklenmemiş mi? Sorun değil
  • Eksik veri mi? Sorun değil
  • Kategorik veri mi? Sorun değil

Varsayımlar

PySpark ile Özellik Mühendisliği

Eklenen Özellikler

Ekonomik

  • 30 Yıllık Konut Kredisi Faizleri

Yönetsel

  • Şehrin Medyan Konut Fiyatı
  • Şehirde Konut Yaşı Yüzdeleri
  • Şehirde Konut Boyutu Yüzdeleri

Sosyal

  • Yürüme Puanı
  • Bisiklet Puanı

Mevsimsel

  • Resmi Tatiller
PySpark ile Özellik Mühendisliği

Türetilmiş Özellikler

Zamansal Özellikler

  • Tek yıl verisiyle sınırlı değer
  • Tatil Haftaları

Oranlar, Orantılar, Toplamlar

  • İş Bağlamı
  • Kişisel Bağlam

Genişletilmiş Özellikler

  • Serbest biçimli olmayan metin sütunları
  • Düşük gözlemleri kaldırmak gerekir
# Verimizin şekli nedir?
print((df.count(), len(df.columns)))
(5000, 126)
PySpark ile Özellik Mühendisliği

Veri Çerçevesi Sütunlarından Özellik Vektörlerine

from pyspark.ml.feature import VectorAssembler
# Eksik değerleri değiştirin
df = df.fillna(-1)
# Vektöre dönüştürülecek sütunları tanımlayın
features_cols = list(df.columns)
# Bağımlı değişkeni listeden çıkarın
features_cols.remove('SALESCLOSEPRICE')
PySpark ile Özellik Mühendisliği

Veri Çerçevesi Sütunlarından Özellik Vektörlerine

# Vektör birleştirici dönüştürücüyü oluşturun
vec = VectorAssembler(inputCols=features_cols, outputCol='features')

# Vektör dönüştürücüyü veriye uygulayın df = vec.transform(df)
# Yalnızca özellik vektörlerini ve bağımlı değişkeni seçin ml_ready_df = df.select(['SALESCLOSEPRICE', 'features'])
# Sonuçları inceleyin 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
PySpark ile Özellik Mühendisliği

Artık makine öğrenimine hazırız!

PySpark ile Özellik Mühendisliği

Preparing Video For Download...