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

Sıfıra yakın varyanslı yordayıcıları kaldır

Videoda gördüğün gibi, sonraki egzersizler için blood-brain veri kümesini kullanacaksın. Bu, bir dizi biyokimyasal bileşik için aşağıdaki değeri tahmin etmeyi amaçlayan bir biyokimyasal veri kümesidir:

log((beyindeki bileşik derişimi) /
      (kandaki bileşik derişimi))

Bu, bileşiğin kan-beyin bariyerini aşma yeteneğine ilişkin sayısal bir ölçü verir ve bu bariyerin biyolojik özelliklerini anlamak için faydalıdır.

Bu veri kümesinin ilginç yönlerinden biri, birçok değişken içermesi ve bunların çoğunun aşırı düşük varyansa sahip olmasıdır. Bu, değişkenlerin çoğunlukla tek bir değerden (ör. sıfır) oluştuğu için bu değişkenlerde çok az bilgi olduğu anlamına gelir.

Neyse ki, modelleme sırasında zaman kazandırmak için bu tür değişkenleri kaldırmaya yarayan nearZeroVar() adlı bir yardımcı işlev caret içinde bulunur.

nearZeroVar() veri x'i alır; en yaygın değerin ikinci en yaygın değere oranına, freqCut, ve toplam örnek sayısı içindeki ayırt edici değerlerin yüzdesine, uniqueCut, bakar. Varsayılan olarak caret, oldukça temkinli sayılabilecek freqCut = 19 ve uniqueCut = 10 kullanır. Ben biraz daha agresif olmayı seviyorum ve nearZeroVar() çağrısında freqCut = 2 ve uniqueCut = 20 kullanıyorum.

Bu egzersiz

R ile caret kullanarak Machine Learning

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

Egzersiz talimatları

bloodbrain_x ve bloodbrain_y çalışma alanında yüklü.

  • Kan-beyin veri kümesinde nearZeroVar() çalıştırarak sıfıra yakın varyanslı yordayıcıları belirle. Sonucu remove_cols adlı bir nesne olarak sakla. nearZeroVar() çağrısında freqCut = 2 ve uniqueCut = 20 kullan.
  • names() ile bloodbrain_x'in tüm sütun adlarını içeren bir vektör oluştur. Buna all_cols adını ver.
  • Sıfıra yakın varyanslı değişkenler kaldırılmış yeni bir veri çerçevesi oluştur ve adına bloodbrain_x_small de. Tutmak istediğin (yani kaldırmak istemediğin) sütun adlarını ayırmak için setdiff() kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Identify near zero variance predictors: remove_cols
remove_cols <- nearZeroVar(___, names = TRUE, 
                           freqCut = ___, uniqueCut = ___)

# Get all column names from bloodbrain_x: all_cols


# Remove from data: bloodbrain_x_small
bloodbrain_x_small <- bloodbrain_x[ , setdiff(___, ___)]
Kodu Düzenle ve Çalıştır