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, kursun bir parçasıdır

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

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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