Är källan eller destinationen den problematiska?
I föregående lektion använde du destinationsdatorn som din analysenhet. Din cybersäkerhetsanalytiker har nu berättat att det är de infekterade maskinerna som genererar den skadliga trafiken – och dessa visas därför som källa, inte destination, i datamängden flows.
Data flows har laddats in i förväg, liksom listan bad med infekterade ID:n och särdragsextraheraren featurizer() från föregående lektion. Du har även tillgång till numpy som np, AdaBoostClassifier() och cross_val_score().
Den här övningen är en del av kursen
Att designa maskininlärningsflöden i Python
Övningsinstruktioner
- Skapa en dataram där varje rad är en särdragsvektor för en
source_computer. Gruppera efter källdator-ID i datamängdenflowsoch applicera särdragsextraheraren på varje grupp. - Konvertera iteratorn till en dataram genom att anropa
list()på den. - Skapa etiketter genom att kontrollera om varje
source_computer-ID finns i listan över infekterade datorer. - Utvärdera en
AdaBoostClassifier()på dessa data med hjälp avcross_val_score().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)))