Apakah sumber atau tujuan yang bermasalah?
Pada pelajaran sebelumnya, Anda menggunakan komputer tujuan sebagai entitas yang Anda analisis. Namun, analis keamanan siber Anda baru saja memberi tahu bahwa mesin yang terinfeksi-lah yang menghasilkan trafik buruk, sehingga akan muncul sebagai sumber, bukan tujuan, di himpunan data flows.
Data flows telah dimuat sebelumnya, begitu juga daftar bad berisi ID yang terinfeksi dan ekstraktor fitur featurizer() dari pelajaran sebelumnya. Anda juga memiliki numpy sebagai np, AdaBoostClassifier(), dan cross_val_score().
Latihan ini adalah bagian dari kursus
Merancang Alur Kerja Machine Learning di Python
Petunjuk latihan
- Buat sebuah data frame di mana setiap baris adalah vektor fitur untuk sebuah
source_computer. Kelompokkan berdasarkan ID komputer sumber pada himpunan dataflowsdan terapkan ekstraktor fitur ke setiap grup. - Ubah iterator menjadi data frame dengan memanggil
list()padanya. - Buat label dengan memeriksa apakah setiap ID
source_computertermasuk dalam daftar buruk yang telah diberikan kepada Anda. - Evaluasi sebuah
AdaBoostClassifier()pada data ini menggunakancross_val_score().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)))