मैं train_test_splitफ़ंक्शन का उपयोग करने और लिखने की कोशिश कर रहा हूं :
from sklearn.model_selection import train_test_split
और यह कारण बनता है
ImportError: No module named model_selection
क्यों? और कैसे दूर करें?
मैं train_test_splitफ़ंक्शन का उपयोग करने और लिखने की कोशिश कर रहा हूं :
from sklearn.model_selection import train_test_split
और यह कारण बनता है
ImportError: No module named model_selection
क्यों? और कैसे दूर करें?
जवाबों:
मुझे लगता है कि आपके पास गलत संस्करण है scikit-learn, इसी तरह की स्थिति गीथहब पर यहां वर्णित की गई थी । पहले (पहले v0.18), मॉड्यूल train_test_splitमें स्थित था cross_validation:
from sklearn.cross_validation import train_test_split
हालाँकि, अब यह model_selectionमॉड्यूल में है:
from sklearn.model_selection import train_test_split
तो आपको नवीनतम संस्करण की आवश्यकता होगी।
कम से कम संस्करण में अपग्रेड करने के 0.18लिए:
pip install -U scikit-learn
(या pip3, पायथन के आपके संस्करण पर निर्भर करता है)। यदि आपने इसे अलग तरीके से स्थापित किया है, तो सुनिश्चित करें कि आप अपडेट करने के लिए किसी अन्य विधि का उपयोग करते हैं, उदाहरण के लिए एनाकोंडा का उपयोग करते समय।
import sklearn, sklearnऔर (हां, सिर्फ शब्द) sklearn.__version__? हालांकि यह आपके लिए निर्धारित है, यह जानना दिलचस्प होगा कि मुद्दा कहां से आया है।
conda अपडेट scikit-learn
जुपिटर नोटबुक का उपयोग करते समय मुझे एक ही समस्या थी, चाहे मैं पायथन 3, कोंडा में अपडेट किया गया हो, मैं जुपिटर में नहीं मिला:
import sklearn
print (sklearn.__version__)
0.17.1
SHOW scikit-learn-0.18.1
अंत में, मैंने एनाकोंडा 3 और ज्यूपिटर नोटबुक को हटा दिया और नए सिरे से पुनः स्थापित किया। मुझे यह काम करने के लिए मिला है।
http://ukitech.blogspot.com/2017/02/sklearnmodelselection.html
संस्करण -18.0 स्थापित करने के लिए, मैंने दोनों कमांड का उपयोग किया:
conda अपडेट scikit-learn
पाइप स्थापित -U scikit- सीखें
लेकिन यह काम नहीं करता है। एक समस्या थी "स्किकिट-लर्न को स्थापित नहीं किया जा सकता है। यह एक डिस्टुटिल्स इनस्टॉल प्रोजेक्ट है और इस प्रकार हम सही तरीके से यह निर्धारित नहीं कर सकते हैं कि कौन सी फाइलें इससे संबंधित हैं जो केवल आंशिक अनइंस्टाल की ओर ले जाएगा"।
अंत में, मैं निम्नलिखित कमांड का उपयोग करके इसे स्थापित कर सकता हूं:
पाइप स्थापित करें - टसर - अपग्रेड स्किकिट-सीखें == 0.18.0
सितंबर 2016 के अंत में, SciKit Learn 0.18 जारी किया गया था और कोड में थोड़ा बदलाव हुआ था। SciKit के साथ 0.18 जानें ट्रेन_test_split फ़ंक्शन अब cross_valation के बजाय मॉडल_सेप्शन से आयात किया गया है।
from sklearn.cross_validation import train_test_split
इसे बदल दिया गया है:
from sklearn.model_selection import train_test_split
ग्रिडसर्चक सीवी के लिए भी यही हुआ है।
Sklearn 0.20.0 के नवीनतम स्थिर रिहाई है train_test_split तहत model_selection किया जा रहा है नहीं cross_validation
अपने स्केलेर संस्करण की जाँच करने के लिए:
आयात स्केलेर प्रिंट (स्केलेर संस्करण ) 0.20.2
@Linusg से पिछले उत्तर में कुछ जानकारी जोड़ना :
sklearnअपने सभी परिवर्तनों का एक इतिहास जारी रखता है। समय-समय पर इसकी जांच करते रहें। यहाँ प्रलेखन के लिए लिंक है।
जैसा कि आप 0.18 संस्करण के लिए प्रलेखन में देख सकते हैं , एक नया मॉड्यूल बनाया गया था model_selection। इसलिए यह पिछले संस्करणों में मौजूद नहीं था।
अद्यतन sklearnऔर यह काम करेगा!
आपका स्केलेर संस्करण बहुत कम है, model_selection0.18.1 द्वारा आयात किया गया है, इसलिए स्केलेर संस्करण को अपडेट करें।