اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

نستخدم هذه الأداة لقياس ال score لنموذج أو عدة نماذج في كل Folds.
يمكنك استخدامها عبر الموديول:

sklearn.model_selection.cross_val_score

الصيغة المبسطة:

sklearn.model_selection.cross_val_score(estimator, X, y, cv=None)

الوسيط cv لتحديد عدد ال Folds التي نريد تطبيقها.
ال estimator هو الخوارزمية المطلوب تطبيقها.
مثال للتوضيح (استخدام مودل واحد):

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split  
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestRegressor
# تحميل الداتا
BostonData = load_boston()
data = BostonData.data
labels = BostonData.target
# تقسيم البيانات
X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, shuffle =True, random_state=2021)
CVTrain = cross_val_score(RandomForestRegressor(), X_train, y_train, cv=5)
CVTest = cross_val_score(RandomForestRegressor(), X_test, y_test, cv=5)
# عرض النتائج
print('Cross Validate Score for Training Set: ', CVTrain)
print('Cross Validate Score for Testing Set: ', CVTest)
# Cross Validate Score for Training Set:  [0.88749657 0.885243   0.90868134 0.89021845 0.81435844]
# Cross Validate Score for Testing Set:  [0.68090613 0.84052288 0.7597606  0.49063984 0.66992151]

استخدام عدة نماذج:

from sklearn.datasets import load_boston
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.svm import SVR
from sklearn.model_selection import cross_val_score
# تحميل الداتا
BostonData = load_boston()
data = BostonData.data
labels = BostonData.target
# تعريف النماذج التي سنطبقها
model1 = SVR()
model2 = DecisionTreeRegressor()
model3 = RandomForestRegressor()
model = [model1 , model2 , model3]
j=1
for m in model:
    print('result of model number : ' , j ,' for cv value ',n,' is ' , cross_val_score(m, X, y, cv=3))  
    print('-------------------------------------------------------------------------------------------')
    j+=1
#result of model number :  1  for cv value  10  is  [0.51272653 0.75456596 0.69387067]
#-------------------------------------------------------------------------------------------
#result of model number :  2  for cv value  10  is  [0.41026494 0.64218456 0.54842306]
#-------------------------------------------------------------------------------------------
#result of model number :  3  for cv value  10  is  [0.65818535 0.8420133  0.80363026]
#-------------------------------------------------------------------------------------------

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...