كيفية الإصلاح: لا توجد وحدة باسم "sklearn.cross_validation"؛


الخطأ الذي قد تواجهه عند استخدام بايثون هو:

 ModuleNotFoundError : No module named 'sklearn.cross_validation'

يحدث هذا الخطأ عادةً عند محاولة استيراد وظيفة Train_test_split من sklearn باستخدام السطر التالي:

 from sklearn. cross_validation import train_test_split

ومع ذلك، تم استبدال الوحدة الفرعية cross_validation بالوحدة الفرعية model_selection ، لذا يجب عليك استخدام السطر التالي:

 from sklearn. model_selection import train_test_split

يوضح المثال التالي كيفية حل هذا الخطأ عمليًا.

كيفية إعادة إنتاج الخطأ

لنفترض أننا نريد استخدام وظيفة Train_test_split الخاصة بـ sklearn لتقسيم إطار بيانات الباندا إلى مجموعات تدريب واختبار.

لنفترض أننا نحاول استخدام الكود التالي لاستيراد وظيفة 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

هذه المرة لا نتلقى أي أخطاء.

يمكننا بعد ذلك استخدام الدالة 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

تمكنا من استخدام وظيفة Train_test_split بنجاح دون أي أخطاء.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:

كيفية الإصلاح: تتداخل الأعمدة ولكن لم يتم تحديد أي لاحقة
كيفية الإصلاح: لا يحتوي الكائن “numpy.ndarray” على سمة “إلحاق”.
كيفية الإصلاح: إذا كنت تستخدم جميع القيم العددية، فستحتاج إلى تمرير فهرس
كيفية الإصلاح: خطأ القيمة: غير قادر على تحويل float NaN إلى int

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *