diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..626243d Binary files /dev/null and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_bagging/__pycache__/__init__.cpython-36.pyc b/q01_bagging/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..e152be7 Binary files /dev/null and b/q01_bagging/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_bagging/__pycache__/build.cpython-36.pyc b/q01_bagging/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..85e707f Binary files /dev/null and b/q01_bagging/__pycache__/build.cpython-36.pyc differ diff --git a/q01_bagging/build.py b/q01_bagging/build.py index c34fb02..442c31e 100644 --- a/q01_bagging/build.py +++ b/q01_bagging/build.py @@ -1,3 +1,4 @@ +# %load q01_bagging/build.py import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier @@ -14,5 +15,21 @@ # Write your code here +def bagging(X_train, X_test, y_train, y_test, n_est): + lst = [] + for i in range(1,n_est): + bagging_clf2 = BaggingClassifier(DecisionTreeClassifier(), n_estimators=i, max_samples=0.67, + bootstrap=True, random_state=9, max_features=0.67) - + bagging_clf2.fit(X_train, y_train) + y_pred_test = bagging_clf2.predict(X_test) + y_pred_train = bagging_clf2.predict(X_train) + lst.append((i,accuracy_score(y_test, y_pred_test),accuracy_score(y_train,y_pred_train))) + df = pd.DataFrame(lst) + plt.xlabel('n_estimators') + plt.ylabel('accuracy') + plt.plot(df.iloc[:,0],df.iloc[:,2],c='b', label='Train set') + plt.plot(df.iloc[:,0],df.iloc[:,1],c='g', label='Test set') + plt.legend() + plt.show() + return diff --git a/q01_bagging/tests/__pycache__/__init__.cpython-36.pyc b/q01_bagging/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..885c454 Binary files /dev/null and b/q01_bagging/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_bagging/tests/__pycache__/test_q01_bagging.cpython-36.pyc b/q01_bagging/tests/__pycache__/test_q01_bagging.cpython-36.pyc new file mode 100644 index 0000000..e4eea05 Binary files /dev/null and b/q01_bagging/tests/__pycache__/test_q01_bagging.cpython-36.pyc differ diff --git a/q02_stacking_clf/__pycache__/__init__.cpython-36.pyc b/q02_stacking_clf/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..14c5fb1 Binary files /dev/null and b/q02_stacking_clf/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_stacking_clf/__pycache__/build.cpython-36.pyc b/q02_stacking_clf/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..cde828c Binary files /dev/null and b/q02_stacking_clf/__pycache__/build.cpython-36.pyc differ diff --git a/q02_stacking_clf/build.py b/q02_stacking_clf/build.py index 7b1c5f8..85eb7ad 100644 --- a/q02_stacking_clf/build.py +++ b/q02_stacking_clf/build.py @@ -1,4 +1,5 @@ # Default imports +from mlxtend.classifier import StackingClassifier from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LogisticRegression @@ -15,4 +16,19 @@ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) # Write your code here +def stacking_clf(model, X_train, y_train, X_test, y_test): + for mod in model: + mod.fit(X_train, y_train) + X_train1 = X_test1 = pd.DataFrame() + for mod in model: + X_train1 = pd.concat([X_train1,pd.DataFrame(mod.predict_proba(X_train))],axis=1) + + for mod in model: + X_test1 = pd.concat([X_test1,pd.DataFrame(mod.predict_proba(X_test))],axis=1) + + meta_clf = LogisticRegression(random_state=9) + meta_clf.fit(X_train1,y_train) + y_pred = meta_clf.predict(X_test1) + accuracy = accuracy_score(y_test, y_pred) + return accuracy diff --git a/q02_stacking_clf/tests/__pycache__/__init__.cpython-36.pyc b/q02_stacking_clf/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..d19a25f Binary files /dev/null and b/q02_stacking_clf/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_stacking_clf/tests/__pycache__/test_q02_stacking_clf.cpython-36.pyc b/q02_stacking_clf/tests/__pycache__/test_q02_stacking_clf.cpython-36.pyc new file mode 100644 index 0000000..063682c Binary files /dev/null and b/q02_stacking_clf/tests/__pycache__/test_q02_stacking_clf.cpython-36.pyc differ