BaşlayınÜcretsiz başlayın

One Hot Encoding

Amerika Birleşik Devletleri'nde nerede yaşadığın, çocuklarının hangi okullara gidebileceğini belirler. Bu yüzden pek çok kişinin, alacakları evin hangi okul bölgesinde olduğuna çok önem vermesi anlaşılır bir durum. SCHOOLDISTRICTNUMBER alanında okul bölgeleri numaralandırılmış olsa da aslında bunlar kategoriktir. Yani bu değerleri toplamanın ya da ortalamasını almanın belirgin bir anlamı yoktur. Bu nedenle bu örnekte SCHOOLDISTRICTNUMBER değişkenini kategorik bir değişkenden, daha sonra Machine Learning modelimizde kullanmak üzere sayısal bir vektöre dönüştüreceğiz.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Özellik Mühendisliği

Kursa Göz Atın

Egzersiz talimatları

  • Girdisi SCHOOLDISTRICTNUMBER, çıktısı School_Index olacak şekilde string_indexer adlı bir StringIndexer transformer'ı oluştur.
  • string_indexer transformer'ını df üzerinde fit() ve transform() ile uygula. Dönüşmüş veri çerçevesini indexed_df olarak sakla.
  • Girdisi School_Index, çıktısı School_Vec olacak şekilde encoder adlı bir OneHotEncoder transformer'ı oluştur.
  • Dönüşümü indexed_df üzerinde transform() ile uygula. Sağlanan kodla dönüşümün adımlarını incele.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

from pyspark.ml.feature import OneHotEncoder, StringIndexer

# Map strings to numbers with string indexer
string_indexer = ____(inputCol=____, outputCol=____)
indexed_df = ____.____(df).____(df)

# Onehot encode indexed values
encoder = ____(inputCol=____, outputCol=____)
encoded_df = ____.____(indexed_df)

# Inspect the transformation steps
encoded_df[['SCHOOLDISTRICTNUMBER', 'School_Index', 'School_Vec']].show(truncate=100)
Kodu Düzenle ve Çalıştır