diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index 51086b4..308a4f6 100644 Binary files a/__pycache__/__init__.cpython-36.pyc and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_myXGBoost/__pycache__/__init__.cpython-36.pyc b/q01_myXGBoost/__pycache__/__init__.cpython-36.pyc index 05966ae..93b0926 100644 Binary files a/q01_myXGBoost/__pycache__/__init__.cpython-36.pyc and b/q01_myXGBoost/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_myXGBoost/__pycache__/build.cpython-36.pyc b/q01_myXGBoost/__pycache__/build.cpython-36.pyc index 73181f1..c0c4cf7 100644 Binary files a/q01_myXGBoost/__pycache__/build.cpython-36.pyc and b/q01_myXGBoost/__pycache__/build.cpython-36.pyc differ diff --git a/q01_myXGBoost/build.py b/q01_myXGBoost/build.py index db3654a..c8d0c08 100644 --- a/q01_myXGBoost/build.py +++ b/q01_myXGBoost/build.py @@ -1,3 +1,4 @@ +# %load q01_myXGBoost/build.py import pandas as pd from xgboost import XGBClassifier from sklearn.model_selection import train_test_split @@ -11,13 +12,45 @@ y = dataset.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=9) -param_grid1 = {"max_depth": [2, 3, 4, 5, 6, 7, 9, 11], - "min_child_weight": [4, 6, 7, 8], - "subsample": [0.6, .7, .8, .9, 1], - "colsample_bytree": [0.6, .7, .8, .9, 1] +param_grid1 = {'max_depth': [2, 3, 4, 5, 6, 7, 9, 11], + 'min_child_weight': [4, 6, 7, 8], + 'subsample': [0.6, .7, .8, .9, 1], + 'colsample_bytree': [0.6, .7, .8, .9, 1] } # Write your solution here : +def myXGBoost(X_train, X_test, y_train,y_test, model, param_grid, KFold=3, **kwargs): + if kwargs: + model.set_params(**kwargs) + gs_cv = GridSearchCV(model, param_grid=param_grid, cv=KFold, verbose=0) + gs_cv.fit(X_train, y_train) + best_params = gs_cv.best_params_ + y_pred = gs_cv.predict(X_test) + accuracy = accuracy_score(y_pred, y_test) + + return accuracy, best_params +param_grid1 = {'max_depth': [2, 3, 4, 5, 6, 7, 9, 11], + 'min_child_weight': [4, 6, 7, 8], + 'subsample': [0.6, .7, .8, .9, 1], + 'colsample_bytree': [0.6, .7, .8, .9, 1] + } + + +def myXGBoost(X_train, X_test, y_train,y_test, model, param_grid, KFold=3, **kwargs): + if kwargs: + model.set_params(**kwargs) + gs_cv = GridSearchCV(model, param_grid=param_grid, cv=KFold, verbose=0) + gs_cv.fit(X_train, y_train) + best_params = gs_cv.best_params_ + y_pred = gs_cv.predict(X_test) + accuracy = accuracy_score(y_pred, y_test) + + return accuracy, best_params +#accuracy, best_params = myXGBoost(X_train, X_test, y_train, y_test, XGBClassifier(seed=9), param_grid1, 3) + +#print (accuracy) +#print (best_params) + diff --git a/q01_myXGBoost/tests/__pycache__/__init__.cpython-36.pyc b/q01_myXGBoost/tests/__pycache__/__init__.cpython-36.pyc index 8dfa197..bb512d1 100644 Binary files a/q01_myXGBoost/tests/__pycache__/__init__.cpython-36.pyc and b/q01_myXGBoost/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_myXGBoost/tests/__pycache__/test_q01_myXGBoost.cpython-36.pyc b/q01_myXGBoost/tests/__pycache__/test_q01_myXGBoost.cpython-36.pyc index c955d76..96292f5 100644 Binary files a/q01_myXGBoost/tests/__pycache__/test_q01_myXGBoost.cpython-36.pyc and b/q01_myXGBoost/tests/__pycache__/test_q01_myXGBoost.cpython-36.pyc differ