निम्नलिखित विवरण पर आधारित है fit_transform
के Imputer
वर्ग है, लेकिन विचार के लिए एक ही है fit_transform
के अन्य scikit_learn वर्गों की तरह MinMaxScaler
।
transform
एक नंबर के साथ लापता मानों को बदलता है। डिफ़ॉल्ट रूप से यह संख्या आपके द्वारा चुने गए कुछ डेटा के कॉलम का साधन है। निम्नलिखित उदाहरण पर विचार करें:
imp = Imputer()
# calculating the means
imp.fit([[1, 3], [np.nan, 2], [8, 5.5]])
अब पहले कॉलम के लिए इंप्यूटर ने एक माध्य (1 + 8) / 2 = 4.5 का उपयोग करना सीख लिया है और दूसरे कॉलम के लिए माध्य (2 + 3 + 5.5) / 3 = 3.5 जब यह दो-स्तंभ डेटा पर लागू होता है:
X = [[np.nan, 11],
[4, np.nan],
[8, 2],
[np.nan, 1]]
print(imp.transform(X))
हमें मिला
[[4.5, 11],
[4, 3.5],
[8, 2],
[4.5, 1]]
तो द्वारा fit
imputer कुछ आंकड़ों से स्तंभों के साधनों की गणना करता है, और इसके द्वारा transform
उन साधनों को कुछ डेटा पर लागू करता है (जो कि अनुपस्थित मानों को प्रतिस्थापित कर रहा है)। यदि ये दोनों डेटा समान हैं (अर्थात साधनों की गणना के लिए डेटा और जो डेटा लागू होते हैं) आप उपयोग कर सकते हैं fit_transform
जो मूल रूप से a का fit
अनुसरण करता है transform
।
अब आपके प्रश्न:
हमें डेटा बदलने की आवश्यकता क्यों हो सकती है?
"विभिन्न कारणों से, कई वास्तविक विश्व डेटासेट में लापता मान होते हैं, जिन्हें अक्सर रिक्त स्थान, NaNs या अन्य प्लेसहोल्डर्स के रूप में एन्कोड किया जाता है। ऐसे डेटासेट, हालांकि, स्किटिट-लर्न अनुमानकों के साथ असंगत होते हैं, जो मानते हैं कि किसी सरणी में सभी मान संख्यात्मक ( स्रोत ) हैं
प्रशिक्षण डेटा पर फिटिंग मॉडल और परीक्षण डेटा को बदलने का क्या मतलब है?
fit
एक imputer के साथ कोई संबंध नहीं है fit
फिटिंग मॉडल में इस्तेमाल किया। इसलिए fit
प्रशिक्षण डेटा पर imputer का उपयोग करना प्रशिक्षण डेटा के प्रत्येक स्तंभ के साधनों की गणना करता है। transform
परीक्षण डेटा का उपयोग करना, फिर परीक्षण डेटा के लापता मानों को ऐसे साधनों से प्रतिस्थापित करता है जिनकी गणना प्रशिक्षण डेटा से की गई थी।