Sezgileri birleştirme
Başka bir siber analist, belirli saldırı türlerinde, enfekte kaynak bilgisayarın tespit edilmemek için küçük miktarlarda trafik gönderdiğini söylüyor. Bu da, aynı anda çok sayıda portu ve küçük paket boyutlarını arayan birleşik bir sezgi (heuristic) oluşturmanın daha iyi olup olmayacağını merak etmene yol açıyor. Bu, basit port sezgisine göre performansı artırır mı? Son egzersizde olduğu gibi, bellekte X_train, X_test, y_train ve y_test var. Örnek kod ayrıca port sezgisinin sonucu olan pred_port tahminini yeniden üretmene yardımcı oluyor. Ayrıca numpy için np takma adı ve accuracy_score() önceden yüklü.
Bu egzersiz
Python'da Machine Learning İş Akışları Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
average_packetsütunu, tek bir kaynaktan gözlemlenen tüm akışlar üzerindeki ortalama paket boyutunu hesaplar. Yalnızca eğitim setindeki kötü kaynaklar için bu değerlerin ortalamasını al.- Şimdi, ortalama trafiği yukarıdaki değerden küçük olan tüm kaynakları pozitif olarak işaretleyen yeni bir kural oluştur.
- Uygun bir aritmetik işlem kullanarak, her iki sezginin de aynı anda geçerli olmasını sağlayacak şekilde kuralları birleştir.
- Birleşik sezginin doğruluğunu raporla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Compute the mean of average_packet for bad sources
avg_bad_packet = np.mean(____[____]['average_packet'])
# Label as positive if average_packet is lower than that
pred_packet = ____[____] < avg_bad_packet
# Find indices where pred_port and pred_packet both True
pred_port = X_test['unique_ports'] > avg_bad_ports
pred_both = pred_packet ____ pred_port
# Ports only produced an accuracy of 0.919. Is this better?
print(accuracy_score(____, ____))