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

Bir sezgiyi sınıflayıcıya dönüştürmek

Sezgilerin bu kadar yararlı olmasına şaşırdın. Bu yüzden “çok fazla benzersiz port şüphelidir” sezgisini başlı başına bir sınıflayıcı olarak ele almaya karar veriyorsun. Bunu, kaynak başına benzersiz port sayısını kötü kaynak bilgisayarlarda kullanılan ortalama sayıya göre eşikleyerek yapacaksın — burada etiketin True olduğu bilgisayarlar kastediliyor. Veri kümesi önceden yüklenmiş ve eğitim-test olarak bölünmüş durumda; bellekte X_train, X_test, y_train ve y_test var. İçe aktarımlarında accuracy_score() ve numpy np olarak mevcut. Açıklık getirmek için: Bu egzersizde scikit-learn'den bir sınıflandırıcı eğitmeyeceksin; bunun yerine kendi sınıflandırma kuralını açıkça tanımlayacaksın!

Bu egzersiz

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

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

Egzersiz talimatları

  • X_train içinden tüm kötü host'ları alt-seçimle al ve yeni bir veri kümesi X_train_bad oluştur. y_train'in Boolean bir dizi olduğunu unutma.
  • Kötü host'lar için unique_ports sütununun ortalamasını hesapla ve avg_bad_ports içinde sakla.
  • Şimdi, unique_ports değeri avg_bad_ports değerini aşan her örneği pozitif tahmin eden bir sınıflayıcıyı düşün. Bu sınıflayıcının test verisi üzerindeki tahminlerini pred_port adlı yeni bir değişkende kaydet.
  • Bu sınıflayıcının test verisi üzerindeki doğruluğunu accuracy_score() kullanarak hesapla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create a new dataset X_train_bad by subselecting bad hosts
X_train_bad = ____[____]

# Calculate the average of unique_ports in bad examples
avg_bad_ports = np.____(____['unique_ports'])

# Label as positive sources that use more ports than that
pred_port = ____['unique_ports'] > ____

# Print the accuracy of the heuristic
print(____(y_test, ____))
Kodu Düzenle ve Çalıştır