Kaynak mı kötü, hedef mi?
Önceki derste, ilgi nesnen olarak hedef bilgisayarı (destination) kullanmıştın. Ancak siber güvenlik analistin, kötü trafiği üretenlerin enfekte makineler olduğunu ve bu yüzden flows veri kümesinde hedef değil, kaynak (source) olarak görüneceklerini söyledi.
flows verisi, enfekte kimliklerin bad listesi ve önceki dersten özellik çıkarıcı featurizer() önceden yüklendi. Ayrıca numpy np takma adıyla, AdaBoostClassifier() ve cross_val_score() da hazır.
Bu egzersiz, kursun bir parçasıdır
Python'da Machine Learning İş Akışları Tasarlama
Egzersiz talimatları
flowsveri kümesinde kaynak bilgisayar kimliğine göre gruplayıp özellik çıkarıcıyı her gruba uygulayarak, her satırı birsource_computeriçin özellik vektörü olan bir veri çerçevesi oluştur.- Yineleyiciyi üzerinde
list()çağırarak bir veri çerçevesine dönüştür. - Verilen kötü kimlikler listesinde olup olmadığını kontrol ederek her
source_computerkimliği için etiketleri oluştur. - Bu veride
AdaBoostClassifier()modelinicross_val_score()ile değerlendir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)))