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

श्रेणीबद्ध मानों का KNN इम्प्यूटेशन

जब DataFrame की सभी श्रेणीबद्ध कॉलम्स को ऑर्डिनल मानों में बदल दिया जाता है, तब DataFrame इम्प्यूट करने के लिए तैयार होता है। K-Nearest Neighbors (KNN) जैसे सांख्यिकीय मॉडलों से इम्प्यूट करने पर बेहतर नतीजे मिलते हैं.

इस अभ्यास में, आप:

  1. fancyimpute के KNN() फंक्शन का उपयोग करके ऑर्डिनली एन्कोड किए गए DataFrame users में मौजूद मिसिंग मानों को इम्प्यूट करेंगे.
  2. ऑर्डिनल मानों को उनके मूल कैटेगरी में बदलने के लिए ऑर्डिनल एन्कोडर की .inverse_transform() मेथड का उपयोग करेंगे.

ध्यान रखें, ordinal_enc_dict हर कॉलम के लिए sklearn का OrdinalEncoder() स्टोर करता है. users DataFrame हर कॉलम के एन्कोड किए गए (ऑर्डिनल) मान स्टोर करता है.

KNN() फंक्शन, OrdinalEncoder()s की डिक्शनरी ordinal_enc_dict और users DataFrame आपके लिए पहले से लोड हैं.

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

Python में Missing Data से निपटना

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

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

  • KNN_imputer की fit_transform() मेथड का उपयोग करके users DataFrame को इम्प्यूट करें। प्राप्त मानों को राउंड करके इंटेजर लें.
  • users की कॉलम्स पर इटरेट करें.
  • कॉलम के OrdinalEncoder() को ordinal_enc_dict से चुनें और reshaped array reshaped पर .inverse_transform() चलाएँ.

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

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

# Create KNN imputer
KNN_imputer = KNN()

# Impute 'users' DataFrame. It is rounded to get integer values
users_KNN_imputed.iloc[:, :] = np.round(___)

# Loop over the column names in 'users'
for col_name in ___:
    
    # Reshape the column data
    reshaped = users_KNN_imputed[col_name].values.reshape(-1, 1)
    
    # Select the column's Encoder and perform inverse transform on 'reshaped'
    users_KNN_imputed[col_name] = ___
कोड संपादित करें और चलाएँ