เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้างฟีเจอร์บนข้อมูลที่จัดกลุ่มแล้ว

ในแบบฝึกหัดนี้ จะต่อยอดจากแบบฝึกหัดก่อนหน้าด้วยการเพิ่มฟีเจอร์อีกหนึ่งตัว ได้แก่ จำนวน protocol ที่ไม่ซ้ำกันซึ่งคอมพิวเตอร์ต้นทางแต่ละเครื่องใช้งาน สังเกตว่าเมื่อทำงานกับข้อมูลที่จัดกลุ่มแล้ว สามารถสร้างฟีเจอร์ในลักษณะนี้ได้เสมอ โดยใช้จำนวนสมาชิกที่ไม่ซ้ำกันของคอลัมน์ประเภทหมวดหมู่ และค่าเฉลี่ยของคอลัมน์ตัวเลขเป็นจุดเริ่มต้น เช่นเดียวกับก่อนหน้า มีตัวแปร flows โหลดไว้ล่วงหน้าแล้ว พร้อมด้วย cross_val_score() สำหรับวัดความแม่นยำ, AdaBoostClassifier(), pandas ในชื่อ pd และ numpy ในชื่อ np

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การออกแบบ Machine Learning Workflows ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ฟังก์ชัน lambda กับ group iterator ที่กำหนดให้ เพื่อคำนวณจำนวน protocol ที่ไม่ซ้ำกันของคอมพิวเตอร์ต้นทางแต่ละเครื่อง โดยใช้ set() เพื่อลด คอลัมน์ protocol ให้เหลือเฉพาะค่าที่ไม่ซ้ำกัน
  • แปลงผลลัพธ์เป็น data frame ที่มีรูปร่างถูกต้องด้วยการระบุ index และตั้งชื่อคอลัมน์ว่า protocol
  • เชื่อมต่อ data frame ใหม่เข้ากับ data frame เดิมซึ่งเก็บไว้ในตัวแปร X
  • ประเมินความแม่นยำของ AdaBoostClassifier() บนชุดข้อมูลใหม่นี้โดยใช้ cross_val_score()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)))
แก้ไขและรันโค้ด