├── README.md ├── dataset_training.ipynb └── .ipynb_checkpoints └── dataset_training-checkpoint.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Intel O-Level Certification Program Task 2 | 3 | Dataset training. 4 | -------------------------------------------------------------------------------- /dataset_training.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "0bb88562", 7 | "metadata": {}, 8 | "outputs": [ 9 | { 10 | "data": { 11 | "application/javascript": [ 12 | "\n", 13 | " setTimeout(function() {\n", 14 | " var nbb_cell_id = 1;\n", 15 | " var nbb_unformatted_code = \"%load_ext nb_black\";\n", 16 | " var nbb_formatted_code = \"%load_ext nb_black\";\n", 17 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 18 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 19 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 20 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 21 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 22 | " }\n", 23 | " break;\n", 24 | " }\n", 25 | " }\n", 26 | " }, 500);\n", 27 | " " 28 | ], 29 | "text/plain": [ 30 | "" 31 | ] 32 | }, 33 | "metadata": {}, 34 | "output_type": "display_data" 35 | } 36 | ], 37 | "source": [ 38 | "%load_ext nb_black" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 47, 44 | "id": "fce3217b", 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "text/html": [ 50 | "
\n", 51 | "\n", 64 | "\n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | "
ram(GB)price(¢)
08.02450.0
112.05000.0
28.03000.0
38.01900.0
412.05750.0
.........
35950.02850.0
35968.01060.0
35972.0880.0
35980.0299.0
359916.011500.0
\n", 130 | "

3600 rows × 2 columns

\n", 131 | "
" 132 | ], 133 | "text/plain": [ 134 | " ram(GB) price(¢)\n", 135 | "0 8.0 2450.0\n", 136 | "1 12.0 5000.0\n", 137 | "2 8.0 3000.0\n", 138 | "3 8.0 1900.0\n", 139 | "4 12.0 5750.0\n", 140 | "... ... ...\n", 141 | "3595 0.0 2850.0\n", 142 | "3596 8.0 1060.0\n", 143 | "3597 2.0 880.0\n", 144 | "3598 0.0 299.0\n", 145 | "3599 16.0 11500.0\n", 146 | "\n", 147 | "[3600 rows x 2 columns]" 148 | ] 149 | }, 150 | "execution_count": 47, 151 | "metadata": {}, 152 | "output_type": "execute_result" 153 | }, 154 | { 155 | "data": { 156 | "application/javascript": [ 157 | "\n", 158 | " setTimeout(function() {\n", 159 | " var nbb_cell_id = 47;\n", 160 | " var nbb_unformatted_code = \"import pandas as pd\\n\\ndata = pd.read_csv(\\\"./Mobile-Phones.csv\\\")\\ndata.drop(\\n [\\n \\\"main_camera\\\",\\n \\\"resolution\\\",\\n \\\"battery(mAh)\\\",\\n \\\"storage(GB)\\\",\\n \\\"selfie_camera(MP)\\\",\\n \\\"sim_card\\\",\\n \\\"sd_card\\\",\\n \\\"region\\\",\\n \\\"location\\\",\\n \\\"screen_size(inch)\\\",\\n \\\"color\\\",\\n \\\"brand\\\",\\n \\\"model\\\",\\n \\\"display\\\",\\n \\\"os\\\",\\n ],\\n axis=1,\\n inplace=True,\\n)\\ndata.fillna(0, inplace=True)\\ndata\";\n", 161 | " var nbb_formatted_code = \"import pandas as pd\\n\\ndata = pd.read_csv(\\\"./Mobile-Phones.csv\\\")\\ndata.drop(\\n [\\n \\\"main_camera\\\",\\n \\\"resolution\\\",\\n \\\"battery(mAh)\\\",\\n \\\"storage(GB)\\\",\\n \\\"selfie_camera(MP)\\\",\\n \\\"sim_card\\\",\\n \\\"sd_card\\\",\\n \\\"region\\\",\\n \\\"location\\\",\\n \\\"screen_size(inch)\\\",\\n \\\"color\\\",\\n \\\"brand\\\",\\n \\\"model\\\",\\n \\\"display\\\",\\n \\\"os\\\",\\n ],\\n axis=1,\\n inplace=True,\\n)\\ndata.fillna(0, inplace=True)\\ndata\";\n", 162 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 163 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 164 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 165 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 166 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 167 | " }\n", 168 | " break;\n", 169 | " }\n", 170 | " }\n", 171 | " }, 500);\n", 172 | " " 173 | ], 174 | "text/plain": [ 175 | "" 176 | ] 177 | }, 178 | "metadata": {}, 179 | "output_type": "display_data" 180 | } 181 | ], 182 | "source": [ 183 | "import pandas as pd\n", 184 | "\n", 185 | "data = pd.read_csv(\"./Mobile-Phones.csv\")\n", 186 | "data.drop(\n", 187 | " [\n", 188 | " \"main_camera\",\n", 189 | " \"resolution\",\n", 190 | " \"battery(mAh)\",\n", 191 | " \"storage(GB)\",\n", 192 | " \"selfie_camera(MP)\",\n", 193 | " \"sim_card\",\n", 194 | " \"sd_card\",\n", 195 | " \"region\",\n", 196 | " \"location\",\n", 197 | " \"screen_size(inch)\",\n", 198 | " \"color\",\n", 199 | " \"brand\",\n", 200 | " \"model\",\n", 201 | " \"display\",\n", 202 | " \"os\",\n", 203 | " ],\n", 204 | " axis=1,\n", 205 | " inplace=True,\n", 206 | ")\n", 207 | "data.fillna(0, inplace=True)\n", 208 | "data" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": 48, 214 | "id": "0a7cc21f", 215 | "metadata": {}, 216 | "outputs": [ 217 | { 218 | "data": { 219 | "application/javascript": [ 220 | "\n", 221 | " setTimeout(function() {\n", 222 | " var nbb_cell_id = 48;\n", 223 | " var nbb_unformatted_code = \"x_cols = [x for x in data.columns if x != \\\"price(\\u00a2)\\\"]\\n\\nX_data = data[x_cols]\\ny_data = data[\\\"price(\\u00a2)\\\"]\";\n", 224 | " var nbb_formatted_code = \"x_cols = [x for x in data.columns if x != \\\"price(\\u00a2)\\\"]\\n\\nX_data = data[x_cols]\\ny_data = data[\\\"price(\\u00a2)\\\"]\";\n", 225 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 226 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 227 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 228 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 229 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 230 | " }\n", 231 | " break;\n", 232 | " }\n", 233 | " }\n", 234 | " }, 500);\n", 235 | " " 236 | ], 237 | "text/plain": [ 238 | "" 239 | ] 240 | }, 241 | "metadata": {}, 242 | "output_type": "display_data" 243 | } 244 | ], 245 | "source": [ 246 | "x_cols = [x for x in data.columns if x != \"price(¢)\"]\n", 247 | "\n", 248 | "X_data = data[x_cols]\n", 249 | "y_data = data[\"price(¢)\"]" 250 | ] 251 | }, 252 | { 253 | "cell_type": "code", 254 | "execution_count": 49, 255 | "id": "700973e8", 256 | "metadata": {}, 257 | "outputs": [ 258 | { 259 | "data": { 260 | "application/javascript": [ 261 | "\n", 262 | " setTimeout(function() {\n", 263 | " var nbb_cell_id = 49;\n", 264 | " var nbb_unformatted_code = \"from sklearn.neighbors import KNeighborsClassifier\\n\\nknn = KNeighborsClassifier(n_neighbors=3)\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\";\n", 265 | " var nbb_formatted_code = \"from sklearn.neighbors import KNeighborsClassifier\\n\\nknn = KNeighborsClassifier(n_neighbors=3)\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\";\n", 266 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 267 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 268 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 269 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 270 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 271 | " }\n", 272 | " break;\n", 273 | " }\n", 274 | " }\n", 275 | " }, 500);\n", 276 | " " 277 | ], 278 | "text/plain": [ 279 | "" 280 | ] 281 | }, 282 | "metadata": {}, 283 | "output_type": "display_data" 284 | } 285 | ], 286 | "source": [ 287 | "from sklearn.neighbors import KNeighborsClassifier\n", 288 | "\n", 289 | "knn = KNeighborsClassifier(n_neighbors=3)\n", 290 | "\n", 291 | "knn = knn.fit(X_data, y_data)\n", 292 | "\n", 293 | "y_pred = knn.predict(X_data)" 294 | ] 295 | }, 296 | { 297 | "cell_type": "code", 298 | "execution_count": 50, 299 | "id": "807bdc8b", 300 | "metadata": {}, 301 | "outputs": [ 302 | { 303 | "data": { 304 | "application/javascript": [ 305 | "\n", 306 | " setTimeout(function() {\n", 307 | " var nbb_cell_id = 50;\n", 308 | " var nbb_unformatted_code = \"def accuracy(real, predict):\\n return sum(y_data == y_pred) / float(real.shape[0])\";\n", 309 | " var nbb_formatted_code = \"def accuracy(real, predict):\\n return sum(y_data == y_pred) / float(real.shape[0])\";\n", 310 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 311 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 312 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 313 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 314 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 315 | " }\n", 316 | " break;\n", 317 | " }\n", 318 | " }\n", 319 | " }, 500);\n", 320 | " " 321 | ], 322 | "text/plain": [ 323 | "" 324 | ] 325 | }, 326 | "metadata": {}, 327 | "output_type": "display_data" 328 | } 329 | ], 330 | "source": [ 331 | "def accuracy(real, predict):\n", 332 | " return sum(y_data == y_pred) / float(real.shape[0])" 333 | ] 334 | }, 335 | { 336 | "cell_type": "code", 337 | "execution_count": 51, 338 | "id": "0c7b5f8a", 339 | "metadata": {}, 340 | "outputs": [ 341 | { 342 | "name": "stdout", 343 | "output_type": "stream", 344 | "text": [ 345 | "0.016944444444444446\n" 346 | ] 347 | }, 348 | { 349 | "data": { 350 | "application/javascript": [ 351 | "\n", 352 | " setTimeout(function() {\n", 353 | " var nbb_cell_id = 51;\n", 354 | " var nbb_unformatted_code = \"print(accuracy(y_data, y_pred))\";\n", 355 | " var nbb_formatted_code = \"print(accuracy(y_data, y_pred))\";\n", 356 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 357 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 358 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 359 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 360 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 361 | " }\n", 362 | " break;\n", 363 | " }\n", 364 | " }\n", 365 | " }, 500);\n", 366 | " " 367 | ], 368 | "text/plain": [ 369 | "" 370 | ] 371 | }, 372 | "metadata": {}, 373 | "output_type": "display_data" 374 | } 375 | ], 376 | "source": [ 377 | "print(accuracy(y_data, y_pred))" 378 | ] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": 52, 383 | "id": "6d74db71", 384 | "metadata": {}, 385 | "outputs": [ 386 | { 387 | "name": "stdout", 388 | "output_type": "stream", 389 | "text": [ 390 | "0.015277777777777777\n" 391 | ] 392 | }, 393 | { 394 | "data": { 395 | "application/javascript": [ 396 | "\n", 397 | " setTimeout(function() {\n", 398 | " var nbb_cell_id = 52;\n", 399 | " var nbb_unformatted_code = \"knn = KNeighborsClassifier(n_neighbors=5, weights=\\\"distance\\\")\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\\n\\nprint(accuracy(y_data, y_pred))\";\n", 400 | " var nbb_formatted_code = \"knn = KNeighborsClassifier(n_neighbors=5, weights=\\\"distance\\\")\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\\n\\nprint(accuracy(y_data, y_pred))\";\n", 401 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 402 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 403 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 404 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 405 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 406 | " }\n", 407 | " break;\n", 408 | " }\n", 409 | " }\n", 410 | " }, 500);\n", 411 | " " 412 | ], 413 | "text/plain": [ 414 | "" 415 | ] 416 | }, 417 | "metadata": {}, 418 | "output_type": "display_data" 419 | } 420 | ], 421 | "source": [ 422 | "knn = KNeighborsClassifier(n_neighbors=5, weights=\"distance\")\n", 423 | "\n", 424 | "knn = knn.fit(X_data, y_data)\n", 425 | "\n", 426 | "y_pred = knn.predict(X_data)\n", 427 | "\n", 428 | "print(accuracy(y_data, y_pred))" 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": null, 434 | "id": "d2055163", 435 | "metadata": {}, 436 | "outputs": [], 437 | "source": [] 438 | } 439 | ], 440 | "metadata": { 441 | "kernelspec": { 442 | "display_name": "Python 3 (ipykernel)", 443 | "language": "python", 444 | "name": "python3" 445 | }, 446 | "language_info": { 447 | "codemirror_mode": { 448 | "name": "ipython", 449 | "version": 3 450 | }, 451 | "file_extension": ".py", 452 | "mimetype": "text/x-python", 453 | "name": "python", 454 | "nbconvert_exporter": "python", 455 | "pygments_lexer": "ipython3", 456 | "version": "3.9.16" 457 | } 458 | }, 459 | "nbformat": 4, 460 | "nbformat_minor": 5 461 | } 462 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/dataset_training-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "0bb88562", 7 | "metadata": {}, 8 | "outputs": [ 9 | { 10 | "data": { 11 | "application/javascript": [ 12 | "\n", 13 | " setTimeout(function() {\n", 14 | " var nbb_cell_id = 1;\n", 15 | " var nbb_unformatted_code = \"%load_ext nb_black\";\n", 16 | " var nbb_formatted_code = \"%load_ext nb_black\";\n", 17 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 18 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 19 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 20 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 21 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 22 | " }\n", 23 | " break;\n", 24 | " }\n", 25 | " }\n", 26 | " }, 500);\n", 27 | " " 28 | ], 29 | "text/plain": [ 30 | "" 31 | ] 32 | }, 33 | "metadata": {}, 34 | "output_type": "display_data" 35 | } 36 | ], 37 | "source": [ 38 | "%load_ext nb_black" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 47, 44 | "id": "fce3217b", 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "text/html": [ 50 | "
\n", 51 | "\n", 64 | "\n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | "
ram(GB)price(¢)
08.02450.0
112.05000.0
28.03000.0
38.01900.0
412.05750.0
.........
35950.02850.0
35968.01060.0
35972.0880.0
35980.0299.0
359916.011500.0
\n", 130 | "

3600 rows × 2 columns

\n", 131 | "
" 132 | ], 133 | "text/plain": [ 134 | " ram(GB) price(¢)\n", 135 | "0 8.0 2450.0\n", 136 | "1 12.0 5000.0\n", 137 | "2 8.0 3000.0\n", 138 | "3 8.0 1900.0\n", 139 | "4 12.0 5750.0\n", 140 | "... ... ...\n", 141 | "3595 0.0 2850.0\n", 142 | "3596 8.0 1060.0\n", 143 | "3597 2.0 880.0\n", 144 | "3598 0.0 299.0\n", 145 | "3599 16.0 11500.0\n", 146 | "\n", 147 | "[3600 rows x 2 columns]" 148 | ] 149 | }, 150 | "execution_count": 47, 151 | "metadata": {}, 152 | "output_type": "execute_result" 153 | }, 154 | { 155 | "data": { 156 | "application/javascript": [ 157 | "\n", 158 | " setTimeout(function() {\n", 159 | " var nbb_cell_id = 47;\n", 160 | " var nbb_unformatted_code = \"import pandas as pd\\n\\ndata = pd.read_csv(\\\"./Mobile-Phones.csv\\\")\\ndata.drop(\\n [\\n \\\"main_camera\\\",\\n \\\"resolution\\\",\\n \\\"battery(mAh)\\\",\\n \\\"storage(GB)\\\",\\n \\\"selfie_camera(MP)\\\",\\n \\\"sim_card\\\",\\n \\\"sd_card\\\",\\n \\\"region\\\",\\n \\\"location\\\",\\n \\\"screen_size(inch)\\\",\\n \\\"color\\\",\\n \\\"brand\\\",\\n \\\"model\\\",\\n \\\"display\\\",\\n \\\"os\\\",\\n ],\\n axis=1,\\n inplace=True,\\n)\\ndata.fillna(0, inplace=True)\\ndata\";\n", 161 | " var nbb_formatted_code = \"import pandas as pd\\n\\ndata = pd.read_csv(\\\"./Mobile-Phones.csv\\\")\\ndata.drop(\\n [\\n \\\"main_camera\\\",\\n \\\"resolution\\\",\\n \\\"battery(mAh)\\\",\\n \\\"storage(GB)\\\",\\n \\\"selfie_camera(MP)\\\",\\n \\\"sim_card\\\",\\n \\\"sd_card\\\",\\n \\\"region\\\",\\n \\\"location\\\",\\n \\\"screen_size(inch)\\\",\\n \\\"color\\\",\\n \\\"brand\\\",\\n \\\"model\\\",\\n \\\"display\\\",\\n \\\"os\\\",\\n ],\\n axis=1,\\n inplace=True,\\n)\\ndata.fillna(0, inplace=True)\\ndata\";\n", 162 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 163 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 164 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 165 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 166 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 167 | " }\n", 168 | " break;\n", 169 | " }\n", 170 | " }\n", 171 | " }, 500);\n", 172 | " " 173 | ], 174 | "text/plain": [ 175 | "" 176 | ] 177 | }, 178 | "metadata": {}, 179 | "output_type": "display_data" 180 | } 181 | ], 182 | "source": [ 183 | "import pandas as pd\n", 184 | "\n", 185 | "data = pd.read_csv(\"./Mobile-Phones.csv\")\n", 186 | "data.drop(\n", 187 | " [\n", 188 | " \"main_camera\",\n", 189 | " \"resolution\",\n", 190 | " \"battery(mAh)\",\n", 191 | " \"storage(GB)\",\n", 192 | " \"selfie_camera(MP)\",\n", 193 | " \"sim_card\",\n", 194 | " \"sd_card\",\n", 195 | " \"region\",\n", 196 | " \"location\",\n", 197 | " \"screen_size(inch)\",\n", 198 | " \"color\",\n", 199 | " \"brand\",\n", 200 | " \"model\",\n", 201 | " \"display\",\n", 202 | " \"os\",\n", 203 | " ],\n", 204 | " axis=1,\n", 205 | " inplace=True,\n", 206 | ")\n", 207 | "data.fillna(0, inplace=True)\n", 208 | "data" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": 48, 214 | "id": "0a7cc21f", 215 | "metadata": {}, 216 | "outputs": [ 217 | { 218 | "data": { 219 | "application/javascript": [ 220 | "\n", 221 | " setTimeout(function() {\n", 222 | " var nbb_cell_id = 48;\n", 223 | " var nbb_unformatted_code = \"x_cols = [x for x in data.columns if x != \\\"price(\\u00a2)\\\"]\\n\\nX_data = data[x_cols]\\ny_data = data[\\\"price(\\u00a2)\\\"]\";\n", 224 | " var nbb_formatted_code = \"x_cols = [x for x in data.columns if x != \\\"price(\\u00a2)\\\"]\\n\\nX_data = data[x_cols]\\ny_data = data[\\\"price(\\u00a2)\\\"]\";\n", 225 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 226 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 227 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 228 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 229 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 230 | " }\n", 231 | " break;\n", 232 | " }\n", 233 | " }\n", 234 | " }, 500);\n", 235 | " " 236 | ], 237 | "text/plain": [ 238 | "" 239 | ] 240 | }, 241 | "metadata": {}, 242 | "output_type": "display_data" 243 | } 244 | ], 245 | "source": [ 246 | "x_cols = [x for x in data.columns if x != \"price(¢)\"]\n", 247 | "\n", 248 | "X_data = data[x_cols]\n", 249 | "y_data = data[\"price(¢)\"]" 250 | ] 251 | }, 252 | { 253 | "cell_type": "code", 254 | "execution_count": 49, 255 | "id": "700973e8", 256 | "metadata": {}, 257 | "outputs": [ 258 | { 259 | "data": { 260 | "application/javascript": [ 261 | "\n", 262 | " setTimeout(function() {\n", 263 | " var nbb_cell_id = 49;\n", 264 | " var nbb_unformatted_code = \"from sklearn.neighbors import KNeighborsClassifier\\n\\nknn = KNeighborsClassifier(n_neighbors=3)\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\";\n", 265 | " var nbb_formatted_code = \"from sklearn.neighbors import KNeighborsClassifier\\n\\nknn = KNeighborsClassifier(n_neighbors=3)\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\";\n", 266 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 267 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 268 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 269 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 270 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 271 | " }\n", 272 | " break;\n", 273 | " }\n", 274 | " }\n", 275 | " }, 500);\n", 276 | " " 277 | ], 278 | "text/plain": [ 279 | "" 280 | ] 281 | }, 282 | "metadata": {}, 283 | "output_type": "display_data" 284 | } 285 | ], 286 | "source": [ 287 | "from sklearn.neighbors import KNeighborsClassifier\n", 288 | "\n", 289 | "knn = KNeighborsClassifier(n_neighbors=3)\n", 290 | "\n", 291 | "knn = knn.fit(X_data, y_data)\n", 292 | "\n", 293 | "y_pred = knn.predict(X_data)" 294 | ] 295 | }, 296 | { 297 | "cell_type": "code", 298 | "execution_count": 50, 299 | "id": "807bdc8b", 300 | "metadata": {}, 301 | "outputs": [ 302 | { 303 | "data": { 304 | "application/javascript": [ 305 | "\n", 306 | " setTimeout(function() {\n", 307 | " var nbb_cell_id = 50;\n", 308 | " var nbb_unformatted_code = \"def accuracy(real, predict):\\n return sum(y_data == y_pred) / float(real.shape[0])\";\n", 309 | " var nbb_formatted_code = \"def accuracy(real, predict):\\n return sum(y_data == y_pred) / float(real.shape[0])\";\n", 310 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 311 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 312 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 313 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 314 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 315 | " }\n", 316 | " break;\n", 317 | " }\n", 318 | " }\n", 319 | " }, 500);\n", 320 | " " 321 | ], 322 | "text/plain": [ 323 | "" 324 | ] 325 | }, 326 | "metadata": {}, 327 | "output_type": "display_data" 328 | } 329 | ], 330 | "source": [ 331 | "def accuracy(real, predict):\n", 332 | " return sum(y_data == y_pred) / float(real.shape[0])" 333 | ] 334 | }, 335 | { 336 | "cell_type": "code", 337 | "execution_count": 51, 338 | "id": "0c7b5f8a", 339 | "metadata": {}, 340 | "outputs": [ 341 | { 342 | "name": "stdout", 343 | "output_type": "stream", 344 | "text": [ 345 | "0.016944444444444446\n" 346 | ] 347 | }, 348 | { 349 | "data": { 350 | "application/javascript": [ 351 | "\n", 352 | " setTimeout(function() {\n", 353 | " var nbb_cell_id = 51;\n", 354 | " var nbb_unformatted_code = \"print(accuracy(y_data, y_pred))\";\n", 355 | " var nbb_formatted_code = \"print(accuracy(y_data, y_pred))\";\n", 356 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 357 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 358 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 359 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 360 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 361 | " }\n", 362 | " break;\n", 363 | " }\n", 364 | " }\n", 365 | " }, 500);\n", 366 | " " 367 | ], 368 | "text/plain": [ 369 | "" 370 | ] 371 | }, 372 | "metadata": {}, 373 | "output_type": "display_data" 374 | } 375 | ], 376 | "source": [ 377 | "print(accuracy(y_data, y_pred))" 378 | ] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": 52, 383 | "id": "6d74db71", 384 | "metadata": {}, 385 | "outputs": [ 386 | { 387 | "name": "stdout", 388 | "output_type": "stream", 389 | "text": [ 390 | "0.015277777777777777\n" 391 | ] 392 | }, 393 | { 394 | "data": { 395 | "application/javascript": [ 396 | "\n", 397 | " setTimeout(function() {\n", 398 | " var nbb_cell_id = 52;\n", 399 | " var nbb_unformatted_code = \"knn = KNeighborsClassifier(n_neighbors=5, weights=\\\"distance\\\")\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\\n\\nprint(accuracy(y_data, y_pred))\";\n", 400 | " var nbb_formatted_code = \"knn = KNeighborsClassifier(n_neighbors=5, weights=\\\"distance\\\")\\n\\nknn = knn.fit(X_data, y_data)\\n\\ny_pred = knn.predict(X_data)\\n\\nprint(accuracy(y_data, y_pred))\";\n", 401 | " var nbb_cells = Jupyter.notebook.get_cells();\n", 402 | " for (var i = 0; i < nbb_cells.length; ++i) {\n", 403 | " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", 404 | " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", 405 | " nbb_cells[i].set_text(nbb_formatted_code);\n", 406 | " }\n", 407 | " break;\n", 408 | " }\n", 409 | " }\n", 410 | " }, 500);\n", 411 | " " 412 | ], 413 | "text/plain": [ 414 | "" 415 | ] 416 | }, 417 | "metadata": {}, 418 | "output_type": "display_data" 419 | } 420 | ], 421 | "source": [ 422 | "knn = KNeighborsClassifier(n_neighbors=5, weights=\"distance\")\n", 423 | "\n", 424 | "knn = knn.fit(X_data, y_data)\n", 425 | "\n", 426 | "y_pred = knn.predict(X_data)\n", 427 | "\n", 428 | "print(accuracy(y_data, y_pred))" 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": null, 434 | "id": "d2055163", 435 | "metadata": {}, 436 | "outputs": [], 437 | "source": [] 438 | } 439 | ], 440 | "metadata": { 441 | "kernelspec": { 442 | "display_name": "Python 3 (ipykernel)", 443 | "language": "python", 444 | "name": "python3" 445 | }, 446 | "language_info": { 447 | "codemirror_mode": { 448 | "name": "ipython", 449 | "version": 3 450 | }, 451 | "file_extension": ".py", 452 | "mimetype": "text/x-python", 453 | "name": "python", 454 | "nbconvert_exporter": "python", 455 | "pygments_lexer": "ipython3", 456 | "version": "3.9.16" 457 | } 458 | }, 459 | "nbformat": 4, 460 | "nbformat_minor": 5 461 | } 462 | --------------------------------------------------------------------------------