ÎncepețiÎncepe gratuit

Sursa sau destinația este problematică?

În lecția anterioară, ai folosit computerul destinație ca entitate de interes. Totuși, analistul tău de securitate cibernetică tocmai ți-a spus că mașinile infectate sunt cele care generează traficul suspect și vor apărea, prin urmare, ca sursă, nu ca destinație, în setul de date flows.

Datele flows au fost preîncărcate, împreună cu lista bad a ID-urilor infectate și extractorul de caracteristici featurizer() din lecția anterioară. Ai disponibile și numpy ca np, AdaBoostClassifier() și cross_val_score().

Acest exercițiu face parte din cursul

Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un cadru de date în care fiecare rând este un vector de caracteristici pentru un source_computer. Grupează după ID-ul computerului sursă în setul de date flows și aplică extractorul de caracteristici fiecărui grup.
  • Convertește iteratorul într-un cadru de date apelând list() pe acesta.
  • Creează etichetele verificând dacă fiecare ID de source_computer se află în lista calculatoarelor infectate primite.
  • Evaluează un AdaBoostClassifier() pe aceste date folosind cross_val_score().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Group by source computer, and apply the feature extractor
out = flows.____('source_computer').____(featurize)

# Convert the iterator to a dataframe by calling list on it
X = pd.DataFrame(____, index=____)

# Check which sources in X.index are bad to create labels
y = [x in bads for x in ____]

# Report the average accuracy of Adaboost over 3-fold CV
print(np.mean(____(____, X, y)))
Editează și rulează codul