MulaiMulai sekarang secara gratis

Rekayasa fitur pada data terkelompok

Sekarang Anda akan melanjutkan latihan sebelumnya dengan mempertimbangkan satu fitur tambahan: jumlah protokol unik yang digunakan oleh setiap komputer sumber. Perhatikan bahwa pada data terkelompok, selalu mungkin untuk membangun fitur dengan cara ini: Anda dapat mengambil jumlah elemen unik dari semua kolom kategorikal, dan rata-rata dari semua kolom numerik sebagai titik awal. Seperti sebelumnya, flows telah dimuat, cross_val_score() untuk mengukur akurasi, AdaBoostClassifier(), pandas sebagai pd, dan numpy sebagai np.

Latihan ini adalah bagian dari kursus

Merancang Alur Kerja Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Terapkan fungsi lambda pada iterator grup yang disediakan untuk menghitung jumlah protokol unik yang digunakan oleh setiap komputer sumber. Anda dapat menggunakan set() untuk mereduksi kolom protocol menjadi himpunan nilai unik.
  • Konversikan hasilnya menjadi data frame dengan bentuk yang benar dengan memberikan indeks dan menamai kolomnya protocol.
  • Konkatenasikan data frame baru dengan yang lama, yang tersedia sebagai X.
  • Nilai akurasi AdaBoostClassifier() pada himpunan data baru ini menggunakan cross_val_score().

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create a feature counting unique protocols per source
protocols = flows.groupby('source_computer').apply(
  lambda df: ____)

# Convert this feature into a dataframe, naming the column
protocols_DF = pd.DataFrame(
  protocols, index=____, columns=____)

# Now concatenate this feature with the previous dataset, X
X_more = pd.concat([X, ____], axis=____)

# Refit the classifier and report its accuracy
print(____(____(
  AdaBoostClassifier(), ____, y)))
Edit dan Jalankan Kode