PerceptronClassification.ipynb (19432B)
1 { 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 2, 6 "metadata": {}, 7 "outputs": [ 8 { 9 "data": { 10 "text/html": [ 11 "<style>#sk-container-id-1 {\n", 12 " /* Definition of color scheme common for light and dark mode */\n", 13 " --sklearn-color-text: black;\n", 14 " --sklearn-color-line: gray;\n", 15 " /* Definition of color scheme for unfitted estimators */\n", 16 " --sklearn-color-unfitted-level-0: #fff5e6;\n", 17 " --sklearn-color-unfitted-level-1: #f6e4d2;\n", 18 " --sklearn-color-unfitted-level-2: #ffe0b3;\n", 19 " --sklearn-color-unfitted-level-3: chocolate;\n", 20 " /* Definition of color scheme for fitted estimators */\n", 21 " --sklearn-color-fitted-level-0: #f0f8ff;\n", 22 " --sklearn-color-fitted-level-1: #d4ebff;\n", 23 " --sklearn-color-fitted-level-2: #b3dbfd;\n", 24 " --sklearn-color-fitted-level-3: cornflowerblue;\n", 25 "\n", 26 " /* Specific color for light theme */\n", 27 " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", 28 " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", 29 " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", 30 " --sklearn-color-icon: #696969;\n", 31 "\n", 32 " @media (prefers-color-scheme: dark) {\n", 33 " /* Redefinition of color scheme for dark theme */\n", 34 " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", 35 " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", 36 " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", 37 " --sklearn-color-icon: #878787;\n", 38 " }\n", 39 "}\n", 40 "\n", 41 "#sk-container-id-1 {\n", 42 " color: var(--sklearn-color-text);\n", 43 "}\n", 44 "\n", 45 "#sk-container-id-1 pre {\n", 46 " padding: 0;\n", 47 "}\n", 48 "\n", 49 "#sk-container-id-1 input.sk-hidden--visually {\n", 50 " border: 0;\n", 51 " clip: rect(1px 1px 1px 1px);\n", 52 " clip: rect(1px, 1px, 1px, 1px);\n", 53 " height: 1px;\n", 54 " margin: -1px;\n", 55 " overflow: hidden;\n", 56 " padding: 0;\n", 57 " position: absolute;\n", 58 " width: 1px;\n", 59 "}\n", 60 "\n", 61 "#sk-container-id-1 div.sk-dashed-wrapped {\n", 62 " border: 1px dashed var(--sklearn-color-line);\n", 63 " margin: 0 0.4em 0.5em 0.4em;\n", 64 " box-sizing: border-box;\n", 65 " padding-bottom: 0.4em;\n", 66 " background-color: var(--sklearn-color-background);\n", 67 "}\n", 68 "\n", 69 "#sk-container-id-1 div.sk-container {\n", 70 " /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", 71 " but bootstrap.min.css set `[hidden] { display: none !important; }`\n", 72 " so we also need the `!important` here to be able to override the\n", 73 " default hidden behavior on the sphinx rendered scikit-learn.org.\n", 74 " See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", 75 " display: inline-block !important;\n", 76 " position: relative;\n", 77 "}\n", 78 "\n", 79 "#sk-container-id-1 div.sk-text-repr-fallback {\n", 80 " display: none;\n", 81 "}\n", 82 "\n", 83 "div.sk-parallel-item,\n", 84 "div.sk-serial,\n", 85 "div.sk-item {\n", 86 " /* draw centered vertical line to link estimators */\n", 87 " background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", 88 " background-size: 2px 100%;\n", 89 " background-repeat: no-repeat;\n", 90 " background-position: center center;\n", 91 "}\n", 92 "\n", 93 "/* Parallel-specific style estimator block */\n", 94 "\n", 95 "#sk-container-id-1 div.sk-parallel-item::after {\n", 96 " content: \"\";\n", 97 " width: 100%;\n", 98 " border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", 99 " flex-grow: 1;\n", 100 "}\n", 101 "\n", 102 "#sk-container-id-1 div.sk-parallel {\n", 103 " display: flex;\n", 104 " align-items: stretch;\n", 105 " justify-content: center;\n", 106 " background-color: var(--sklearn-color-background);\n", 107 " position: relative;\n", 108 "}\n", 109 "\n", 110 "#sk-container-id-1 div.sk-parallel-item {\n", 111 " display: flex;\n", 112 " flex-direction: column;\n", 113 "}\n", 114 "\n", 115 "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n", 116 " align-self: flex-end;\n", 117 " width: 50%;\n", 118 "}\n", 119 "\n", 120 "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n", 121 " align-self: flex-start;\n", 122 " width: 50%;\n", 123 "}\n", 124 "\n", 125 "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n", 126 " width: 0;\n", 127 "}\n", 128 "\n", 129 "/* Serial-specific style estimator block */\n", 130 "\n", 131 "#sk-container-id-1 div.sk-serial {\n", 132 " display: flex;\n", 133 " flex-direction: column;\n", 134 " align-items: center;\n", 135 " background-color: var(--sklearn-color-background);\n", 136 " padding-right: 1em;\n", 137 " padding-left: 1em;\n", 138 "}\n", 139 "\n", 140 "\n", 141 "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", 142 "clickable and can be expanded/collapsed.\n", 143 "- Pipeline and ColumnTransformer use this feature and define the default style\n", 144 "- Estimators will overwrite some part of the style using the `sk-estimator` class\n", 145 "*/\n", 146 "\n", 147 "/* Pipeline and ColumnTransformer style (default) */\n", 148 "\n", 149 "#sk-container-id-1 div.sk-toggleable {\n", 150 " /* Default theme specific background. It is overwritten whether we have a\n", 151 " specific estimator or a Pipeline/ColumnTransformer */\n", 152 " background-color: var(--sklearn-color-background);\n", 153 "}\n", 154 "\n", 155 "/* Toggleable label */\n", 156 "#sk-container-id-1 label.sk-toggleable__label {\n", 157 " cursor: pointer;\n", 158 " display: block;\n", 159 " width: 100%;\n", 160 " margin-bottom: 0;\n", 161 " padding: 0.5em;\n", 162 " box-sizing: border-box;\n", 163 " text-align: center;\n", 164 "}\n", 165 "\n", 166 "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n", 167 " /* Arrow on the left of the label */\n", 168 " content: \"▸\";\n", 169 " float: left;\n", 170 " margin-right: 0.25em;\n", 171 " color: var(--sklearn-color-icon);\n", 172 "}\n", 173 "\n", 174 "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n", 175 " color: var(--sklearn-color-text);\n", 176 "}\n", 177 "\n", 178 "/* Toggleable content - dropdown */\n", 179 "\n", 180 "#sk-container-id-1 div.sk-toggleable__content {\n", 181 " max-height: 0;\n", 182 " max-width: 0;\n", 183 " overflow: hidden;\n", 184 " text-align: left;\n", 185 " /* unfitted */\n", 186 " background-color: var(--sklearn-color-unfitted-level-0);\n", 187 "}\n", 188 "\n", 189 "#sk-container-id-1 div.sk-toggleable__content.fitted {\n", 190 " /* fitted */\n", 191 " background-color: var(--sklearn-color-fitted-level-0);\n", 192 "}\n", 193 "\n", 194 "#sk-container-id-1 div.sk-toggleable__content pre {\n", 195 " margin: 0.2em;\n", 196 " border-radius: 0.25em;\n", 197 " color: var(--sklearn-color-text);\n", 198 " /* unfitted */\n", 199 " background-color: var(--sklearn-color-unfitted-level-0);\n", 200 "}\n", 201 "\n", 202 "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n", 203 " /* unfitted */\n", 204 " background-color: var(--sklearn-color-fitted-level-0);\n", 205 "}\n", 206 "\n", 207 "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", 208 " /* Expand drop-down */\n", 209 " max-height: 200px;\n", 210 " max-width: 100%;\n", 211 " overflow: auto;\n", 212 "}\n", 213 "\n", 214 "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", 215 " content: \"▾\";\n", 216 "}\n", 217 "\n", 218 "/* Pipeline/ColumnTransformer-specific style */\n", 219 "\n", 220 "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", 221 " color: var(--sklearn-color-text);\n", 222 " background-color: var(--sklearn-color-unfitted-level-2);\n", 223 "}\n", 224 "\n", 225 "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", 226 " background-color: var(--sklearn-color-fitted-level-2);\n", 227 "}\n", 228 "\n", 229 "/* Estimator-specific style */\n", 230 "\n", 231 "/* Colorize estimator box */\n", 232 "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", 233 " /* unfitted */\n", 234 " background-color: var(--sklearn-color-unfitted-level-2);\n", 235 "}\n", 236 "\n", 237 "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", 238 " /* fitted */\n", 239 " background-color: var(--sklearn-color-fitted-level-2);\n", 240 "}\n", 241 "\n", 242 "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n", 243 "#sk-container-id-1 div.sk-label label {\n", 244 " /* The background is the default theme color */\n", 245 " color: var(--sklearn-color-text-on-default-background);\n", 246 "}\n", 247 "\n", 248 "/* On hover, darken the color of the background */\n", 249 "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n", 250 " color: var(--sklearn-color-text);\n", 251 " background-color: var(--sklearn-color-unfitted-level-2);\n", 252 "}\n", 253 "\n", 254 "/* Label box, darken color on hover, fitted */\n", 255 "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", 256 " color: var(--sklearn-color-text);\n", 257 " background-color: var(--sklearn-color-fitted-level-2);\n", 258 "}\n", 259 "\n", 260 "/* Estimator label */\n", 261 "\n", 262 "#sk-container-id-1 div.sk-label label {\n", 263 " font-family: monospace;\n", 264 " font-weight: bold;\n", 265 " display: inline-block;\n", 266 " line-height: 1.2em;\n", 267 "}\n", 268 "\n", 269 "#sk-container-id-1 div.sk-label-container {\n", 270 " text-align: center;\n", 271 "}\n", 272 "\n", 273 "/* Estimator-specific */\n", 274 "#sk-container-id-1 div.sk-estimator {\n", 275 " font-family: monospace;\n", 276 " border: 1px dotted var(--sklearn-color-border-box);\n", 277 " border-radius: 0.25em;\n", 278 " box-sizing: border-box;\n", 279 " margin-bottom: 0.5em;\n", 280 " /* unfitted */\n", 281 " background-color: var(--sklearn-color-unfitted-level-0);\n", 282 "}\n", 283 "\n", 284 "#sk-container-id-1 div.sk-estimator.fitted {\n", 285 " /* fitted */\n", 286 " background-color: var(--sklearn-color-fitted-level-0);\n", 287 "}\n", 288 "\n", 289 "/* on hover */\n", 290 "#sk-container-id-1 div.sk-estimator:hover {\n", 291 " /* unfitted */\n", 292 " background-color: var(--sklearn-color-unfitted-level-2);\n", 293 "}\n", 294 "\n", 295 "#sk-container-id-1 div.sk-estimator.fitted:hover {\n", 296 " /* fitted */\n", 297 " background-color: var(--sklearn-color-fitted-level-2);\n", 298 "}\n", 299 "\n", 300 "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", 301 "\n", 302 "/* Common style for \"i\" and \"?\" */\n", 303 "\n", 304 ".sk-estimator-doc-link,\n", 305 "a:link.sk-estimator-doc-link,\n", 306 "a:visited.sk-estimator-doc-link {\n", 307 " float: right;\n", 308 " font-size: smaller;\n", 309 " line-height: 1em;\n", 310 " font-family: monospace;\n", 311 " background-color: var(--sklearn-color-background);\n", 312 " border-radius: 1em;\n", 313 " height: 1em;\n", 314 " width: 1em;\n", 315 " text-decoration: none !important;\n", 316 " margin-left: 1ex;\n", 317 " /* unfitted */\n", 318 " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", 319 " color: var(--sklearn-color-unfitted-level-1);\n", 320 "}\n", 321 "\n", 322 ".sk-estimator-doc-link.fitted,\n", 323 "a:link.sk-estimator-doc-link.fitted,\n", 324 "a:visited.sk-estimator-doc-link.fitted {\n", 325 " /* fitted */\n", 326 " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", 327 " color: var(--sklearn-color-fitted-level-1);\n", 328 "}\n", 329 "\n", 330 "/* On hover */\n", 331 "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", 332 ".sk-estimator-doc-link:hover,\n", 333 "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", 334 ".sk-estimator-doc-link:hover {\n", 335 " /* unfitted */\n", 336 " background-color: var(--sklearn-color-unfitted-level-3);\n", 337 " color: var(--sklearn-color-background);\n", 338 " text-decoration: none;\n", 339 "}\n", 340 "\n", 341 "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", 342 ".sk-estimator-doc-link.fitted:hover,\n", 343 "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", 344 ".sk-estimator-doc-link.fitted:hover {\n", 345 " /* fitted */\n", 346 " background-color: var(--sklearn-color-fitted-level-3);\n", 347 " color: var(--sklearn-color-background);\n", 348 " text-decoration: none;\n", 349 "}\n", 350 "\n", 351 "/* Span, style for the box shown on hovering the info icon */\n", 352 ".sk-estimator-doc-link span {\n", 353 " display: none;\n", 354 " z-index: 9999;\n", 355 " position: relative;\n", 356 " font-weight: normal;\n", 357 " right: .2ex;\n", 358 " padding: .5ex;\n", 359 " margin: .5ex;\n", 360 " width: min-content;\n", 361 " min-width: 20ex;\n", 362 " max-width: 50ex;\n", 363 " color: var(--sklearn-color-text);\n", 364 " box-shadow: 2pt 2pt 4pt #999;\n", 365 " /* unfitted */\n", 366 " background: var(--sklearn-color-unfitted-level-0);\n", 367 " border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", 368 "}\n", 369 "\n", 370 ".sk-estimator-doc-link.fitted span {\n", 371 " /* fitted */\n", 372 " background: var(--sklearn-color-fitted-level-0);\n", 373 " border: var(--sklearn-color-fitted-level-3);\n", 374 "}\n", 375 "\n", 376 ".sk-estimator-doc-link:hover span {\n", 377 " display: block;\n", 378 "}\n", 379 "\n", 380 "/* \"?\"-specific style due to the `<a>` HTML tag */\n", 381 "\n", 382 "#sk-container-id-1 a.estimator_doc_link {\n", 383 " float: right;\n", 384 " font-size: 1rem;\n", 385 " line-height: 1em;\n", 386 " font-family: monospace;\n", 387 " background-color: var(--sklearn-color-background);\n", 388 " border-radius: 1rem;\n", 389 " height: 1rem;\n", 390 " width: 1rem;\n", 391 " text-decoration: none;\n", 392 " /* unfitted */\n", 393 " color: var(--sklearn-color-unfitted-level-1);\n", 394 " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", 395 "}\n", 396 "\n", 397 "#sk-container-id-1 a.estimator_doc_link.fitted {\n", 398 " /* fitted */\n", 399 " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", 400 " color: var(--sklearn-color-fitted-level-1);\n", 401 "}\n", 402 "\n", 403 "/* On hover */\n", 404 "#sk-container-id-1 a.estimator_doc_link:hover {\n", 405 " /* unfitted */\n", 406 " background-color: var(--sklearn-color-unfitted-level-3);\n", 407 " color: var(--sklearn-color-background);\n", 408 " text-decoration: none;\n", 409 "}\n", 410 "\n", 411 "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n", 412 " /* fitted */\n", 413 " background-color: var(--sklearn-color-fitted-level-3);\n", 414 "}\n", 415 "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Perceptron(random_state=10)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> Perceptron<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.linear_model.Perceptron.html\">?<span>Documentation for Perceptron</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>Perceptron(random_state=10)</pre></div> </div></div></div></div>" 416 ], 417 "text/plain": [ 418 "Perceptron(random_state=10)" 419 ] 420 }, 421 "execution_count": 2, 422 "metadata": {}, 423 "output_type": "execute_result" 424 } 425 ], 426 "source": [ 427 "import numpy as np\n", 428 "from sklearn.datasets import load_iris\n", 429 "from sklearn.linear_model import Perceptron\n", 430 "\n", 431 "iris = load_iris(as_frame=True)\n", 432 "X=iris.data[['petal length (cm)' , 'petal width (cm)']]\n", 433 "y = (iris.target == 0)\n", 434 "\n", 435 "per_clf = Perceptron(random_state=10)\n", 436 "per_clf.fit(X,y)" 437 ] 438 }, 439 { 440 "cell_type": "code", 441 "execution_count": 5, 442 "metadata": {}, 443 "outputs": [ 444 { 445 "name": "stderr", 446 "output_type": "stream", 447 "text": [ 448 "/home/andrew/gitRepos/myvenv/lib/python3.11/site-packages/sklearn/base.py:493: UserWarning: X does not have valid feature names, but Perceptron was fitted with feature names\n", 449 " warnings.warn(\n" 450 ] 451 }, 452 { 453 "data": { 454 "text/plain": [ 455 "array([ True, False])" 456 ] 457 }, 458 "execution_count": 5, 459 "metadata": {}, 460 "output_type": "execute_result" 461 } 462 ], 463 "source": [ 464 "X_new = [[2,.5] , [3,1]]\n", 465 "y_pred = per_clf.predict(X_new)\n", 466 "y_pred" 467 ] 468 } 469 ], 470 "metadata": { 471 "kernelspec": { 472 "display_name": "notebook", 473 "language": "python", 474 "name": "notebook" 475 }, 476 "language_info": { 477 "codemirror_mode": { 478 "name": "ipython", 479 "version": 3 480 }, 481 "file_extension": ".py", 482 "mimetype": "text/x-python", 483 "name": "python", 484 "nbconvert_exporter": "python", 485 "pygments_lexer": "ipython3", 486 "version": "3.11.2" 487 } 488 }, 489 "nbformat": 4, 490 "nbformat_minor": 2 491 }