Created
October 12, 2024 06:40
-
-
Save 110CodingP/6950dea05844bd922a67b8f849f1a2ad to your computer and use it in GitHub Desktop.
voting_dataset2.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [], | |
"authorship_tag": "ABX9TyNZ6yuwaYbnqTrZw5Ah1HJa", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/110CodingP/6950dea05844bd922a67b8f849f1a2ad/voting_dataset2.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"id": "TLnT68iUYh3J" | |
}, | |
"outputs": [], | |
"source": [ | |
"! pip install -q kaggle" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from google.colab import files\n", | |
"\n", | |
"files.upload()" | |
], | |
"metadata": { | |
"id": "SBAwieajfMlA", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 92 | |
}, | |
"outputId": "69d024cf-87cd-42c1-eb26-5cace05cdfc1" | |
}, | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
], | |
"text/html": [ | |
"\n", | |
" <input type=\"file\" id=\"files-720998c4-a680-441b-95ff-cdcc93237499\" name=\"files[]\" multiple disabled\n", | |
" style=\"border:none\" />\n", | |
" <output id=\"result-720998c4-a680-441b-95ff-cdcc93237499\">\n", | |
" Upload widget is only available when the cell has been executed in the\n", | |
" current browser session. Please rerun this cell to enable.\n", | |
" </output>\n", | |
" <script>// Copyright 2017 Google LLC\n", | |
"//\n", | |
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n", | |
"// you may not use this file except in compliance with the License.\n", | |
"// You may obtain a copy of the License at\n", | |
"//\n", | |
"// http://www.apache.org/licenses/LICENSE-2.0\n", | |
"//\n", | |
"// Unless required by applicable law or agreed to in writing, software\n", | |
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n", | |
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", | |
"// See the License for the specific language governing permissions and\n", | |
"// limitations under the License.\n", | |
"\n", | |
"/**\n", | |
" * @fileoverview Helpers for google.colab Python module.\n", | |
" */\n", | |
"(function(scope) {\n", | |
"function span(text, styleAttributes = {}) {\n", | |
" const element = document.createElement('span');\n", | |
" element.textContent = text;\n", | |
" for (const key of Object.keys(styleAttributes)) {\n", | |
" element.style[key] = styleAttributes[key];\n", | |
" }\n", | |
" return element;\n", | |
"}\n", | |
"\n", | |
"// Max number of bytes which will be uploaded at a time.\n", | |
"const MAX_PAYLOAD_SIZE = 100 * 1024;\n", | |
"\n", | |
"function _uploadFiles(inputId, outputId) {\n", | |
" const steps = uploadFilesStep(inputId, outputId);\n", | |
" const outputElement = document.getElementById(outputId);\n", | |
" // Cache steps on the outputElement to make it available for the next call\n", | |
" // to uploadFilesContinue from Python.\n", | |
" outputElement.steps = steps;\n", | |
"\n", | |
" return _uploadFilesContinue(outputId);\n", | |
"}\n", | |
"\n", | |
"// This is roughly an async generator (not supported in the browser yet),\n", | |
"// where there are multiple asynchronous steps and the Python side is going\n", | |
"// to poll for completion of each step.\n", | |
"// This uses a Promise to block the python side on completion of each step,\n", | |
"// then passes the result of the previous step as the input to the next step.\n", | |
"function _uploadFilesContinue(outputId) {\n", | |
" const outputElement = document.getElementById(outputId);\n", | |
" const steps = outputElement.steps;\n", | |
"\n", | |
" const next = steps.next(outputElement.lastPromiseValue);\n", | |
" return Promise.resolve(next.value.promise).then((value) => {\n", | |
" // Cache the last promise value to make it available to the next\n", | |
" // step of the generator.\n", | |
" outputElement.lastPromiseValue = value;\n", | |
" return next.value.response;\n", | |
" });\n", | |
"}\n", | |
"\n", | |
"/**\n", | |
" * Generator function which is called between each async step of the upload\n", | |
" * process.\n", | |
" * @param {string} inputId Element ID of the input file picker element.\n", | |
" * @param {string} outputId Element ID of the output display.\n", | |
" * @return {!Iterable<!Object>} Iterable of next steps.\n", | |
" */\n", | |
"function* uploadFilesStep(inputId, outputId) {\n", | |
" const inputElement = document.getElementById(inputId);\n", | |
" inputElement.disabled = false;\n", | |
"\n", | |
" const outputElement = document.getElementById(outputId);\n", | |
" outputElement.innerHTML = '';\n", | |
"\n", | |
" const pickedPromise = new Promise((resolve) => {\n", | |
" inputElement.addEventListener('change', (e) => {\n", | |
" resolve(e.target.files);\n", | |
" });\n", | |
" });\n", | |
"\n", | |
" const cancel = document.createElement('button');\n", | |
" inputElement.parentElement.appendChild(cancel);\n", | |
" cancel.textContent = 'Cancel upload';\n", | |
" const cancelPromise = new Promise((resolve) => {\n", | |
" cancel.onclick = () => {\n", | |
" resolve(null);\n", | |
" };\n", | |
" });\n", | |
"\n", | |
" // Wait for the user to pick the files.\n", | |
" const files = yield {\n", | |
" promise: Promise.race([pickedPromise, cancelPromise]),\n", | |
" response: {\n", | |
" action: 'starting',\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" cancel.remove();\n", | |
"\n", | |
" // Disable the input element since further picks are not allowed.\n", | |
" inputElement.disabled = true;\n", | |
"\n", | |
" if (!files) {\n", | |
" return {\n", | |
" response: {\n", | |
" action: 'complete',\n", | |
" }\n", | |
" };\n", | |
" }\n", | |
"\n", | |
" for (const file of files) {\n", | |
" const li = document.createElement('li');\n", | |
" li.append(span(file.name, {fontWeight: 'bold'}));\n", | |
" li.append(span(\n", | |
" `(${file.type || 'n/a'}) - ${file.size} bytes, ` +\n", | |
" `last modified: ${\n", | |
" file.lastModifiedDate ? file.lastModifiedDate.toLocaleDateString() :\n", | |
" 'n/a'} - `));\n", | |
" const percent = span('0% done');\n", | |
" li.appendChild(percent);\n", | |
"\n", | |
" outputElement.appendChild(li);\n", | |
"\n", | |
" const fileDataPromise = new Promise((resolve) => {\n", | |
" const reader = new FileReader();\n", | |
" reader.onload = (e) => {\n", | |
" resolve(e.target.result);\n", | |
" };\n", | |
" reader.readAsArrayBuffer(file);\n", | |
" });\n", | |
" // Wait for the data to be ready.\n", | |
" let fileData = yield {\n", | |
" promise: fileDataPromise,\n", | |
" response: {\n", | |
" action: 'continue',\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" // Use a chunked sending to avoid message size limits. See b/62115660.\n", | |
" let position = 0;\n", | |
" do {\n", | |
" const length = Math.min(fileData.byteLength - position, MAX_PAYLOAD_SIZE);\n", | |
" const chunk = new Uint8Array(fileData, position, length);\n", | |
" position += length;\n", | |
"\n", | |
" const base64 = btoa(String.fromCharCode.apply(null, chunk));\n", | |
" yield {\n", | |
" response: {\n", | |
" action: 'append',\n", | |
" file: file.name,\n", | |
" data: base64,\n", | |
" },\n", | |
" };\n", | |
"\n", | |
" let percentDone = fileData.byteLength === 0 ?\n", | |
" 100 :\n", | |
" Math.round((position / fileData.byteLength) * 100);\n", | |
" percent.textContent = `${percentDone}% done`;\n", | |
"\n", | |
" } while (position < fileData.byteLength);\n", | |
" }\n", | |
"\n", | |
" // All done.\n", | |
" yield {\n", | |
" response: {\n", | |
" action: 'complete',\n", | |
" }\n", | |
" };\n", | |
"}\n", | |
"\n", | |
"scope.google = scope.google || {};\n", | |
"scope.google.colab = scope.google.colab || {};\n", | |
"scope.google.colab._files = {\n", | |
" _uploadFiles,\n", | |
" _uploadFilesContinue,\n", | |
"};\n", | |
"})(self);\n", | |
"</script> " | |
] | |
}, | |
"metadata": {} | |
}, | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Saving kaggle.json to kaggle.json\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{'kaggle.json': b'{\"username\":\"codingp110\",\"key\":\"81f210dea3939d586d081537b5076f96\"}'}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 2 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"! mkdir ~/.kaggle\n", | |
"\n", | |
"! cp kaggle.json ~/.kaggle/" | |
], | |
"metadata": { | |
"id": "e2F5TFJqfOvk" | |
}, | |
"execution_count": 3, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"! chmod 600 ~/.kaggle/kaggle.json" | |
], | |
"metadata": { | |
"id": "G3OMKO4WfQvn" | |
}, | |
"execution_count": 4, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"! pip install catboost" | |
], | |
"metadata": { | |
"id": "Y51hIzWvjV_3", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "f93ab6d2-1dac-4f25-d2d9-482e30898cc4" | |
}, | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Collecting catboost\n", | |
" Downloading catboost-1.2.7-cp310-cp310-manylinux2014_x86_64.whl.metadata (1.2 kB)\n", | |
"Requirement already satisfied: graphviz in /usr/local/lib/python3.10/dist-packages (from catboost) (0.20.3)\n", | |
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from catboost) (3.7.1)\n", | |
"Requirement already satisfied: numpy<2.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from catboost) (1.26.4)\n", | |
"Requirement already satisfied: pandas>=0.24 in /usr/local/lib/python3.10/dist-packages (from catboost) (2.2.2)\n", | |
"Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from catboost) (1.13.1)\n", | |
"Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (from catboost) (5.24.1)\n", | |
"Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from catboost) (1.16.0)\n", | |
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24->catboost) (2.8.2)\n", | |
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24->catboost) (2024.2)\n", | |
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24->catboost) (2024.2)\n", | |
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (1.3.0)\n", | |
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (0.12.1)\n", | |
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (4.54.1)\n", | |
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (1.4.7)\n", | |
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (24.1)\n", | |
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (10.4.0)\n", | |
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->catboost) (3.1.4)\n", | |
"Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly->catboost) (9.0.0)\n", | |
"Downloading catboost-1.2.7-cp310-cp310-manylinux2014_x86_64.whl (98.7 MB)\n", | |
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m98.7/98.7 MB\u001b[0m \u001b[31m6.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", | |
"\u001b[?25hInstalling collected packages: catboost\n", | |
"Successfully installed catboost-1.2.7\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"! kaggle datasets download codingp110/neural-features" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "VKr577lumjFM", | |
"outputId": "22d35097-a13a-4023-a790-be2ea966386c" | |
}, | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Dataset URL: https://www.kaggle.com/datasets/codingp110/neural-features\n", | |
"License(s): unknown\n", | |
"Downloading neural-features.zip to /content\n", | |
" 98% 185M/188M [00:01<00:00, 114MB/s]\n", | |
"100% 188M/188M [00:02<00:00, 98.2MB/s]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"! unzip /content/neural-features.zip" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "LZHrcLBqmmCs", | |
"outputId": "b377e0f4-190a-4658-cbf5-a9a50a69ac9f" | |
}, | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Archive: /content/neural-features.zip\n", | |
" inflating: test_feature.npz \n", | |
" inflating: train_feature.npz \n", | |
" inflating: valid_feature.npz \n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"import matplotlib.pyplot as plt\n", | |
"from sklearn.linear_model import LogisticRegression\n", | |
"from sklearn.ensemble import RandomForestClassifier\n", | |
"from sklearn.model_selection import train_test_split, GridSearchCV\n", | |
"from sklearn.preprocessing import StandardScaler\n", | |
"from sklearn.metrics import accuracy_score\n", | |
"import xgboost as xgb\n", | |
"from catboost import CatBoostClassifier\n", | |
"from lightgbm import LGBMClassifier\n", | |
"from sklearn.tree import DecisionTreeClassifier\n", | |
"from sklearn.ensemble import (ExtraTreesClassifier,\n", | |
" GradientBoostingClassifier, AdaBoostClassifier)\n", | |
"from sklearn.ensemble import VotingClassifier\n", | |
"from sklearn.naive_bayes import GaussianNB\n", | |
"from sklearn.decomposition import PCA" | |
], | |
"metadata": { | |
"id": "PpL1-5prj5pP", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "2a889ff7-83b6-418c-b00c-3ac34cae16f3" | |
}, | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"text": [ | |
"/usr/local/lib/python3.10/dist-packages/dask/dataframe/__init__.py:42: FutureWarning: \n", | |
"Dask dataframe query planning is disabled because dask-expr is not installed.\n", | |
"\n", | |
"You can install it with `pip install dask[dataframe]` or `conda install dask`.\n", | |
"This will raise in a future version.\n", | |
"\n", | |
" warnings.warn(msg, FutureWarning)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_feat = np.load(\"/content/train_feature.npz\")\n", | |
"valid_feat = np.load(\"/content/valid_feature.npz\")\n", | |
"train_feat_X = train_feat['features']\n", | |
"train_feat_Y = train_feat['label']\n", | |
"valid_feat_X = valid_feat['features']\n", | |
"valid_feat_Y = valid_feat['label']\n", | |
"\n", | |
"test_feat_X = np.load(\"/content/test_feature.npz\")['features']" | |
], | |
"metadata": { | |
"id": "TH7yZCulmGUY" | |
}, | |
"execution_count": 9, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_feat_X.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Yem690x-MWEX", | |
"outputId": "e4c6278f-0590-4f05-9d2d-46df760c70c3" | |
}, | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(7080, 13, 768)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 10 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"valid_feat_X.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "hkxr4JOIMXuf", | |
"outputId": "67809be5-f6aa-4e70-f1a9-b40a79ea5ee4" | |
}, | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(489, 13, 768)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 11 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"test_feat_X.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "TbG-w8y_MZZH", | |
"outputId": "e83e3e8c-8054-4227-c71e-9056c3ab8c80" | |
}, | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(2232, 13, 768)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 12 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_X_reshaped = np.reshape(train_feat_X, (7080,13*768))\n", | |
"valid_X_reshaped = np.reshape(valid_feat_X, (489,13*768))\n", | |
"test_X_reshaped = np.reshape(test_feat_X, (2232,13*768))" | |
], | |
"metadata": { | |
"id": "5E279ueamuX-" | |
}, | |
"execution_count": 13, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_Y = train_feat_Y\n", | |
"valid_Y = valid_feat_Y" | |
], | |
"metadata": { | |
"id": "dIyHbNd6pQoB" | |
}, | |
"execution_count": 14, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"scaler = StandardScaler()\n", | |
"train_feat_X_scaled = scaler.fit_transform(train_X_reshaped)\n", | |
"valid_feat_X_scaled = scaler.transform(valid_X_reshaped)" | |
], | |
"metadata": { | |
"id": "cL20nTFpsOBO" | |
}, | |
"execution_count": 16, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"pca = PCA(n_components=0.95)\n", | |
"pca.fit(train_feat_X_scaled)\n", | |
"train_X = pca.transform(train_feat_X_scaled)\n", | |
"valid_X = pca.transform(valid_feat_X_scaled)" | |
], | |
"metadata": { | |
"id": "aVx4qiomnhgb" | |
}, | |
"execution_count": 17, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_X.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "qWTsKgY-szgx", | |
"outputId": "77469730-63d1-4bd2-ca36-5efa6eaae3fe" | |
}, | |
"execution_count": 18, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(7080, 215)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 18 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def tune_and_evaluate(model, param_grid):\n", | |
" grid_search = GridSearchCV(model, param_grid, cv=5, scoring='accuracy', n_jobs=-1)\n", | |
" grid_search.fit(train_X, train_Y)\n", | |
" best_model = grid_search.best_estimator_\n", | |
" valid_pred = best_model.predict(valid_X)\n", | |
" valid_acc = accuracy_score(valid_Y, valid_pred)\n", | |
" return grid_search.best_params_, valid_acc, best_model" | |
], | |
"metadata": { | |
"id": "6PV-BUFngWOk" | |
}, | |
"execution_count": 19, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"SVM" | |
], | |
"metadata": { | |
"id": "sk6NZo8ahW4F" | |
} | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Random Forest" | |
], | |
"metadata": { | |
"id": "t8f0_WK9hwoZ" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"rf_param_grid = {\n", | |
" 'n_estimators': [100, 200],\n", | |
" 'max_depth': [None, 10],\n", | |
" 'min_samples_split': [2, 5]\n", | |
"}\n", | |
"rf_model = RandomForestClassifier()\n", | |
"rf_params, rf_acc, best_rf_model = tune_and_evaluate(rf_model, rf_param_grid)" | |
], | |
"metadata": { | |
"id": "1fi6xMmlheWQ" | |
}, | |
"execution_count": 20, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"print(rf_acc)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "jMTWWJfCsnMw", | |
"outputId": "80330e4b-db33-4a34-bcd7-acb797a38bca" | |
}, | |
"execution_count": 21, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0.9693251533742331\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Naive Bayes" | |
], | |
"metadata": { | |
"id": "a_gT3nwGh20r" | |
} | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"https://stackoverflow.com/questions/39828535/how-to-tune-gaussiannb" | |
], | |
"metadata": { | |
"id": "T6JkTha9IaRS" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"nb_param_grid = {\n", | |
" 'var_smoothing': np.logspace(0,-9, num=100)\n", | |
"}\n", | |
"nb_model = GaussianNB()\n", | |
"nb_params, nb_acc, best_nb_model = tune_and_evaluate(nb_model, nb_param_grid)" | |
], | |
"metadata": { | |
"id": "Z0ZS6ihBh4Fj" | |
}, | |
"execution_count": 22, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"print(nb_acc)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "4-htntGbGpkt", | |
"outputId": "91c4cc3e-8875-4119-9c2b-cc239e2f32c3" | |
}, | |
"execution_count": 23, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0.9243353783231084\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from sklearn.svm import SVC\n", | |
"svm_param_grid = {\n", | |
" 'C': [0.1],\n", | |
" 'kernel': ['linear', 'rbf', 'poly']}\n", | |
"svm_model = SVC()\n", | |
"svm_params, svm_acc, best_svm_model = tune_and_evaluate(svm_model, svm_param_grid)" | |
], | |
"metadata": { | |
"id": "TyHQ9u0DhVW_" | |
}, | |
"execution_count": 24, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"print(svm_acc)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "jj9Rjf4gLtVP", | |
"outputId": "d6120964-6bb8-4c34-d9f4-31364967d6b3" | |
}, | |
"execution_count": 25, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0.9795501022494888\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"voting_clf = VotingClassifier(estimators=[\n", | |
" ('svm', best_svm_model),\n", | |
" ('naive_bayes', nb_model),\n", | |
" ('random_forest', best_rf_model)\n", | |
"], voting='hard')\n", | |
"voting_clf.fit(train_X, train_Y)\n", | |
"voting_pred = voting_clf.predict(valid_X)\n", | |
"voting_acc = accuracy_score(valid_Y, voting_pred)\n", | |
"\n", | |
"print(f\"Validation Accuracy (Voting Classifier): {voting_acc:.4f}\")" | |
], | |
"metadata": { | |
"id": "r3_1yRpKj9Ui", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "a0c048f2-5734-4fa5-932d-5e10687c122c" | |
}, | |
"execution_count": 26, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Validation Accuracy (Voting Classifier): 0.9714\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"train_percentages = [0.2, 0.4, 0.6, 0.8, 1.0]\n", | |
"\n", | |
"def plot_accuracy_vs_data(model, name):\n", | |
" results = []\n", | |
" for pct in train_percentages:\n", | |
" if pct == 1.0:\n", | |
" model.fit(train_X, train_Y)\n", | |
" valid_pred = model.predict(valid_X)\n", | |
" acc = accuracy_score(valid_Y, valid_pred)\n", | |
" results.append(acc)\n", | |
" else:\n", | |
" train_X_subset, _, train_Y_subset, _ = train_test_split(train_X, train_Y, train_size=pct, random_state=42)\n", | |
" model.fit(train_X_subset, train_Y_subset)\n", | |
" valid_pred = model.predict(valid_X)\n", | |
" acc = accuracy_score(valid_Y, valid_pred)\n", | |
" results.append(acc)\n", | |
" plt.plot([p * 100 for p in train_percentages], results, marker='o', label=name)" | |
], | |
"metadata": { | |
"id": "uIms0eazgjMM" | |
}, | |
"execution_count": 27, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.figure(figsize=(10, 6))\n", | |
"plot_accuracy_vs_data(best_svm_model, 'SVM')\n", | |
"plot_accuracy_vs_data(nb_model, 'Naive Bayes')\n", | |
"plot_accuracy_vs_data(best_rf_model, 'Random Forest')\n", | |
"plot_accuracy_vs_data(voting_clf, 'Voting Classifier')\n", | |
"plt.xlabel(\"Percentage of Training Data (%)\")\n", | |
"plt.ylabel(\"Validation Accuracy\")\n", | |
"plt.title(\"Validation Accuracy vs Training Data Percentage\")\n", | |
"plt.legend()\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"id": "NEbDaj60k0Xj", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 564 | |
}, | |
"outputId": "ded6e4f8-e569-4262-bacd-4bd5237477fb" | |
}, | |
"execution_count": 28, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 1000x600 with 1 Axes>" | |
], | |
"image/png": "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iIiIiIiIGiujk6u+ffvWRhxEREREREQNmtHJ1aFDhx76fJ8+faodDBERERERUUNldHJVsUgEoLv2qjGsuSIiIiIiIjKWUftcAUB2drbOV1paGvbs2YPu3btj3759tREjERERERFRvWf0yJWjo6Ne29NPPw0rKytERUXh9OnTJgmMiIiIiIioITF65Koynp6euHbtmqlOR0RERERE1KAYPXJ14cIFnceCICA5ORmfffYZgoODTRUXERERERFRg2J0chUcHAyRSISKew/36NEDa9euNVlgREREREREDYnRydXNmzd1HovFYri7u0MqlZosKCIiIiIioobG6OSqefPmtREHERERERFRg2Z0QYs33ngDX3/9tV770qVL8dZbb5kiJiIiIiIiogbH6ORq+/bteOKJJ/Tae/XqhW3btpkkKCIiIiIioobG6OQqMzPT4F5XDg4OyMjIMElQREREREREDY3RyVVgYCD27Nmj17579260aNHCJEERERERERE1NEYXtIiKisKMGTOQnp6OAQMGAABiYmLwf//3f1i8eLGp4yMiIiIiImoQjE6uJkyYgJKSEnz66af45JNPAAB+fn5Yvnw5xowZY/IAiYiIiIiIGgKRUHE3YCOkp6dDJpPBzs7OlDGZXV5eHhwdHZGbmwsHBwdzh0NERERERGZiTG5QrU2ElUolgoKC4O7urm2Pi4uDpaUl/Pz8jA6YiIiIiIiooTO6oMW4ceNw7NgxvfYTJ05g3LhxpoiJiIiIiIiowTE6uTp79qzBfa569OiBc+fOmSImIiIiIiKiBsfo5EokEiE/P1+vPTc3FyqVyiRBERERERERNTRGJ1d9+vTBwoULdRIplUqFhQsX4sknnzRpcERERERERA2F0QUtPv/8c/Tp0wetWrVC7969AQCHDx9GXl4eDhw4YPIAiYiIiIiIGgKjR67atm2LCxcuYOTIkUhLS0N+fj7GjBmDq1evon379rURIxERERERUb1Xo32uysvJycHGjRsxY8YMU5zOrLjPFRERERERAcblBkaPXFUUExODl19+Gd7e3vjoo49qejoiIiIiIqIGqVrJ1Z07d/Dxxx/D398fzzzzDABgx44dSElJMWlwREREREREDUWVkyuFQoGffvoJ4eHhaNWqFc6dO4f//e9/EIvFmDNnDgYOHAhLS8vajJWIiIiIiKjeqnK1wCZNmqB169Z45ZVX8OOPP8LZ2RkA8NJLL9VacERERERERA1FlUeulEolRCIRRCIRJBJJbcZERERERETU4FQ5ubp37x4mT56MH374AV5eXhg+fDh27NgBkUhUm/ERERERERE1CFVOrqRSKUaPHo0DBw7g4sWLaNOmDd544w0olUp8+umn2L9/P1QqVW3GSkREREREVG9Vq1pgQEAA/vOf/+D27dv47bffUFJSgsGDB8PT09PU8RERERERETUIVS5oYYhYLMazzz6LZ599Funp6diwYYOp4iIiIiIiImpQRIIgCOYOor4xZhdmIiIiIiJqvIzJDao1LZCIiIiIiIh0MbkiIiIiIiIyASZXREREREREJsDkioiIiIiIyASMrhaoUqmwfv16xMTEIC0tDWq1Wuf5AwcOmCw4IiIiIiKihsLo5OrNN9/E+vXr8dxzz6F9+/YQiUS1ERcREREREVGDYnRy9eOPP2Lr1q0YNGhQbcRDRERERETUIBm95srKygqBgYG1EQsREREREVGDZXRy9c477+Crr74C9x4mIiIiIiJ6wOjk6siRI9i0aRMCAgIwZMgQREZG6nxVx7Jly+Dn5wepVIrQ0FDExsZW2lehUODjjz9GQEAApFIpOnXqhD179tTonERERERERDVldHLl5OSEiIgI9O3bF25ubnB0dNT5MtaWLVsQFRWFjz76CGfOnEGnTp0QHh6OtLQ0g/3nzJmDlStXYsmSJbhy5QqmTp2KiIgInD17ttrnJCIiIiIiqimRYOb5faGhoejevTuWLl0KAFCr1fD19cXMmTMxa9Ysvf4+Pj744IMPMH36dG3b8OHDIZPJsHHjxmqds6K8vDw4OjoiNzcXDg4OprhMIiIiIiJqgIzJDaq9iXB6ejqOHDmCI0eOID09vVrnKC0txenTpxEWFvYgILEYYWFhOH78uMFjSkpKIJVKddpkMhmOHDlSo3Pm5eXpfBERERERERnD6OSqsLAQEyZMgLe3N/r06YM+ffrAx8cHEydORFFRkVHnysjIgEqlgqenp067p6cnUlJSDB4THh6ORYsWIS4uDmq1Gvv370d0dDSSk5Orfc6FCxfqTG309fU16jqIiIiIiIiMTq6ioqLw119/4ZdffkFOTg5ycnLw888/46+//sI777xTGzHq+OqrrxAUFITWrVvDysoKM2bMwPjx4yEWV3sQDrNnz0Zubq72686dOyaMmIiIiIiIHgdGbyK8fft2bNu2Df369dO2DRo0CDKZDCNHjsTy5curfC43NzdIJBKkpqbqtKempsLLy8vgMe7u7ti5cyfkcjkyMzPh4+ODWbNmoUWLFtU+p7W1NaytrascNxERERERUUVGD/cUFRXpTbkDAA8PD6OnBVpZWaFr166IiYnRtqnVasTExKBnz54PPVYqlaJJkyZQKpXYvn07hg4dWuNzEhERERERVZfRyVXPnj3x0UcfQS6Xa9uKi4sxf/78aiUvUVFRWL16Nb777jv8888/eP3111FYWIjx48cDAMaMGYPZs2dr+584cQLR0dG4ceMGDh8+jIEDB0KtVuPdd9+t8jmJiIiIiIhMzehpgV999RXCw8PRtGlTdOrUCQBw/vx5SKVS7N271+gAXnzxRaSnp2Pu3LlISUlBcHAw9uzZox0dS0xM1FlPJZfLMWfOHNy4cQN2dnYYNGgQNmzYACcnpyqfk4iIiIiIyNSqtc9VUVERNm3ahKtXrwIA2rRpg9GjR0Mmk5k8QHPgPldERERERAQYlxsYPXIFADY2NnjttdeqFRwREREREVFjVKXkateuXXj22WdhaWmJXbt2PbTv888/b5LAiIiIiIiIGpIqTQsUi8VISUmBh4fHQ/eTEolEUKlUJg3QHDgtkIiIiIiIgFqYFqhWqw3+nYiIiIiIiDSMLsX+/fffo6SkRK+9tLQU33//vUmCIiIiIiIiamiMrhYokUiQnJwMDw8PnfbMzEx4eHhwWiARERERETUaxuQGRo9cCYIAkUik13737l04OjoaezoiIiIiIqJGocql2Dt37gyRSASRSISnnnoKFhYPDlWpVLh58yYGDhxYK0ESERERERHVd1VOroYNGwYAOHfuHMLDw2FnZ6d9zsrKCn5+fhg+fLjJAyQiIiIiImoIqpxcffTRRwAAPz8/vPjii5BKpbUWFBERERERUUNT5eSqzNixY2sjDiIiIiIiogbN6ORKpVLhyy+/xNatW5GYmIjS0lKd57OyskwWHBERERERUUNhdLXA+fPnY9GiRXjxxReRm5uLqKgoREZGQiwWY968ebUQIhERERERUf1ndHK1adMmrF69Gu+88w4sLCzw0ksv4dtvv8XcuXPx999/10aMRERERERE9Z7RyVVKSgo6dOgAALCzs0Nubi4AYPDgwfjtt99MGx0REREREVEDYXRy1bRpUyQnJwMAAgICsG/fPgDAyZMnYW1tbdroiIiIiIiIGgijk6uIiAjExMQAAGbOnIkPP/wQQUFBGDNmDCZMmGDyAImIiIiIiBoCkSAIQk1OcPz4cRw/fhxBQUEYMmSIqeIyq7y8PDg6OiI3NxcODg7mDoeIiIiIiMzEmNzA6FLsFfXs2RM9e/as6WmIiIiIiIgatColV7t27aryCZ9//vlqB0NERERERNRQVSm5GjZsmM5jkUiEirMJRSIRAM0mw0RERERERI+bKhW0UKvV2q99+/YhODgYu3fvRk5ODnJycrB792506dIFe/bsqe14iYiIiIiI6iWj11y99dZbWLFiBZ588kltW3h4OGxsbDB58mT8888/Jg2QiIiIiIioITC6FHtCQgKcnJz02h0dHXHr1i0ThERERERERNTwGJ1cde/eHVFRUUhNTdW2paam4t///jdCQkJMGhwREREREVFDYXRytXbtWiQnJ6NZs2YIDAxEYGAgmjVrhqSkJKxZs6Y2YiQiIiIiIqr3jF5zFRgYiAsXLmD//v24evUqAKBNmzYICwvTVgwkIiIiIiJ63IiEijXVyahdmImIiIiIqPEyJjeo0sjV119/jcmTJ0MqleLrr79+aN833nij6pESERERERE1ElUaufL398epU6fg6uoKf3//yk8mEuHGjRsmDdAcOHJFRERERERALYxc3bx50+DfiYiIiIiISMPoaoFERERERESkr0ojV1FRUVU+4aJFi6odDBERERERUUNVpeTq7NmzVToZS7ETEREREdHjqkrJ1cGDB2s7DiIiIiIiogaNa66IiIiIiIhMoEojVxWdOnUKW7duRWJiIkpLS3Wei46ONklgREREREREDYnRI1c//vgjevXqhX/++Qc7duyAQqHA5cuXceDAATg6OtZGjERERERERPWe0cnVggUL8OWXX+KXX36BlZUVvvrqK1y9ehUjR45Es2bNaiNGIiIiIiKies/o5CohIQHPPfccAMDKygqFhYUQiUR4++23sWrVKpMHSERERERE1BAYnVw5OzsjPz8fANCkSRNcunQJAJCTk4OioiLTRkdERERERNRAGF3Qok+fPti/fz86dOiAESNG4M0338SBAwewf/9+PPXUU7URIxERERERUb1X5eTq0qVLaN++PZYuXQq5XA4A+OCD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\n" | |
}, | |
"metadata": {} | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment