আমদানি ত্রুটি: কোনও মডিউল স্কলেয়ার.ক্রস_ বৈধকরণ নামে পরিচিত নয়


174

আমি উবুন্টু 14.04 এ পাইথন ২. 2. ব্যবহার করছি using আমি এই কমান্ডগুলির সাথে স্কাইকিট-লার্ন, নম্পটি এবং ম্যাটপ্ল্লিটিব ইনস্টল করেছি:

sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython

তবে আমি যখন এই প্যাকেজগুলি আমদানি করি:

from sklearn.cross_validation import train_test_split

এটি আমাকে এই ত্রুটিটি ফিরিয়ে দেয়:

ImportError: No module named sklearn.cross_validation

আমাকে কী করতে হবে?


আপনি যদি সঠিকভাবে স্কেলারন এবং অ্যানাকোন্ডা ইনস্টল করে থাকেন তবে আপনার মডিউলটির নামটি ভুল।
সিকেএম

11
আমি সত্যিই এটি পুনরাবৃত্তি করছি, তবে আপনাকে এখন থেকে sklearn.model_selection ব্যবহার করতে হবে। স্কলারন 20+ -র পরে ক্রস_ বৈধকরণ ব্যবহারযোগ্য নয়
মিশাল মিকুলি

উত্তর:


582

এটি অবশ্যই cross_validationসাব-মডিউলটির পুনর্নবীকরণ এবং অবমূল্যায়নের সাথে সম্পর্কিত model_selection। বদলে চেষ্টা cross_validationকরতেmodel_selection


8
এটি অবশ্যই নির্বাচিত উত্তর হওয়া উচিত
rhys_jsk

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটি কেবল কাজ করে না, তবে আমার পোস্টের সময় হিসাবে ভোটগুলি 200 থেকে 4 এরও বেশি।
জেরি ডাস্ট্র্যাম্পস

পিছনে সামঞ্জস্যের জন্য স্কলারন বিকাশকারীরা কোনও উপাধি রাখেনি কেন? এছাড়াও, সেই পুরানো সংস্করণের জন্য ডকটিকে এই রিফ্যাক্টরটি নির্দেশ করা উচিত: scikit-learn.org/0.16/modules/generated/…
ফ্লো



43

আমার ধারণা ক্রস নির্বাচন আর সক্রিয় নয়। পরিবর্তে আমাদের মডেল নির্বাচন ব্যবহার করা উচিত। আপনি চালানোর জন্য এটি লিখতে পারেন,from sklearn.model_selection import train_test_split

এটাই.


এই উত্তর। তুমি দারুন.
বিশ্বজিৎ পান্ডে

35

নিশ্চিত হয়ে নিন যে আপনি অ্যানাকোন্ডা ইনস্টল করেছেন এবং তারপরে কনডা ব্যবহার করে একটি ভার্চুয়ালেনভ তৈরি করুন । এটি সমস্ত আমদানির কাজ নিশ্চিত করবে

Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar  9 2015, 16:20:48) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> from sklearn.cross_validation import train_test_split

না, আমার কাছে নেই, আমার অ্যানাকোন্ডা ইনস্টল করা দরকার?
আর্থার্কল

ঠিক আছে, আমি আপনাকে এটি ইনস্টল করার পরামর্শ দিচ্ছি ut তবে আপনি পাইডন-স্ক্লার্ন ইনস্টল করার চেষ্টা করতে পারেন, এটি কাজ করা উচিত।
রিচার্ড রুবেলভ

7
@ ডিমাপিটুয়েভের উত্তর এখানে সত্যই সঠিক উত্তর। এই ইস্যুটি বেশিরভাগ নাম পরিবর্তনের সাথে সম্পর্কিত, সত্যিকারের অনুপস্থিত প্যাকেজ নয়।
আমরিন্দর অরোরা

2
এটি অগত্যা প্রয়োজন হয় না। আপনি কেবলমাত্র একটি প্যাকেজের জন্য নতুন পরিবেশ ইনস্টল করার পরামর্শ দিচ্ছেন যার নাম পরিবর্তন করা হয়েছে, আমি বলব এই সমাধানটি ওভারকিল।
ডিমার সমাধানটি

আমার ধারণা, যদি তিনি "ইম্পোর্ট স্কলারন" কাজ করেন বা না করেন তবে প্রশ্নটির সমাধান করা উচিত ছিল। যদি এটি কাজ করে, সম্ভবত এটি কোনও নামকরণের সমস্যা নয়।
জুল।

24

sklearn.cross_validation এখন পরিবর্তিত হয় sklearn.model_selection

শুধু ব্যবহার

from sklearn.model_selection import train_test_split

আমি মনে করি এটি কার্যকর হবে।



15

এটি sklearn.cross_ માન્યকরণ অবমূল্যায়নের কারণে হতে পারে। দয়া করে sklearn.model_selection দ্বারা sklearn.cross_diation প্রতিস্থাপন করুন

রেফ- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60


1
দেখা যাচ্ছে যে আপনার উত্তর একই থ্রেডে দেওয়া আগের মত একই। আপনি কি মনে করেন উত্তর উন্নত করা যায়, তাহলে বিবেচনা সম্পাদনা এটা পরিবর্তে একই প্রশ্ন করার জন্য একটি নতুন উত্তর করে।
জোহান

@ জোহন কিছুটা কীভাবে আমি অন্য উত্তরটি দেখিনি। আপনি যদি পছন্দ করেন তবে আমি আমার উত্তরটি মুছতে পারি।
ন্যান্টিটভ

12

প্রশিক্ষণ সেট এবং পরীক্ষার সেটে ডেটাसेटকে বিভক্ত করা

from sklearn.model_selection import train_test_split

2
আয়াত উল্লাহ সোনির উত্তর হিসাবে একই সমাধান।
এরিক আয়া

9

অতীত: from sklearn.cross_validation (এই প্যাকেজটি ০.২০ থেকে এটি পরিবর্তন করে ০.০৮ সংস্করণে অবচয় করা হয়েছে from sklearn import model_selection)।

বর্তমান: from sklearn import model_selection

উদাহরণ 2:

অতীত: from sklearn.cross_validation import cross_val_score(সংস্করণ 0.18 যা অবমূল্যায়ন করা হয়েছে)

উপস্থিত: from sklearn.model_selection import cross_val_score


7

sklearn.cross_validation এখন পরিবর্তিত হয় sklearn.model_selection

শুধু পরিবর্তন

sklearn.cross_validation

প্রতি

sklearn.model_selection


4

আপনার যদি এমন কোড থাকে যা বিভিন্ন সংস্করণ চালানোর প্রয়োজন হয় আপনি এ জাতীয় কিছু করতে পারেন:

import sklearn
if sklearn.__version__ > '0.18':
    from sklearn.model_selection import train_test_split
else:
    from sklearn.cross_validation import train_test_split

এটি আদর্শ নয় যদিও আপনি প্যাকেজ সংস্করণগুলিকে স্ট্রিং হিসাবে তুলনা করছেন যা সাধারণত কাজ করে তবে সবসময় হয় না। আপনি যদি ইনস্টল করতে ইচ্ছুক হন তবে packagingএটি আরও উন্নত পদ্ধতির:

from packaging.version import parse
import sklearn
if parse(sklearn.__version__) > parse('0.18'):
    from sklearn.model_selection import train_test_split
else:
    from sklearn.cross_validation import train_test_split

2

ক্রস-বৈধকরণ কিছু সময় আগে অবহেলিত হয়েছিল, এটি মডেল_লেকশন সহ স্যুইচ আউট করার চেষ্টা করুন


এটিকে আরও মান দেওয়ার জন্য আপনার উত্তরে আরও ব্যাখ্যা যুক্ত করার চেষ্টা করুন।
জেইনা

2

train_test_splitমডিউলটির অংশ sklearn.model_selection, সুতরাং আপনার থেকে মডিউলটি আমদানি করতে হতে পারে needmodel_selection

কোড:

from sklearn.model_selection import train_test_split

0

হয় আমাদের অতি সামঞ্জস্যপূর্ণ সংস্করণে বিজ্ঞানী-শিখতে হবে। এবং এটি কনডা পরিবেশ সক্রিয় করার পরে করা যেতে পারে। বিজ্ঞান-শিখতে নিম্নোক্ত আদেশগুলি ব্যবহার করুন:

pip uninstall scikit-learn
pip install scikit-learn==0.19.2

অথবা

যখন আমরা বিজ্ঞান-শিখতে চাই না। তারপরে আমরা সকলেই জানতাম যে "ক্রস_এল্টিফিকেশন" নামটি সাইকিট-লার্নের নতুন সংস্করণগুলিতে অবচয় করা হয়েছে এবং নতুন অ্যানাকোন্ডা সংস্করণের ভিতরে "মডেল_স্লেশন" দ্বারা প্রতিস্থাপিত হয়েছিল। অতএব আমরা একটি সতর্কতা বা এমনকি একটি ত্রুটি পেতে পারি।

এড়াতে, আমাদের কেবল প্রতিস্থাপন করতে হবে:

from sklearn.cross_validation import train_test_split

প্রতি

from sklearn.model_selection import train_test_split 

আশা করি, এটি সমস্যা সমাধানে সহায়তা করবে।

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