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

تطبيق cross_val_score باستخدام مكتبة Sklearn

Meezo ML

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...