शुरू करेंमुफ़्त में शुरू करें

Grouped डेटा पर Feature engineering

अब आप पिछले अभ्यास पर आगे बढ़ते हुए एक अतिरिक्त फीचर जोड़ेंगे: हर source कंप्यूटर द्वारा उपयोग किए गए यूनिक protocols की संख्या. ध्यान दें कि grouped डेटा के साथ, इस तरह फीचर्स बनाना हमेशा संभव होता है: शुरुआती बिंदु के रूप में आप सभी categorical कॉलम्स के यूनिक एलिमेंट्स की संख्या ले सकते हैं, और सभी numeric कॉलम्स का mean ले सकते हैं. पहले की तरह, flows प्रीलोडेड है, सटीकता मापने के लिए cross_val_score(), AdaBoostClassifier(), और pandas pd के रूप में तथा numpy np के रूप में उपलब्ध हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • दिए गए group iterator पर एक lambda फंक्शन लगाइए, ताकि हर source कंप्यूटर द्वारा उपयोग किए गए यूनिक protocols की संख्या निकले. यूनिक वैल्यूज़ पाने के लिए आप protocol कॉलम पर set() का उपयोग कर सकते हैं.
  • परिणाम को सही आकार वाले डेटा फ्रेम में बदलिए, यानी एक index दीजिए और कॉलम का नाम protocol रखिए.
  • नए डेटा फ्रेम को पुराने वाले, जो X के रूप में उपलब्ध है, के साथ concatenate कीजिए.
  • cross_val_score() का उपयोग करके इस नए डेटासेट पर AdaBoostClassifier() की accuracy जाँचिए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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)))
कोड संपादित करें और चलाएँ