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

Pipeline’larda özel fonksiyon dönüştürücüleri

Bir noktada, sensörlerin obez bireylerde zayıf performans gösterebileceği söylenmişti. Daha önce bunu ağırlıklar kullanarak ele almıştın, ancak şimdi bu bilginin özellik mühendisliğinde de işe yarayabileceğini düşünüyorsun; bu yüzden bir bireyin kaydedilen kilosunu, obez olup olmadığını gösteren bir göstergeyle değiştirmeye karar veriyorsun. Bunu pipelines kullanarak yapmak istiyorsun. numpy np olarak, RandomForestClassifier(), FunctionTransformer() ve GridSearchCV() mevcut.

Bu egzersiz

Python'da Machine Learning İş Akışları Tasarlama

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Özel bir özellik çıkarıcı tanımla. Bu fonksiyon, girdisinin değiştirilmiş bir kopyasını döndürecek.
  • Birinci sütunun her değerini, bu değerin sütun ortalamasının bir katı eşiğin üzerinde olup olmadığını belirten bir göstergeyle değiştir.
  • Yukarıdaki özellik çıkarıcıyı bir dönüştürücüye çevir ve bir rastgele orman sınıflandırıcıyla birlikte bir pipeline içine yerleştir.
  • Grid search CV kullanarak, özellik çıkarıcındaki çarpan sabiti multiplier için 1, 2 ve 3 değerlerini dene.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Define a feature extractor to flag very large values
def more_than_average(X, multiplier=1.0):
  Z = ____
  Z[:,1] = ____ > multiplier*np.mean(Z[:,1])
  return Z

# Convert your function so that it can be used in a pipeline
pipe = Pipeline([
  ('ft', ____(____)),
  ('clf', RandomForestClassifier(random_state=2))])

# Optimize the parameter multiplier using GridSearchCV
params = ____
grid_search = GridSearchCV(pipe, param_grid=params)
Kodu Düzenle ve Çalıştır