कैसे ठीक करें: "sklearn.cross_validation" नाम का कोई मॉड्यूल नहीं;
पायथन का उपयोग करते समय आपके सामने एक त्रुटि आ सकती है:
ModuleNotFoundError : No module named 'sklearn.cross_validation'
यह त्रुटि आमतौर पर तब होती है जब निम्न पंक्ति का उपयोग करके स्केलेरन से ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन को आयात करने का प्रयास किया जाता है:
from sklearn. cross_validation import train_test_split
हालाँकि, क्रॉस_वैलिडेशन सबमॉड्यूल को model_selection सबमॉड्यूल द्वारा प्रतिस्थापित कर दिया गया है, इसलिए आपको निम्नलिखित पंक्ति का उपयोग करना होगा:
from sklearn. model_selection import train_test_split
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे हल किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए कि हम पांडा डेटाफ़्रेम को प्रशिक्षण और परीक्षण सेट में विभाजित करने के लिए स्केलेर के ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन का उपयोग करना चाहते हैं।
मान लीजिए कि हम train_test_split फ़ंक्शन को आयात करने के लिए निम्नलिखित कोड का उपयोग करने का प्रयास करते हैं:
from sklearn. cross_validation import train_test_split ModuleNotFoundError : No module named 'sklearn.cross_validation'
हमें एक त्रुटि प्राप्त हो रही है क्योंकि हमने train_test_split फ़ंक्शन को आयात करने का प्रयास करते समय गलत सबमॉड्यूल नाम का उपयोग किया था।
त्रुटि को कैसे ठीक करें
इस त्रुटि को ठीक करने के लिए, हमें बस इसके बजाय model_selection सबमॉड्यूल का उपयोग करने की आवश्यकता है:
from sklearn. model_selection import train_test_split
इस बार हमें कोई त्रुटि नहीं मिली.
फिर हम पांडा डेटाफ़्रेम को प्रशिक्षण और परीक्षण सेट में विभाजित करने के लिए ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन का उपयोग कर सकते हैं:
from sklearn. model_selection import train_test_split import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (1) #create DataFrame with 1000 rows and 3 columns df = pd. DataFrame ({' x1 ': np.random.randint(30, size=1000), ' x2 ': np.random.randint(12, size=1000), ' y ': np.random.randint(2, size=1000)}) #split original DataFrame into training and testing sets train, test = train_test_split(df, test_size=0.2, random_state=0) #view first few rows of each set print ( train.head ()) x1 x2 y 687 16 2 0 500 18 2 1 332 4 10 1 979 2 8 1 817 11 1 0 print ( test.head ()) x1 x2 y 993 22 1 1 859 27 6 0 298 27 8 1 553 20 6 0 672 9 2 1
हम बिना किसी त्रुटि के ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन का सफलतापूर्वक उपयोग करने का प्रबंधन करते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:
कैसे ठीक करें: कॉलम ओवरलैप होते हैं लेकिन कोई प्रत्यय निर्दिष्ट नहीं किया जाता है
कैसे ठीक करें: ऑब्जेक्ट ‘numpy.ndarray’ में ‘append’ विशेषता नहीं है
कैसे ठीक करें: यदि आप सभी अदिश मानों का उपयोग करते हैं, तो आपको एक सूचकांक पारित करने की आवश्यकता है
कैसे ठीक करें: वैल्यूएरर: फ्लोट NaN को int में बदलने में असमर्थ