diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..642c0e2 Binary files /dev/null and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_my_decision_regressor/__pycache__/__init__.cpython-36.pyc b/q01_my_decision_regressor/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..1aa4256 Binary files /dev/null and b/q01_my_decision_regressor/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_my_decision_regressor/__pycache__/build.cpython-36.pyc b/q01_my_decision_regressor/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..5910671 Binary files /dev/null and b/q01_my_decision_regressor/__pycache__/build.cpython-36.pyc differ diff --git a/q01_my_decision_regressor/build.py b/q01_my_decision_regressor/build.py index 5eb1927..d2e99b2 100644 --- a/q01_my_decision_regressor/build.py +++ b/q01_my_decision_regressor/build.py @@ -1,3 +1,4 @@ +# %load q01_my_decision_regressor/build.py # default imports from sklearn.model_selection import GridSearchCV from sklearn.tree import DecisionTreeRegressor @@ -5,13 +6,24 @@ from sklearn.model_selection import train_test_split import pandas as pd -data = pd.read_csv("./data/house_pricing.csv") +data = pd.read_csv('./data/house_pricing.csv') X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) -param_grid = {"max_depth": [2, 3, 5, 6, 8, 10, 15, 20, 30, 50], - "max_leaf_nodes": [2, 3, 4, 5, 10, 15, 20], - "max_features": [4, 8, 20, 25]} +param_grid = {'max_depth': [2, 3, 5, 6, 8, 10, 15, 20, 30, 50], + 'max_leaf_nodes': [2, 3, 4, 5, 10, 15, 20], + 'max_features': [4, 8, 20, 25]} # Write your solution here : +def my_decision_regressor(X_train, X_test, y_train, y_test,param_grid): + dt = DecisionTreeRegressor(random_state=9) + grid_search = GridSearchCV(estimator = dt, param_grid=param_grid,cv=5) + grid_search.fit(X_train,y_train) + y_prediction = grid_search.predict(X_test) + + best_params=grid_search.best_params_ + r_square=r2_score(y_test,y_prediction) + return r_square, best_params + + diff --git a/q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc b/q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..409b3b2 Binary files /dev/null and b/q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc b/q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc new file mode 100644 index 0000000..238959a Binary files /dev/null and b/q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc differ diff --git a/q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc b/q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..4320f50 Binary files /dev/null and b/q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc b/q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..c8795c4 Binary files /dev/null and b/q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc differ diff --git a/q02_decision_regressor_plot/build.py b/q02_decision_regressor_plot/build.py index 02a9233..23f8e60 100644 --- a/q02_decision_regressor_plot/build.py +++ b/q02_decision_regressor_plot/build.py @@ -1,3 +1,4 @@ +# %load q02_decision_regressor_plot/build.py # default imports from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeRegressor @@ -6,7 +7,7 @@ import matplotlib.pyplot as plt import numpy as np -data = pd.read_csv("./data/house_pricing.csv") +data = pd.read_csv('./data/house_pricing.csv') X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) @@ -14,3 +15,20 @@ depth_list = [2, 8, 10, 15, 20, 25, 30, 35, 45, 50, 80] # Write your solution here : +def decision_regressor_plot(X_train, X_test, y_train, y_test,depth_list): + mse_listTrain=list() + mse_listTest=list() + for i in depth_list: + dt=DecisionTreeRegressor(criterion='mse',max_depth=i,random_state=9) + dt=dt.fit(X_train,y_train) + y_predTrain = dt.predict(X_train) + mse_listTrain.append(mean_squared_error(y_train,y_predTrain)) + + y_predTest = dt.predict(X_test) + mse_listTest.append(mean_squared_error(y_test,y_predTest)) + + plt.plot(depth_list,mse_listTrain) + plt.plot(depth_list,mse_listTest) + plt.show() + + diff --git a/q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc b/q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..86c3acf Binary files /dev/null and b/q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc b/q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc new file mode 100644 index 0000000..ec91e60 Binary files /dev/null and b/q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc differ diff --git a/q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc b/q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..9070431 Binary files /dev/null and b/q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc differ diff --git a/q03_my_decision_classifier/__pycache__/build.cpython-36.pyc b/q03_my_decision_classifier/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..5d7f6bf Binary files /dev/null and b/q03_my_decision_classifier/__pycache__/build.cpython-36.pyc differ diff --git a/q03_my_decision_classifier/build.py b/q03_my_decision_classifier/build.py index 73c9856..55a5275 100644 --- a/q03_my_decision_classifier/build.py +++ b/q03_my_decision_classifier/build.py @@ -1,3 +1,4 @@ +# %load q03_my_decision_classifier/build.py # default imports from sklearn.model_selection import RandomizedSearchCV from sklearn.tree import DecisionTreeClassifier @@ -6,16 +7,26 @@ import pandas as pd import numpy as np -data = pd.read_csv("./data/loan_prediction.csv") +data = pd.read_csv('./data/loan_prediction.csv') np.random.seed(9) X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) -param_grid = {"max_depth": [8, 10, 15, 20], - "max_leaf_nodes": [2, 5, 9, 15, 20], - "max_features": [1, 2, 3, 5]} +param_grid = {'max_depth': [8, 10, 15, 20], + 'max_leaf_nodes': [2, 5, 9, 15, 20], + 'max_features': [1, 2, 3, 5]} # Write your solution here : +def my_decision_classifier(X_train, X_test, y_train, y_test,param_grid,n_iter_search=10): + + dt = DecisionTreeClassifier(random_state=9) + ran_search = RandomizedSearchCV(estimator = dt, param_distributions=param_grid,n_iter=n_iter_search) + ran_search.fit(X_train,y_train) + y_prediction = ran_search.predict(X_test) + + best_params=ran_search.best_params_ + accuracy_s=accuracy_score(y_test,y_prediction) + return accuracy_s, best_params diff --git a/q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc b/q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..01fb231 Binary files /dev/null and b/q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc b/q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc new file mode 100644 index 0000000..a3f994b Binary files /dev/null and b/q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc differ diff --git a/q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc b/q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..3b79e7f Binary files /dev/null and b/q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc differ diff --git a/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc b/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..010ac47 Binary files /dev/null and b/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc differ diff --git a/q04_decision_classifier_plot/build.py b/q04_decision_classifier_plot/build.py index 1bf70dc..2350306 100644 --- a/q04_decision_classifier_plot/build.py +++ b/q04_decision_classifier_plot/build.py @@ -1,3 +1,4 @@ +# %load q04_decision_classifier_plot/build.py # default imports from sklearn.model_selection import RandomizedSearchCV from sklearn.tree import DecisionTreeClassifier @@ -7,7 +8,7 @@ import pandas as pd import numpy as np -data = pd.read_csv("./data/loan_prediction.csv") +data = pd.read_csv('./data/loan_prediction.csv') np.random.seed(9) X = data.iloc[:, :-1] y = data.iloc[:, -1] @@ -17,3 +18,21 @@ # Write your solution here : +def decision_classifier_plot(X_train, X_test, y_train, y_test,depth_list): + mse_listTrain=list() + mse_listTest=list() + for i in depth_list: + dt=DecisionTreeClassifier(max_depth=i,random_state=9) + dt=dt.fit(X_train,y_train) + y_predTrain = dt.predict(X_train) + mse_listTrain.append(accuracy_score(y_train,y_predTrain)) + + y_predTest = dt.predict(X_test) + mse_listTest.append(accuracy_score(y_test,y_predTest)) + + plt.plot(depth_list,mse_listTrain) + plt.plot(depth_list,mse_listTest) + plt.xlabel('depths') + plt.ylabel('accuracy score') + plt.show() + diff --git a/q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc b/q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..d1f95d9 Binary files /dev/null and b/q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc b/q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc new file mode 100644 index 0000000..48c92c1 Binary files /dev/null and b/q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc differ