श्रेणीबद्ध मानों का KNN इम्प्यूटेशन
जब DataFrame की सभी श्रेणीबद्ध कॉलम्स को ऑर्डिनल मानों में बदल दिया जाता है, तब DataFrame इम्प्यूट करने के लिए तैयार होता है। K-Nearest Neighbors (KNN) जैसे सांख्यिकीय मॉडलों से इम्प्यूट करने पर बेहतर नतीजे मिलते हैं.
इस अभ्यास में, आप:
fancyimputeकेKNN()फंक्शन का उपयोग करके ऑर्डिनली एन्कोड किए गए DataFrameusersमें मौजूद मिसिंग मानों को इम्प्यूट करेंगे.- ऑर्डिनल मानों को उनके मूल कैटेगरी में बदलने के लिए ऑर्डिनल एन्कोडर की
.inverse_transform()मेथड का उपयोग करेंगे.
ध्यान रखें, ordinal_enc_dict हर कॉलम के लिए sklearn का OrdinalEncoder() स्टोर करता है.
users DataFrame हर कॉलम के एन्कोड किए गए (ऑर्डिनल) मान स्टोर करता है.
KNN() फंक्शन, OrdinalEncoder()s की डिक्शनरी ordinal_enc_dict और users DataFrame आपके लिए पहले से लोड हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Missing Data से निपटना
अभ्यास निर्देश
KNN_imputerकीfit_transform()मेथड का उपयोग करकेusersDataFrame को इम्प्यूट करें। प्राप्त मानों को राउंड करके इंटेजर लें.usersकी कॉलम्स पर इटरेट करें.- कॉलम के
OrdinalEncoder()कोordinal_enc_dictसे चुनें और reshaped arrayreshapedपर.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] = ___