निम्नलिखित विवरण पर आधारित है 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]]
तो द्वारा fitimputer कुछ आंकड़ों से स्तंभों के साधनों की गणना करता है, और इसके द्वारा transformउन साधनों को कुछ डेटा पर लागू करता है (जो कि अनुपस्थित मानों को प्रतिस्थापित कर रहा है)। यदि ये दोनों डेटा समान हैं (अर्थात साधनों की गणना के लिए डेटा और जो डेटा लागू होते हैं) आप उपयोग कर सकते हैं fit_transformजो मूल रूप से a का fitअनुसरण करता है transform।
अब आपके प्रश्न:
हमें डेटा बदलने की आवश्यकता क्यों हो सकती है?
"विभिन्न कारणों से, कई वास्तविक विश्व डेटासेट में लापता मान होते हैं, जिन्हें अक्सर रिक्त स्थान, NaNs या अन्य प्लेसहोल्डर्स के रूप में एन्कोड किया जाता है। ऐसे डेटासेट, हालांकि, स्किटिट-लर्न अनुमानकों के साथ असंगत होते हैं, जो मानते हैं कि किसी सरणी में सभी मान संख्यात्मक ( स्रोत ) हैं
प्रशिक्षण डेटा पर फिटिंग मॉडल और परीक्षण डेटा को बदलने का क्या मतलब है?
fitएक imputer के साथ कोई संबंध नहीं है fitफिटिंग मॉडल में इस्तेमाल किया। इसलिए fitप्रशिक्षण डेटा पर imputer का उपयोग करना प्रशिक्षण डेटा के प्रत्येक स्तंभ के साधनों की गणना करता है। transformपरीक्षण डेटा का उपयोग करना, फिर परीक्षण डेटा के लापता मानों को ऐसे साधनों से प्रतिस्थापित करता है जिनकी गणना प्रशिक्षण डेटा से की गई थी।