Combinarea euristicilor
Un alt analist de securitate cibernetică îți spune că, în timpul anumitor tipuri de atacuri, calculatorul sursă infectat trimite pachete mici de trafic pentru a evita detectarea. Acest lucru te face să te întrebi dacă ar fi mai bine să creezi o euristică combinată care să caute simultan un număr mare de porturi și pachete de dimensiuni mici. Oare această abordare îmbunătățește performanța față de euristica simplă bazată pe porturi? Ca și în exercițiul anterior, ai în memorie X_train, X_test, y_train și y_test. Codul exemplu te ajută să reproduci rezultatul euristicii bazate pe porturi, pred_port. De asemenea, ai numpy disponibil ca np și funcția accuracy_score() preîncărcată.
Acest exercițiu face parte din cursul
Proiectarea fluxurilor de lucru pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Coloana
average_packetcalculează dimensiunea medie a pachetelor pentru toate fluxurile observate de la o singură sursă. Calculează media acestor valori doar pentru sursele rău-intenționate din setul de antrenament. - Construiește acum o regulă nouă care marchează ca pozitive toate sursele al căror trafic mediu este mai mic decât valoarea calculată mai sus.
- Combină regulile astfel încât ambele euristici să se aplice simultan, folosind o operație aritmetică potrivită.
- Raportează acuratețea euristicii combinate.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____, ____))