Answer To: % 1. Title: 1984 United States Congressional Voting Records Database % % 2. Source Information: %...
Apoorv answered on Nov 22 2021
FBLSolution/IONOshphere_dataset.ipynb
{
"cells": [
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"from scipy.io import arff\n",
"import pandas as pd\n",
"\n",
"\n",
"from sklearn import model_selection \n",
"from sklearn.ensemble import BaggingClassifier \n",
"from sklearn.tree import DecisionTreeClassifier \n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import MultiLabelBinarizer\n",
"from sklearn.preprocessing import LabelEncoder \n",
"\n",
"import matplotlib.pyplot as plt \n",
"\n",
"\n",
"\n",
"from scipy.io import arff\n",
"import pandas as pd\n",
"\n",
"\n",
"from sklearn import model_selection \n",
"from sklearn.ensemble import BaggingClassifier \n",
"from sklearn.tree import DecisionTreeClassifier \n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import MultiLabelBinarizer\n",
"\n",
"\n",
"\n",
"from sklearn.metrics import accuracy_score\n",
"\n",
"import matplotlib.pyplot as plt \n",
"from sklearn import svm, datasets \n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"data = arff.loadarff('C:/Users/avira/Downloads/ionosphere-qocpqvmv.arff')\n",
"df = pd.DataFrame(data[0])"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"X = df.drop(\"class\",axis=1)\n",
"y = df[\"class\"]"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"y = pd.get_dummies(df['class'],drop_first=True)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"def model_definitions_tree_depth(depth):\n",
" # initialize the base classifier\n",
" base_cls = DecisionTreeClassifier(max_depth=depth) \n",
" # no. of base classifier \n",
" # bagging classifier \n",
" model = BaggingClassifier(base_estimator = base_cls)\n",
" \n",
" model.fit(X_train,y_train)\n",
" y_pred = model.predict(X_train)\n",
" training_accuracy = accuracy_score(y_pred,y_train)\n",
" y_pred_test = model.predict(X_test)\n",
" testing_accuracy = accuracy_score(y_pred_test,y_test)\n",
" \n",
" return training_accuracy,testing_accuracy\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"def calculate_depth_wise(tree_depth): \n",
" training = []\n",
" testing = [] \n",
" for depth in tree_depth:\n",
" tr,te = model_definitions_tree_depth(depth)\n",
" training.append(tr)\n",
" testing.append(te)\n",
" plt.plot(tree_depth, training)\n",
" plt.plot(tree_depth, testing)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"