diff --git a/__init__.pyc b/__init__.pyc index 9f1c574..62fd5b1 100644 Binary files a/__init__.pyc and b/__init__.pyc differ diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..aae66ae Binary files /dev/null and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_grid_search/__init__.pyc b/q01_grid_search/__init__.pyc index 545de0a..5aebdf9 100644 Binary files a/q01_grid_search/__init__.pyc and b/q01_grid_search/__init__.pyc differ diff --git a/q01_grid_search/build.py b/q01_grid_search/build.py index 1438657..3706f1e 100644 --- a/q01_grid_search/build.py +++ b/q01_grid_search/build.py @@ -1,7 +1,7 @@ # Default imports import warnings -warnings.filterwarnings("ignore") +warnings.filterwarnings('ignore') import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier @@ -12,13 +12,17 @@ y_bal = loan_data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X_bal, y_bal, test_size=0.33, random_state=9) -param_grid = {"max_features": ['sqrt', 4, "log2"], - "n_estimators": [10, 50, 120], - "max_depth": [40, 20, 10], - "max_leaf_nodes": [5, 10, 2]} +param_grid = {'max_features': ['sqrt', 4, 'log2'], + 'n_estimators': [10, 50, 120], + 'max_depth': [40, 20, 10], + 'max_leaf_nodes': [5, 10, 2]} # Write your solution here : +def grid_search(X_train, y_train, model, param_grid, cv=3): + grid = GridSearchCV(estimator=model, param_grid=param_grid, cv=cv) + grid.fit(X_train, y_train) + return grid, grid.cv_results_['params'], grid.cv_results_['mean_test_score'] diff --git a/q01_grid_search/build.pyc b/q01_grid_search/build.pyc index 4470232..c001fc8 100644 Binary files a/q01_grid_search/build.pyc and b/q01_grid_search/build.pyc differ diff --git a/q01_grid_search/tests/__init__.pyc b/q01_grid_search/tests/__init__.pyc index 426e901..ba479e9 100644 Binary files a/q01_grid_search/tests/__init__.pyc and b/q01_grid_search/tests/__init__.pyc differ diff --git a/q01_grid_search/tests/test_q01_grid_search.pyc b/q01_grid_search/tests/test_q01_grid_search.pyc index 782fd4f..dbda13c 100644 Binary files a/q01_grid_search/tests/test_q01_grid_search.pyc and b/q01_grid_search/tests/test_q01_grid_search.pyc differ diff --git a/q02_fit/__pycache__/__init__.cpython-36.pyc b/q02_fit/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..3cd54ed Binary files /dev/null and b/q02_fit/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_fit/__pycache__/build.cpython-36.pyc b/q02_fit/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..28ca83b Binary files /dev/null and b/q02_fit/__pycache__/build.cpython-36.pyc differ diff --git a/q02_fit/build.py b/q02_fit/build.py index 7a6602b..9bfec2a 100644 --- a/q02_fit/build.py +++ b/q02_fit/build.py @@ -1,3 +1,4 @@ + # Default imports import pandas as pd @@ -13,14 +14,25 @@ X_train, X_test, y_train, y_test = train_test_split(X_bal, y_bal, test_size=0.33, random_state=9) rfc = RandomForestClassifier(oob_score=True, random_state=9) -param_grid = {"max_features": ['sqrt', 4, "log2"], - "n_estimators": [10, 50, 120], - "max_depth": [40, 20, 10], - "max_leaf_nodes": [5, 10, 2]} +param_grid = {'max_features': ['sqrt', 4, 'log2'], + 'n_estimators': [10, 50, 120], + 'max_depth': [40, 20, 10], + 'max_leaf_nodes': [5, 10, 2]} grid, grid_param, grid_score = grid_search(X_train, y_train, rfc, param_grid, cv=3) # Write your solution here : +def fit(X_test, y_test): + print(grid.best_params_) + predicted = grid.predict(X_test) + predict = pd.DataFrame(predicted) + expected = y_test + + matrix = confusion_matrix(expected, predict) + clr = classification_report(expected, predict) + accuracy = accuracy_score(expected, predict) + + return matrix, clr, accuracy diff --git a/q02_fit/tests/__pycache__/__init__.cpython-36.pyc b/q02_fit/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..b8e2900 Binary files /dev/null and b/q02_fit/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_fit/tests/__pycache__/test_q02_fit.cpython-36.pyc b/q02_fit/tests/__pycache__/test_q02_fit.cpython-36.pyc new file mode 100644 index 0000000..9316b7c Binary files /dev/null and b/q02_fit/tests/__pycache__/test_q02_fit.cpython-36.pyc differ