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 merupakan bagian dari kursus
Merancang Alur Kerja Machine Learning di Python
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)))