Začněte nyníZačněte zdarma

Kombinování heuristik

Další kybernetický analytik ti říká, že při určitých typech útoků napadený zdrojový počítač posílá jen malé množství dat, aby se vyhnul odhalení. To tě přivede k myšlence vytvořit kombinovanou heuristiku, která současně hledá velký počet portů i malé velikosti paketů. Zlepší to výkon oproti jednoduché portové heuristice? Stejně jako v předchozím cvičení máš v paměti X_train, X_test, y_train a y_test. Ukázkový kód ti také pomáhá zreprodukovat výsledek portové heuristiky pred_port. K dispozici máš také numpy jako np a přednahranou funkci accuracy_score().

Toto cvičení je součástí kurzu

Designing Machine Learning Workflows in Python

Zobrazit kurz

Pokyny k cvičení

  • Sloupec average_packet udává průměrnou velikost paketu přes všechny toky pozorované z jednoho zdroje. Vypočítej průměr těchto hodnot pouze pro škodlivé zdroje v trénovací sadě.
  • Vytvoř nové pravidlo, které označí jako pozitivní všechny zdroje, jejichž průměrný provoz je menší než výše vypočítaná hodnota.
  • Pravidla zkombinuj tak, aby musely platit obě heuristiky zároveň – použij vhodnou aritmetickou operaci.
  • Vyhodnoť přesnost kombinované heuristiky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____, ____))
Upravit a spustit kód