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
Pokyny k cvičení
- Sloupec
average_packetudá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(____, ____))