আমদানি ত্রুটি: মডেল_স্লেশন নামে কোনও মডিউল নেই


90

আমি train_test_splitফাংশন ব্যবহার এবং লেখার চেষ্টা করছি :

from sklearn.model_selection import train_test_split

এবং এই কারণগুলি

ImportError: No module named model_selection

কেন? আর কীভাবে কাটিয়ে উঠব?


4
এটি আমার কাছে কেবল ঘটেছে, আপনি কমপক্ষে আপনার শেষ দশটি প্রশ্নের কোনও উত্তর গ্রহণ করেন নি। মনে রাখবেন, সর্বাধিক সহায়ক উত্তর গ্রহণ করা উত্তরদাতাদের এবং ভবিষ্যতে আপনার প্রশ্নের দিকে নজর দেওয়া লোকদের সহায়তা করবে।
লিনাসগ

উত্তর:


181

আমার ধারণা আপনার ভুল সংস্করণ রয়েছে 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, পাইথনের সংস্করণ অনুসারে)। আপনি যদি এটি অন্যভাবে ইনস্টল করেন, আপনি আপডেট করার জন্য অন্য কোনও পদ্ধতি ব্যবহার করেছেন তা নিশ্চিত করুন, উদাহরণস্বরূপ অ্যানাকোন্ডা ব্যবহার করার সময়।


7
এটি আমার পক্ষে কার্যকর হয়নি, তবে ফরহার্ড মালেকির সমাধান, "কনডা আপডেট সাইকিট-লার্ন" করেছে।
অ্যালেক্স কিনম্যান

আপনার দেওয়া পাইপ কমান্ডটি আমি চালিয়েছি এবং এটি আমাকে পাইপ আপগ্রেড করতে বলে ত্রুটি ঘটায়। তারপরে আমি পাইপটি আপগ্রেড করেছি এবং পুনরায় পুনরায় প্রেরণ করেছি এবং এটি বলবে যে স্কেলারন আপগ্রেড করার দরকার নেই, আমার কাছে ইতিমধ্যে সর্বশেষতম সংস্করণ (0.17) রয়েছে এমনকি ভেবেছিল টুপিটি এটি ছিল না। হাগল দেওয়ার চেষ্টা করছেন না, কেবল তথ্য ভাগ করে নেওয়ার চেষ্টা করছেন।
অ্যালেক্স কিনম্যান

@ অ্যালেক্সকিনম্যান আপনার কাছে পাইথন 2 এবং 3 ইনস্টলড থাকলে, "ডান পাইপ" কমান্ডটি ব্যবহার নিশ্চিত করে নিন। আপনি কি নিশ্চিত যে আপনার কাছে ভেনভ নেই বা ঠিক একটিতে আছেন? এই শব্দ অদ্ভুত, আপনি একটি পাইথন শেল খুলুন এবং রাখা পারে import sklearn, sklearnএবং (হাঁ, শুধু শব্দ) sklearn.__version__? যদিও এটি আপনার জন্য স্থির করা হয়েছে, সমস্যাটি কোথা থেকে এসেছে তা জেনে রাখা আকর্ষণীয় হবে।
লিনাসগ

স্কলারন আউট [2]: <সিডি থেকে মডিউল 'স্কলারন': \ ব্যবহারকারীরা Y এক্সওয়াইজেড \ অ্যাপডাটা \ স্থানীয় \ কন্টিনিয়াম \ অ্যানাকোন্ডা 2 \ lib \ সাইট-প্যাকেজগুলি \ sklearn_ init_ .pyc '> sklearn .__ সংস্করণ__ আউট [3]:' 0.18 .2 ' তবে আমি স্কেলের্নের কন্ডা আপগ্রেড চালানোর পরে
অ্যালেক্স কিনম্যান

যাইহোক, ভাল এটি এখন আপনার জন্য কাজ করে। আমি অ্যানাকোন্ডা এতটা ব্যবহার করি নি, তবে আমার ধারণা এটি পাইপের সাথে একীভূত হয় না। উত্তর সম্পাদিত হয়েছে, সমস্ত অ্যানাকোন্ডা ব্যবহারকারীরা জানতে পারবেন :)
লিনাসগ


9

আমি যখন আমদানি করি তখন এই সমস্যার মুখোমুখি হয়েছি GridSearchCV

সবেমাত্র পরিবর্তিত sklearn.model_selectionহয়েছে sklearn.grid_search


6

জুপিটার নোটবুকটি ব্যবহার করার সময় আমার একই সমস্যা ছিল, পাইথন 3, কনডায় আমি যা আপডেট করেছি তা বিবেচনা করেই, আমি জাইপিতে পেতে পারি না:

import sklearn
print (sklearn.__version__)
0.17.1

সাইকিট-শিখতে-0.18.1 দেখাতে

অবশেষে, আমি অ্যানাকোন্ডা 3 এবং জুপিটার নোটবুকটি সরিয়ে নতুন করে পুনরায় ইনস্টল করেছি। আমি এটা কাজ পেয়েছিলাম।

http://ukitech.blogspot.com/2017/02/sklearnmodelselection.html


5

তোমার কি স্কালার্ন আছে? যদি তা না হয় তবে নিম্নলিখিতগুলি করুন:

sudo pip install sklearn

Sklearn ইনস্টল করার পরে

from sklearn.model_selection import train_test_split

ঠিকভাবে কাজ করে


3

বিজ্ঞান-শিখুন সংস্করণ 18.0 ইনস্টল করতে, আমি উভয় কমান্ড ব্যবহার করেছি:

কনডা আপডেট বিজ্ঞান - শিখুন

পাইপ ইনস্টল করুন - বিজ্ঞান-শিখুন

কিন্তু এটা কাজ করে না। "সাইকিট-লার্ন" ইনস্টল করা যায় না। এটি একটি ডিস্টিল ইনস্টল করা প্রকল্প এবং সুতরাং কোন ফাইলটি এর সাথে সম্পর্কিত তা সঠিকভাবে আমরা নির্ধারণ করতে পারি না যা কেবলমাত্র একটি আংশিক আনইনস্টল করতে পারে "।

অবশেষে, আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারি:

পাইপ ইনস্টল করুন - ব্যবহারকারীর - আপগ্রেড সাইকিট-লার্নিং == 0.18.0


3

২০১ September সালের সেপ্টেম্বরের শেষের দিকে, সায়কিট লার্ন 0.18 প্রকাশিত হয়েছিল এবং কোডটিতে কিছুটা পরিবর্তন হয়েছিল was সায়কিট শিখুন 0.18 এর সাথে ট্রেন_স্টেস্ট_স্প্লিট ফাংশনটি এখন ক্রস_এলটিকরণের পরিবর্তে মডেল_স্লেশন থেকে আমদানি করা হয়েছে।

from sklearn.cross_validation import train_test_split

এতে পরিবর্তন করা হয়েছে:

from sklearn.model_selection import train_test_split

গ্রিডসন্ধানসিভির ক্ষেত্রেও একই ঘটনা ঘটেছে।


2

@ লিনাসগ যেমন বলেছিলেন, একটি বিকল্প হ'ল ক্রসওয়েডিয়েশন আমদানি হ'ল:

from sklearn import cross_validation
X_train,X_test,y_train,y_test = cross_validation.train_test_split(X,y,test_size=0.3)

2

স্কারার 0.20.0 এর সর্বশেষ স্থিতির প্রকাশের ট্রেন_স্টেস্ট_স্প্লিটটি মডেল- নির্বাচনের অধীনে ক্রস_এলটিফিকেশন এর অধীনে নয়

আপনার স্কেলার্ন সংস্করণটি পরীক্ষা করতে:

আমদানি স্কেলারন প্রিন্ট (স্কলারন। সংস্করণ ) 0.20.2


1

@Linusg থেকে পূর্ববর্তী উত্তরে কিছু তথ্য যুক্ত করা:

sklearnএর সমস্ত পরিবর্তনের একটি প্রকাশের ইতিহাস রাখে। সময় সময় এটি পরীক্ষা করার চিন্তা করুন। ডকুমেন্টেশনের লিঙ্কটি এখানে

আপনি সংস্করণের জন্য ডকুমেন্টেশন দেখতে পারেন 0.18 , একটি নতুন মডিউল নামক তৈরি করা হয়েছে model_selection। অতএব এটি পূর্ববর্তী সংস্করণগুলিতে বিদ্যমান ছিল না।

আপডেট sklearnএবং এটি কাজ করবে!


0

আপনার স্কলারন সংস্করণটি খুব কম, model_selection0.18.1 দ্বারা আমদানি করা হয়েছে, সুতরাং দয়া করে স্কেলারন সংস্করণটি আপডেট করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.