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

Kỹ thuật đặc trưng trên dữ liệu đã nhóm

Bây giờ bạn sẽ tiếp nối bài tập trước bằng cách xét thêm một đặc trưng: số lượng giao thức (protocol) duy nhất được dùng bởi mỗi máy tính nguồn. Lưu ý rằng với dữ liệu đã nhóm, bạn luôn có thể xây dựng đặc trưng theo cách này: lấy số phần tử duy nhất của tất cả các cột phân loại, và giá trị trung bình của tất cả các cột số làm điểm xuất phát. Như trước đó, bạn đã có flows được nạp sẵn, cross_val_score() để đo độ chính xác, AdaBoostClassifier(), pandaspdnumpynp.

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

  • Áp dụng một hàm lambda trên iterator của nhóm được cung cấp để tính số giao thức duy nhất được mỗi máy tính nguồn sử dụng. Bạn có thể dùng set() để rút gọn cột protocol thành một tập các giá trị duy nhất.
  • Chuyển kết quả thành một data frame với hình dạng đúng bằng cách cung cấp index và đặt tên cột là protocol.
  • Nối data frame mới với data frame cũ, đang có sẵn dưới tên X.
  • Đánh giá độ chính xác của AdaBoostClassifier() trên bộ dữ liệu mới 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.

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