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

बहुत अधिक सह-संबद्ध फीचर्स फ़िल्टर करना

आप numeric ANSUR डेटासेट में बहुत अधिक सह-संबद्ध फीचर्स को हटाने की प्रक्रिया ऑटोमेट करने जा रहे हैं. आप correlation matrix निकालेंगे और उन कॉलम्स को फ़िल्टर करेंगे जिनका correlation coefficient 0.95 से अधिक या -0.95 से कम है.

क्योंकि प्रत्येक correlation coefficient मैट्रिक्स में दो बार आता है (A से B का सह-संबंध B से A के बराबर होता है), आप correlation matrix के आधे हिस्से को अनदेखा करना चाहेंगे ताकि दो सह-संबद्ध फीचर्स में से केवल एक ही हटे. इस उद्देश्य के लिए एक mask ट्रिक का उपयोग करें.

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

Python में Dimensionality Reduction

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

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

  • ansur_df की correlation matrix निकालें और इस मैट्रिक्स का absolute value लें.
  • upper right triangle में True वैल्यूज़ के साथ एक boolean mask बनाएँ और उसे correlation matrix पर लागू करें.
  • correlation coefficient की threshold 0.95 सेट करें.
  • DataFrame से to_drop में दी गई सभी कॉलम्स को ड्रॉप करें.

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

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

# Calculate the correlation matrix and take the absolute value
corr_df = ansur_df.____().____()

# Create a True/False mask and apply it
mask = np.____(np.____(corr_df, dtype=____))
tri_df = corr_df.____(mask)

# List column names of highly correlated features (r > 0.95)
to_drop = [c for c in tri_df.columns if any(tri_df[c] >  ____)]

# Drop the features in the to_drop list
reduced_df = ansur_df.____(____, axis=1)

print(f"The reduced_df DataFrame has {reduced_df.shape[1]} columns.")
कोड संपादित करें और चलाएँ