3.1 Model Check
3.1 Model Check
2
3.1.1) cross_validate
و هي تقوم بحساب العديد من االرقام الهامة الي موديل بعد عمل ال fittingمثل )fit time , test r2 , train r2( :
3
الصيغة العامة
#Import Libraries
from sklearn.model_selection import cross_validate
#----------------------------------------------------
# Showing Results
print('Train Score Value : ', CrossValidateValues1['train_score'])
print('Test Score Value : ', CrossValidateValues1['test_score'])
print('Fit Time : ', CrossValidateValues1['fit_time'])
print('Score Time : ', CrossValidateValues1['score_time'])
4
print('Train MSE Value : ', CrossValidateValues2['train_neg_mean_squared_error'])
print('Test MSE Value : ', CrossValidateValues2['test_neg_mean_squared_error'])
print('Train R2 Value : ', CrossValidateValues2['train_r2'])
print('Test R2 Value : ', CrossValidateValues2['test_r2'])
5
مثال
#Import Libraries
from sklearn.datasets import load_boston
from sklearn.linear_model import SGDRegressor
from sklearn.model_selection import cross_validate
#----------------------------------------------------
BostonData = load_boston()
#X Data
X = BostonData.data
#y Data
y = BostonData.target
#----------------------------------------------------
#Applying SGDRegressor Model
# Showing Results
print('Train Score Value : ', CrossValidateValues1['train_score'])
print('Test Score Value : ', CrossValidateValues1['test_score'])
print('Fit Time : ', CrossValidateValues1['fit_time'])
print('Score Time : ', CrossValidateValues1['score_time'])
print('Train MSE Value : ', CrossValidateValues2['train_neg_mean_squared_error'])
print('Test MSE Value : ', CrossValidateValues2['test_neg_mean_squared_error'])
print('Train R2 Value : ', CrossValidateValues2['train_r2'])
print('Test R2 Value : ', CrossValidateValues2['test_r2'])
7
مثال
from sklearn import datasets, linear_model
from sklearn.model_selection import cross_validate
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
reg= linear_model.LinearRegression()
8
3.1.2) cross_val_predict
و هي تقوم بحساب نتيجة تطبيق الموديل علي البيانات ,اي قيمة y_pred
9
الصيغة العامة
#Import Libraries
from sklearn.model_selection import cross_val_predict
#----------------------------------------------------
# Showing Results
print('Cross Validate Prediction for Training Set: \n', CrossValidatePredictionTrain[:10])
print('Cross Validate Prediction for Testing Set: \n', CrossValidatePredictionTest[:10])
10
مثال
#Import Libraries
from sklearn.datasets import load_boston
from sklearn.linear_model import Ridge
from sklearn.model_selection import cross_val_predict
from sklearn.model_selection import train_test_split
#----------------------------------------------------
BostonData = load_boston()
#X Data
X = BostonData.data
#y Data
y = BostonData.target
#----------------------------------------------------
#Splitting data
11
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=44, shuffle =True)
#----------------------------------------------------
#Applying Ridge Regression Model
RidgeRegressionModel = Ridge(alpha=1.0,random_state=33)
#----------------------------------------------------
#Applying Cross Validate Predict :
'''
model_selection.cross_val_predict(estimator, X, y=None, groups=None,cv=’warn’, n_jobs=None,verbose=0,
fit_params=None, pre_dispatch=‘2*n_jobs’,method=’predict’)
'''
# Showing Results
print('Cross Validate Prediction for Training Set: \n', CrossValidatePredictionTrain[:10])
print('Cross Validate Prediction for Testing Set: \n', CrossValidatePredictionTest[:10])
12
مثال
from sklearn import datasets
from sklearn.linear_model import LinearRegression
from sklearn.svm import SVR
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import cross_val_predict
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
model1 = LinearRegression()
model2 = SVR(gamma = 'auto')
model3 = DecisionTreeRegressor()
model4 = RandomForestRegressor(n_estimators = 20)
13
models = [model1 , model2 , model3 , model4]
x=0
for m in models:
x+=1
for n in range(2,5):
print('result of model number : ' , x ,' for cv value ',n,' is \n' , cross_val_predict(m, X, y, cv=n))
print('-----------------------------------')
print('=====================================')
print('=====================================')
14
3.1.3) cross_val_score
و هي تقوم بحساب قيمة scoreلكل موديل لكل تطبيقة KFold
15
الصيغة العامة
#Import Libraries
from sklearn.model_selection import cross_val_score
#----------------------------------------------------
# Showing Results
print('Cross Validate Score for Training Set: \n', CrossValidateScoreTrain)
print('Cross Validate Score for Testing Set: \n', CrossValidateScoreTest)
16
مثال
#Import Libraries
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import cross_val_score
#----------------------------------------------------
BostonData = load_boston()
#X Data
X = BostonData.data
#y Data
y = BostonData.target
#----------------------------------------------------
#Splitting data
#----------------------------------------------------
#Applying Cross Validate Score :
'''
model_selection.cross_val_score(estimator,X,y=None,groups=None,scoring=None,cv=’warn’,n_jobs=None,verbose=0,
fit_params=None,pre_dispatch=‘2*n_jobs’,error_score=’raise-deprecating’)
'''
# Showing Results
print('Cross Validate Score for Training Set: \n', CrossValidateScoreTrain)
print('Cross Validate Score for Testing Set: \n', CrossValidateScoreTest)
18
مثال
from sklearn import datasets
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
model1 = LinearRegression()
model2 = SVR(gamma = 'auto')
model3 = DecisionTreeRegressor()
model4 = RandomForestRegressor(n_estimators = 100)
19
models = [model1 , model2 , model3 , model4]
x=0
for m in models:
x+=1
for n in range(2,11):
print('result of model number : ' , x ,' for cv value ',n,' is ' , cross_val_score(m, X, y, cv=n))
print('-----------------------------------')
print('=====================================')
print('=====================================')
20