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