Heuristics को संयोजित करना
एक दूसरे साइबर विश्लेषक बताते हैं कि कुछ प्रकार के हमलों के दौरान, संक्रमित source कंप्यूटर पहचान से बचने के लिए बहुत छोटे-छोटे packets भेजता है. इससे आपको लगता है कि शायद एक combined heuristic बनाना बेहतर होगा जो एक साथ बहुत सारे ports और छोटे packet sizes को देखे. क्या यह साधारण port heuristic से बेहतर प्रदर्शन करता है? पिछले अभ्यास की तरह, आपके पास मेमोरी में X_train, X_test, y_train और y_test मौजूद हैं. Sample code आपको port heuristic, pred_port, के outcome को दोहराने में भी मदद करता है. साथ ही numpy np के नाम से और accuracy_score() पहले से लोडेड हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना
अभ्यास निर्देश
- कॉलम
average_packetकिसी एक source से देखे गए सभी flows पर average packet size देता है. Training set पर सिर्फ bad sources के लिए इन मानों का mean निकालिए. - अब एक नया rule बनाइए जो उन सभी sources को positive flag करे जिनका average traffic ऊपर निकाले गए मान से कम हो.
- उचित arithmetic operation का उपयोग करके rules को इस तरह मिलाइए कि दोनों heuristics एक साथ लागू हों.
- Combined heuristic की accuracy रिपोर्ट कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Compute the mean of average_packet for bad sources
avg_bad_packet = np.mean(____[____]['average_packet'])
# Label as positive if average_packet is lower than that
pred_packet = ____[____] < avg_bad_packet
# Find indices where pred_port and pred_packet both True
pred_port = X_test['unique_ports'] > avg_bad_ports
pred_both = pred_packet ____ pred_port
# Ports only produced an accuracy of 0.919. Is this better?
print(accuracy_score(____, ____))