Bắt đầu ngayBắt đầu miễn phí

Nguồn hay đích mới là máy bị nhiễm?

Trong bài trước, bạn dùng máy tính ở vai trò đích làm thực thể quan tâm. Tuy nhiên, chuyên gia an ninh mạng vừa cho biết chính các máy bị nhiễm mới tạo ra lưu lượng xấu và vì vậy sẽ xuất hiện như nguồn, không phải đích, trong tập dữ liệu flows.

Dữ liệu flows đã được nạp sẵn, cùng với danh sách bad các ID bị nhiễm và bộ trích xuất đặc trưng featurizer() từ bài trước. Bạn cũng có numpy dưới tên np, AdaBoostClassifier(), và cross_val_score().

Bài tập này là một phần của khóa học

Thiết kế quy trình Machine Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Tạo một data frame trong đó mỗi hàng là một vector đặc trưng cho một source_computer. Nhóm theo ID máy nguồn trong tập flows và áp dụng bộ trích xuất đặc trưng cho từng nhóm.
  • Chuyển iterator thành data frame bằng cách gọi list() trên nó.
  • Tạo nhãn bằng cách kiểm tra xem mỗi ID source_computer có thuộc danh sách các máy xấu đã cho hay không.
  • Đánh giá một AdaBoostClassifier() trên dữ liệu này bằng cross_val_score().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)))
Chỉnh sửa và Chạy Mã