You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
logistic-regressors/logistic-regressor.ipynb

992 lines
819 KiB
Plaintext

2 years ago
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
2 years ago
"id": "03f8827e-7e96-494f-8f87-4eb8a2a03ff9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['data',\n",
" 'target',\n",
" 'frame',\n",
" 'target_names',\n",
" 'DESCR',\n",
" 'feature_names',\n",
" 'filename',\n",
" 'data_module']"
]
},
"execution_count": 1,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn import datasets\n",
"iris = datasets.load_iris()\n",
"list(iris.keys())"
]
},
{
"cell_type": "code",
"execution_count": 2,
2 years ago
"id": "df29211b-b8ae-4d64-a903-de8ba22daa5f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'data': array([[5.1, 3.5, 1.4, 0.2],\n",
" [4.9, 3. , 1.4, 0.2],\n",
" [4.7, 3.2, 1.3, 0.2],\n",
" [4.6, 3.1, 1.5, 0.2],\n",
" [5. , 3.6, 1.4, 0.2],\n",
" [5.4, 3.9, 1.7, 0.4],\n",
" [4.6, 3.4, 1.4, 0.3],\n",
" [5. , 3.4, 1.5, 0.2],\n",
" [4.4, 2.9, 1.4, 0.2],\n",
" [4.9, 3.1, 1.5, 0.1],\n",
" [5.4, 3.7, 1.5, 0.2],\n",
" [4.8, 3.4, 1.6, 0.2],\n",
" [4.8, 3. , 1.4, 0.1],\n",
" [4.3, 3. , 1.1, 0.1],\n",
" [5.8, 4. , 1.2, 0.2],\n",
" [5.7, 4.4, 1.5, 0.4],\n",
" [5.4, 3.9, 1.3, 0.4],\n",
" [5.1, 3.5, 1.4, 0.3],\n",
" [5.7, 3.8, 1.7, 0.3],\n",
" [5.1, 3.8, 1.5, 0.3],\n",
" [5.4, 3.4, 1.7, 0.2],\n",
" [5.1, 3.7, 1.5, 0.4],\n",
" [4.6, 3.6, 1. , 0.2],\n",
" [5.1, 3.3, 1.7, 0.5],\n",
" [4.8, 3.4, 1.9, 0.2],\n",
" [5. , 3. , 1.6, 0.2],\n",
" [5. , 3.4, 1.6, 0.4],\n",
" [5.2, 3.5, 1.5, 0.2],\n",
" [5.2, 3.4, 1.4, 0.2],\n",
" [4.7, 3.2, 1.6, 0.2],\n",
" [4.8, 3.1, 1.6, 0.2],\n",
" [5.4, 3.4, 1.5, 0.4],\n",
" [5.2, 4.1, 1.5, 0.1],\n",
" [5.5, 4.2, 1.4, 0.2],\n",
" [4.9, 3.1, 1.5, 0.2],\n",
" [5. , 3.2, 1.2, 0.2],\n",
" [5.5, 3.5, 1.3, 0.2],\n",
" [4.9, 3.6, 1.4, 0.1],\n",
" [4.4, 3. , 1.3, 0.2],\n",
" [5.1, 3.4, 1.5, 0.2],\n",
" [5. , 3.5, 1.3, 0.3],\n",
" [4.5, 2.3, 1.3, 0.3],\n",
" [4.4, 3.2, 1.3, 0.2],\n",
" [5. , 3.5, 1.6, 0.6],\n",
" [5.1, 3.8, 1.9, 0.4],\n",
" [4.8, 3. , 1.4, 0.3],\n",
" [5.1, 3.8, 1.6, 0.2],\n",
" [4.6, 3.2, 1.4, 0.2],\n",
" [5.3, 3.7, 1.5, 0.2],\n",
" [5. , 3.3, 1.4, 0.2],\n",
" [7. , 3.2, 4.7, 1.4],\n",
" [6.4, 3.2, 4.5, 1.5],\n",
" [6.9, 3.1, 4.9, 1.5],\n",
" [5.5, 2.3, 4. , 1.3],\n",
" [6.5, 2.8, 4.6, 1.5],\n",
" [5.7, 2.8, 4.5, 1.3],\n",
" [6.3, 3.3, 4.7, 1.6],\n",
" [4.9, 2.4, 3.3, 1. ],\n",
" [6.6, 2.9, 4.6, 1.3],\n",
" [5.2, 2.7, 3.9, 1.4],\n",
" [5. , 2. , 3.5, 1. ],\n",
" [5.9, 3. , 4.2, 1.5],\n",
" [6. , 2.2, 4. , 1. ],\n",
" [6.1, 2.9, 4.7, 1.4],\n",
" [5.6, 2.9, 3.6, 1.3],\n",
" [6.7, 3.1, 4.4, 1.4],\n",
" [5.6, 3. , 4.5, 1.5],\n",
" [5.8, 2.7, 4.1, 1. ],\n",
" [6.2, 2.2, 4.5, 1.5],\n",
" [5.6, 2.5, 3.9, 1.1],\n",
" [5.9, 3.2, 4.8, 1.8],\n",
" [6.1, 2.8, 4. , 1.3],\n",
" [6.3, 2.5, 4.9, 1.5],\n",
" [6.1, 2.8, 4.7, 1.2],\n",
" [6.4, 2.9, 4.3, 1.3],\n",
" [6.6, 3. , 4.4, 1.4],\n",
" [6.8, 2.8, 4.8, 1.4],\n",
" [6.7, 3. , 5. , 1.7],\n",
" [6. , 2.9, 4.5, 1.5],\n",
" [5.7, 2.6, 3.5, 1. ],\n",
" [5.5, 2.4, 3.8, 1.1],\n",
" [5.5, 2.4, 3.7, 1. ],\n",
" [5.8, 2.7, 3.9, 1.2],\n",
" [6. , 2.7, 5.1, 1.6],\n",
" [5.4, 3. , 4.5, 1.5],\n",
" [6. , 3.4, 4.5, 1.6],\n",
" [6.7, 3.1, 4.7, 1.5],\n",
" [6.3, 2.3, 4.4, 1.3],\n",
" [5.6, 3. , 4.1, 1.3],\n",
" [5.5, 2.5, 4. , 1.3],\n",
" [5.5, 2.6, 4.4, 1.2],\n",
" [6.1, 3. , 4.6, 1.4],\n",
" [5.8, 2.6, 4. , 1.2],\n",
" [5. , 2.3, 3.3, 1. ],\n",
" [5.6, 2.7, 4.2, 1.3],\n",
" [5.7, 3. , 4.2, 1.2],\n",
" [5.7, 2.9, 4.2, 1.3],\n",
" [6.2, 2.9, 4.3, 1.3],\n",
" [5.1, 2.5, 3. , 1.1],\n",
" [5.7, 2.8, 4.1, 1.3],\n",
" [6.3, 3.3, 6. , 2.5],\n",
" [5.8, 2.7, 5.1, 1.9],\n",
" [7.1, 3. , 5.9, 2.1],\n",
" [6.3, 2.9, 5.6, 1.8],\n",
" [6.5, 3. , 5.8, 2.2],\n",
" [7.6, 3. , 6.6, 2.1],\n",
" [4.9, 2.5, 4.5, 1.7],\n",
" [7.3, 2.9, 6.3, 1.8],\n",
" [6.7, 2.5, 5.8, 1.8],\n",
" [7.2, 3.6, 6.1, 2.5],\n",
" [6.5, 3.2, 5.1, 2. ],\n",
" [6.4, 2.7, 5.3, 1.9],\n",
" [6.8, 3. , 5.5, 2.1],\n",
" [5.7, 2.5, 5. , 2. ],\n",
" [5.8, 2.8, 5.1, 2.4],\n",
" [6.4, 3.2, 5.3, 2.3],\n",
" [6.5, 3. , 5.5, 1.8],\n",
" [7.7, 3.8, 6.7, 2.2],\n",
" [7.7, 2.6, 6.9, 2.3],\n",
" [6. , 2.2, 5. , 1.5],\n",
" [6.9, 3.2, 5.7, 2.3],\n",
" [5.6, 2.8, 4.9, 2. ],\n",
" [7.7, 2.8, 6.7, 2. ],\n",
" [6.3, 2.7, 4.9, 1.8],\n",
" [6.7, 3.3, 5.7, 2.1],\n",
" [7.2, 3.2, 6. , 1.8],\n",
" [6.2, 2.8, 4.8, 1.8],\n",
" [6.1, 3. , 4.9, 1.8],\n",
" [6.4, 2.8, 5.6, 2.1],\n",
" [7.2, 3. , 5.8, 1.6],\n",
" [7.4, 2.8, 6.1, 1.9],\n",
" [7.9, 3.8, 6.4, 2. ],\n",
" [6.4, 2.8, 5.6, 2.2],\n",
" [6.3, 2.8, 5.1, 1.5],\n",
" [6.1, 2.6, 5.6, 1.4],\n",
" [7.7, 3. , 6.1, 2.3],\n",
" [6.3, 3.4, 5.6, 2.4],\n",
" [6.4, 3.1, 5.5, 1.8],\n",
" [6. , 3. , 4.8, 1.8],\n",
" [6.9, 3.1, 5.4, 2.1],\n",
" [6.7, 3.1, 5.6, 2.4],\n",
" [6.9, 3.1, 5.1, 2.3],\n",
" [5.8, 2.7, 5.1, 1.9],\n",
" [6.8, 3.2, 5.9, 2.3],\n",
" [6.7, 3.3, 5.7, 2.5],\n",
" [6.7, 3. , 5.2, 2.3],\n",
" [6.3, 2.5, 5. , 1.9],\n",
" [6.5, 3. , 5.2, 2. ],\n",
" [6.2, 3.4, 5.4, 2.3],\n",
" [5.9, 3. , 5.1, 1.8]]),\n",
" 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]),\n",
" 'frame': None,\n",
" 'target_names': array(['setosa', 'versicolor', 'virginica'], dtype='<U10'),\n",
" 'DESCR': '.. _iris_dataset:\\n\\nIris plants dataset\\n--------------------\\n\\n**Data Set Characteristics:**\\n\\n :Number of Instances: 150 (50 in each of three classes)\\n :Number of Attributes: 4 numeric, predictive attributes and the class\\n :Attribute Information:\\n - sepal length in cm\\n - sepal width in cm\\n - petal length in cm\\n - petal width in cm\\n - class:\\n - Iris-Setosa\\n - Iris-Versicolour\\n - Iris-Virginica\\n \\n :Summary Statistics:\\n\\n ============== ==== ==== ======= ===== ====================\\n Min Max Mean SD Class Correlation\\n ============== ==== ==== ======= ===== ====================\\n sepal length: 4.3 7.9 5.84 0.83 0.7826\\n sepal width: 2.0 4.4 3.05 0.43 -0.4194\\n petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\\n petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\\n ============== ==== ==== ======= ===== ====================\\n\\n :Missing Attribute Values: None\\n :Class Distribution: 33.3% for each of 3 classes.\\n :Creator: R.A. Fisher\\n :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\\n :Date: July, 1988\\n\\nThe famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\\nfrom Fisher\\'s paper. Note that it\\'s the same as in R, but not as in the UCI\\nMachine Learning Repository, which has two wrong data points.\\n\\nThis is perhaps the best known database to be found in the\\npattern recognition literature. Fisher\\'s paper is a classic in the field and\\nis referenced frequently to this day. (See Duda & Hart, for example.) The\\ndata set contains 3 classes of 50 instances each, where each class refers to a\\ntype of iris plant. One class is linearly separable from the other 2; the\\nlatter are NOT linearly separable from each other.\\n\\n.. topic:: References\\n\\n - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\\n Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\\n Mathematical Statistics\" (John Wiley, NY, 1950).\\n - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\\n (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\\n - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\\n Structure and Classification Rule for Recognition in Partially Exposed\\n Environments\". IEEE Transactions on Pattern Analysis and Machine\\n Intelligence, Vol. PAMI-2, No. 1, 67-71.\\n - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\\n on Information Theory, May 1972, 431-433.\\n - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\\n conceptual clustering system finds 3 classes in the data.\\n - Many, many more ...',\n",
" 'feature_names': ['sepal length (cm)',\n",
" 'sepal width (cm)',\n",
" 'petal length (cm)',\n",
" 'petal width (cm)'],\n",
" 'filename': 'iris.csv',\n",
" 'data_module': 'sklearn.datasets.data'}"
]
},
"execution_count": 2,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b8d7e32c-5ed5-411e-b411-e4304f47c087",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
".. _iris_dataset:\n",
"\n",
"Iris plants dataset\n",
"--------------------\n",
"\n",
"**Data Set Characteristics:**\n",
"\n",
" :Number of Instances: 150 (50 in each of three classes)\n",
" :Number of Attributes: 4 numeric, predictive attributes and the class\n",
" :Attribute Information:\n",
" - sepal length in cm\n",
" - sepal width in cm\n",
" - petal length in cm\n",
" - petal width in cm\n",
" - class:\n",
" - Iris-Setosa\n",
" - Iris-Versicolour\n",
" - Iris-Virginica\n",
" \n",
" :Summary Statistics:\n",
"\n",
" ============== ==== ==== ======= ===== ====================\n",
" Min Max Mean SD Class Correlation\n",
" ============== ==== ==== ======= ===== ====================\n",
" sepal length: 4.3 7.9 5.84 0.83 0.7826\n",
" sepal width: 2.0 4.4 3.05 0.43 -0.4194\n",
" petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\n",
" petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\n",
" ============== ==== ==== ======= ===== ====================\n",
"\n",
" :Missing Attribute Values: None\n",
" :Class Distribution: 33.3% for each of 3 classes.\n",
" :Creator: R.A. Fisher\n",
" :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n",
" :Date: July, 1988\n",
"\n",
"The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n",
"from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n",
"Machine Learning Repository, which has two wrong data points.\n",
"\n",
"This is perhaps the best known database to be found in the\n",
"pattern recognition literature. Fisher's paper is a classic in the field and\n",
"is referenced frequently to this day. (See Duda & Hart, for example.) The\n",
"data set contains 3 classes of 50 instances each, where each class refers to a\n",
"type of iris plant. One class is linearly separable from the other 2; the\n",
"latter are NOT linearly separable from each other.\n",
"\n",
".. topic:: References\n",
"\n",
" - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n",
" Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n",
" Mathematical Statistics\" (John Wiley, NY, 1950).\n",
" - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n",
" (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\n",
" - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n",
" Structure and Classification Rule for Recognition in Partially Exposed\n",
" Environments\". IEEE Transactions on Pattern Analysis and Machine\n",
" Intelligence, Vol. PAMI-2, No. 1, 67-71.\n",
" - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\n",
" on Information Theory, May 1972, 431-433.\n",
" - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\n",
" conceptual clustering system finds 3 classes in the data.\n",
" - Many, many more ...\n"
]
}
],
"source": [
"print(iris.DESCR)"
]
},
{
"cell_type": "code",
"execution_count": 4,
2 years ago
"id": "1a602ea1-efee-4b93-aa9d-1bff49564e2f",
"metadata": {},
"outputs": [],
2 years ago
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 5,
2 years ago
"id": "29679ab5",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0xffff6fa07580>]"
2 years ago
]
},
"execution_count": 5,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lp=iris.data[:,0:1]\n",
"wp=iris.data[:,1:2]\n",
"plt.plot(lp,wp,'.k')"
]
},
{
"cell_type": "code",
"execution_count": 6,
2 years ago
"id": "2874984a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0xffff6d90d610>]"
2 years ago
]
},
"execution_count": 6,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0e0lEQVR4nO3de3hU9Z3H8c8kgYCWBEohAZKMrEnlTkGQa9ca6WYta7Xt4wVRqFy80QehrSLdVVAejdbVUt0uSBPBLlpXt4LrvYCRykNELtKKtBgegWSAwLNKEvAS2MzZP1jHDGSSc5I5c27v1/PM85CTc/l+f+dM5suZ33wnZBiGIQAAAIekOR0AAAAINooRAADgKIoRAADgKIoRAADgKIoRAADgKIoRAADgKIoRAADgKIoRAADgqAynAzAjGo3q0KFD6tatm0KhkNPhAAAAEwzD0PHjx9W3b1+lpSW+/+GJYuTQoUPKz893OgwAANAONTU1ysvLS/h7TxQj3bp1k3Q6maysLIejAQAAZjQ0NCg/Pz/2Op6IJ4qRL9+aycrKohgBAMBj2ppiYWkCa1NTk+6++271799fXbt21fnnn68lS5aore/ae+uttzRy5EhlZmaqsLBQq1atsnJYAADgY5bujDz00ENatmyZnnrqKQ0ePFjbtm3TjTfeqOzsbM2dO7fFbfbt26fJkyfrlltu0dNPP60NGzZo1qxZ6tOnj0pKSpKSBAAA8K6Q0dZtjWb+6Z/+STk5OSovL48t+9GPfqSuXbtq9erVLW6zYMECvfLKK9q1a1ds2bXXXqu6ujq9/vrrpo7b0NCg7Oxs1dfX8zYNAAAeYfb129LbNOPHj9eGDRv04YcfSpL+/Oc/a9OmTbrssssSblNZWalJkybFLSspKVFlZWXCbRobG9XQ0BD3AAAA/mTpbZq77rpLDQ0NGjBggNLT09XU1KT7779fU6dOTbhNbW2tcnJy4pbl5OSooaFBn3/+ubp27XrWNqWlpbr33nuthAYAADzK0p2R5557Tk8//bSeeeYZ7dixQ0899ZT+9V//VU899VRSg1q4cKHq6+tjj5qamqTuHwAAuIelOyN33HGH7rrrLl177bWSpKFDh+rAgQMqLS3V9OnTW9wmNzdXR44ciVt25MgRZWVltXhXRJIyMzOVmZlpJTQAAOBRlu6MfPbZZ2e1c01PT1c0Gk24zbhx47Rhw4a4ZevWrdO4ceOsHBoAAPiUpWLk8ssv1/33369XXnlF+/fv15o1a/Too4/qBz/4QWydhQsXatq0abGfb7nlFn300Ue688479be//U3//u//rueee07z589PXhYAAMCzLL1N8/jjj+vuu+/WbbfdpqNHj6pv3766+eabdc8998TWOXz4sKqrq2M/9+/fX6+88ormz5+vX//618rLy1NZWRk9RgAAgCSLfUacQp8RAIDTIpGIqqqqVFRU1OqXvuErtvQZAQAgiMrLyxUOh1VcXKxwOBzX/BMdx50RAABaEYlEFA6H4z6skZ6erv3793OHpA3cGQEAIAmqqqrO+tRoU1OT9u7d61BE/kMxAgBAK4qKilpsa1FYWOhQRP5DMQIAQCvy8vK0YsUKpaenSzpdiDzxxBO8RZNEzBkBAMCESCSivXv3qrCwkELEJLOv35b6jAAAEFR5eXkUITbhbRoAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAoihEAAOAovpsGAOCYSCSiqqoqFRUVSVLs32a+A6b5tm78zhi3x+cm3BkBADiivLxc4XBYxcXFKigoUEFBgYqLixUOh1VeXm56WzPrp5rb43ObkGEYhtNBtMXsVxADALwhEokoHA4rGo22+Pv09HTt37+/xTsKLW3b2vqp5vb4Usns6zd3RgAAKVdVVZWwEJGkpqYm7d271/S2ra2fam6Pz40oRgAAKVdUVKS0tMQvQenp6SosLDS9bWvrp5rb43MjihEAQMrl5eVpxYoVSk9PlySFQqHYC3h6erqeeOKJhG9pnLltW+unmtvjcyPmjAAAHBOJRLR3797YXYMv/2320zRW1k81t8eXCmZfvylGAACALZjACgAAPIFiBAACJBKJqKKiQpFIxOlQgBiKEQAICBpxwa2YMwIAAUAjLjiBOSMAgBgaccHNKEYAIABoxAU3oxgBgACgERfcjDkjABAgNOJCKpl9/c5IYUwAAIfl5eVRhMB1eJsGAAA4ylIxct555ykUCp31mDNnTovrr1q16qx1u3TpkpTAAQCAP1h6m2br1q1qamqK/bxr1y5997vf1VVXXZVwm6ysLO3Zsyf2cygUakeYAADArywVI7169Yr7+cEHH9T555+viy++OOE2oVBIubm57YsOAAD4XrvnjJw8eVKrV6/WjBkzWr3bceLECYXDYeXn5+uKK67QBx980Oa+Gxsb1dDQEPcAAAD+1O5iZO3ataqrq9OPf/zjhOtccMEFevLJJ/Xiiy9q9erVikajGj9+fJtf0FRaWqrs7OzYIz8/v71hAgAAl2t3n5GSkhJ17txZL730kultTp06pYEDB2rKlClasmRJwvUaGxvV2NgY+7mhoUH5+fn0GQEAwENs7TNy4MABrV+/Xi+88IKl7Tp16qQRI0a0+V0ImZmZyszMbE9oAADAY9r1Ns3KlSvVu3dvTZ482dJ2TU1Nev/999WnT5/2HBYAAPiQ5WIkGo1q5cqVmj59ujIy4m+sTJs2TQsXLoz9fN999+mPf/yjPvroI+3YsUPXX3+9Dhw4oFmzZnU8cgAA4AuW36ZZv369qqurNWPGjLN+V11dHfetkMeOHdPs2bNVW1urHj166MILL9TmzZs1aNCgjkUNAAB8gy/KAwAggUgkoqqqKhUVFfGdPu1g9vWb76YBAKAF5eXlCofDKi4uVjgcVnl5udMh+RZ3RgAAOEMkElE4HFY0Go0tS09P1/79+7lDYgF3RgAAaKeqqqq4QkQ6/YnQtlpToH0oRgAAOENRUVHcBzKk03dGCgsLHYrI3yhGAAA4Q15enlasWKH09HRJpwuRJ554grdobMKcEQAAEohEItq7d68KCwspRNrB1nbwAAAEQV5eHkVICvA2DQAAcBTFCABAkUhEFRUVikQiToeCAKIYAYCAo7kXnMYEVgAIMJp7wU40PQMAtInmXnADihEACDCae8ENKEYAIMBo7gU3YM4IAIDmXrAFTc8AAKbR3AtO4m0aAADgKIoRAADgKIoRAEBCfujMajUHP+TsNRQjAIAW+aEzq9Uc/JCzF/FpGgDAWfzQmdVqDn7I2W3owAoAaDc/dGa1moMfcvYqihEAwFn80JnVag5+yNmrKEYAAGfxQ2dWqzn4IWevYs4IACAhP3RmtZqDH3J2C7Ov3xQjAADAFkxgBQAAnkAxAgA+QbMueBXFCAD4AM264GXMGQEAj6NZF9yKOSMAEBA064LXUYwAgMfRrAteRzECAB5Hsy54HXNGAMAnaNYFtzH7+p2RwpgAADbKy8ujCIEnWXqb5rzzzlMoFDrrMWfOnITbPP/88xowYIC6dOmioUOH6tVXX+1w0AAAwD8sFSNbt27V4cOHY49169ZJkq666qoW19+8ebOmTJmimTNn6r333tOVV16pK6+8Urt27ep45IDL0YAKAMzp0JyRefPm6eWXX1ZVVZVCodBZv7/mmmv06aef6uWXX44tGzt2rL71rW9p+fLlpo/DnBF4TXl5uW666SZFo1GlpaVpxYoVmjlzptNhAUBK2d5n5OTJk1q9erVmzJjRYiEiSZWVlZo0aVLcspKSElVWVra678bGRjU0NMQ9AK+IRCKxQkSSotGobr75Zu6QAEAC7S5G1q5dq7q6Ov34xz9OuE5tba1ycnLiluXk5Ki2trbVfZeWlio7Ozv2yM/Pb2+YQMrRgAoArGl3MVJeXq7LLrtMffv2TWY8kqSFCxeqvr4+9qipqUn6MQC70IAKAKxpVzFy4MABrV+/XrNmzWp1vdzcXB05ciRu2ZEjR5Sbm9vqdpmZmcrKyop7AF5BAyoAsKZdxcjKlSv
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(lp,'.k')"
]
},
{
"cell_type": "code",
"execution_count": 7,
2 years ago
"id": "68274907",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
]
},
"execution_count": 7,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris.target"
]
},
{
"cell_type": "markdown",
"id": "6120b70a",
"metadata": {},
"source": [
"# Logistic regressor\n",
"## Decision boudaries"
]
},
{
"cell_type": "code",
"execution_count": 8,
2 years ago
"id": "a75ea97f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0xffff6d81fd30>]"
2 years ago
]
},
"execution_count": 8,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"t=np.linspace(-100, 100, 1000)\n",
"sig=1/(1+np.exp(-t+3))\n",
"plt.plot(t,sig, '.b', label=r\"$\\sigma=\\frac{1}{1+e^{-t}}$\")\n",
"plt.legend(loc='upper left', fontsize=20)\n",
"plt.axis([-5, 5, -0.1, 1])\n",
"plt.plot([0,0], [0,1], 'r--')"
]
},
{
"cell_type": "markdown",
"id": "2be6077b",
"metadata": {},
"source": [
"# Iris-Setosa Classifier based on petal width"
]
},
{
"cell_type": "code",
"execution_count": 9,
2 years ago
"id": "f59aa9ba",
"metadata": {},
"outputs": [],
"source": [
"X=iris.data[:,1:2]\n",
"y=(iris.target==0).astype(int)"
]
},
{
"cell_type": "code",
"execution_count": 10,
2 years ago
"id": "25839b5d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\
],
"text/plain": [
"LogisticRegression(random_state=42)"
]
},
"execution_count": 10,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"mylr=LogisticRegression(solver='lbfgs', random_state=42)\n",
"mylr.fit(X,y)"
]
},
{
"cell_type": "code",
"execution_count": 11,
2 years ago
"id": "4539a843",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0xffff6ccfc7f0>]"
2 years ago
]
},
"execution_count": 11,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Xnew=np.linspace(2,5,70).reshape(-1,1)\n",
"yPred=mylr.predict_proba(Xnew)\n",
"plt.plot(Xnew,yPred[:,0],'.r', label='No Iris-Set')\n",
"plt.plot(Xnew,yPred[:,1],'.b', label='Iris-Set')\n",
"plt.legend()\n",
"plt.plot(X,y,'*g')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7474195c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 12,
2 years ago
"id": "0196eda3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0xffff6cc07130>]"
2 years ago
]
},
"execution_count": 12,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Iris-Setosa Classifier based on petal width\n",
"\n",
"X=iris.data[:,0:1]\n",
"y=(iris.target==0).astype(int)\n",
"\n",
"from sklearn.linear_model import LogisticRegression\n",
"mylr=LogisticRegression(solver='lbfgs', random_state=42)\n",
"mylr.fit(X,y)\n",
"\n",
"Xnew=np.linspace(2,8,70).reshape(-1,1)\n",
"yPred=mylr.predict_proba(Xnew)\n",
"#plt.plot(Xnew,yPred[:,0],'.r', label='No Iris-Set')\n",
"plt.plot(Xnew,yPred[:,1],'.b', label='Iris-Set')\n",
"plt.legend()\n",
"plt.plot(X,y,'*g')"
]
},
{
"cell_type": "markdown",
"id": "4d56c901",
"metadata": {},
"source": [
"# Session 2: Softmax regression\n",
"\n",
"## Multiple features binary classifier (Virginica)"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 13,
2 years ago
"id": "00ba053b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"pl=iris.data[:,2:3]\n",
"pw=iris.data[:,3:]\n",
"tg = iris.target\n",
"plt.plot(pl[tg==0,0],pw[tg==0,0],'.r',label='Set')\n",
"plt.plot(pl[tg==1,0],pw[tg==1,0],'.b',label='Ver')\n",
"plt.plot(pl[tg==2,0],pw[tg==2,0],'.g',label='Vir')\n",
"plt.legend()\n",
"plt.show()"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 14,
2 years ago
"id": "b3849a04",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>#sk-container-id-2 {color: black;background-color: white;}#sk-container-id-2 pre{padding: 0;}#sk-container-id-2 div.sk-toggleable {background-color: white;}#sk-container-id-2 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-2 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-2 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-2 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-2 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-2 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-2 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-2 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-2 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-2 div.sk-item {position: relative;z-index: 1;}#sk-container-id-2 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-2 div.sk-item::before, #sk-container-id-2 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-2 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-2 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-2 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-2 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-2 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-2 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-2 div.sk-label-container {text-align: center;}#sk-container-id-2 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-2 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-2\" class=\"sk-top-container\
2 years ago
],
"text/plain": [
"LogisticRegression(C=10, random_state=42, solver='newton-cg', tol=1e-05)"
2 years ago
]
},
"execution_count": 14,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"X=iris.data[:,2:]\n",
"y=(iris.target==2).astype(int)\n",
"\n",
"lrvir=LogisticRegression(random_state=42, tol=1e-5, C=10, max_iter=100, solver='newton-cg')\n",
"lrvir.fit(X,y)"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 15,
2 years ago
"id": "3fa13847",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"x0, x1=np.meshgrid(\n",
" np.linspace(1,6.9,500).reshape(-1,1),\n",
" np.linspace(0.1,2.5,200).reshape(-1,1))\n",
"Xnew=np.c_[x0.ravel(), x1.ravel()]\n",
"yProb=lrvir.predict_proba(Xnew)"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 16,
2 years ago
"id": "f34d82b2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAF4CAYAAABjHKkYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3RU1RbA4d+09N4TEgiEEHoJvaOAdAERlQ6Cio9mQZEqvUkREQVFiBRFkCK99xYCoZfQAklIIb0n0+77IwZBksAMYQh4vrWy3mPmnjL3Rph9977nyCRJkhAEQRAEQRAEQRAKJX/RExAEQRAEQRAEQSjpROAkCIIgCIIgCILwBCJwEgRBEARBEARBeAIROAmCIAiCIAiCIDyBCJwEQRAEQRAEQRCeQAROgiAIgiAIgiAITyACJ0EQBEEQBEEQhCcQgZMgCIIgCIIgCMITiMBJEARBEARBEAThCUTgJAiCIAiCIAiC8AQvNHCaMWMGdevWxdbWFjc3N7p06UJYWFiRbYKCgpDJZI/8WFhYmGjGgiAIgiAIgiD8F73QwOnQoUMMGTKEkydPsmfPHjQaDW+88QaZmZlFtrOzsyMmJubBz927d000Y0EQBEEQBEEQ/ouUL3LwnTt3PvLnoKAg3NzcOHPmDM2aNSu0nUwmw8PD43lPTxAEQRAEQRAEAXjBgdO/paamAuDk5FTkcRkZGZQpUwa9Xk9gYCDTp0+nSpUqBR6bm5tLbm7ugz/r9XqSkpJwdnZGJpMV3+QFQRAEQRAEQXipSJJEeno6Xl5eyOVFF+PJJEmSTDSvIun1et58801SUlI4evRoocedOHGCGzduUL16dVJTU5kzZw6HDx/m8uXLeHt7P3b8xIkTmTRp0vOcuiAIgiAIgiAIL7HIyMgCY4mHlZjA6eOPP2bHjh0cPXr0iZN+mEajoVKlSvTo0YMpU6Y89v6/M06pqamULl2ayMhI7OzsimXugiAIJYkkSezeHMrS7/ai1ehwcbNj5KQuBFR5+r9bn9btqEQm/7STiJhk5HIZAzrXp0fb2sjlhmf0kzKz+HrrPo7fjgCgQ5UKjGrTHGtzM4P6Sc7JZszJnRyJCc/rp0wlJtRtibXKsH4edj75Ot/d+J1UTSaWCjM+Lv82jVxqGt2fofSSlvNJy7ma8gcATmYVaOwxHluVp8nmIAjPiyRJvP7r65yLPYde0j94XS6TU9OjJvv77X9hVULGzK0kfx7hcWlpafj4+JCSkoK9vX2Rx5aIwGno0KH89ddfHD58mLJlyxrcvnv37iiVSn7//fcnHpuWloa9vT2pqakicBIE4ZV2KyyGqaPWEh2ZhEIhZ+Dw1rzVq2Gx/4OdlaNmdtA+dhy7CkDD6r5MHNwOB1tLg/vS6yV+OhrCdweOo5ck/Fyc+PadDvi7uRjWjySx5HIwc84eQidJlLNz4ofmXajo6GbwnPIl5KYw++qvXE67BUAHzyZ84NcVlVxldJ+Giso8ztHYyeTq01DJbWjsPpYyNs1NNr4gPA+7bu6i7eq2hb6/s9dO2pRvY8IZ/cOYuZXkzyM8zpDY4IUGTpIkMWzYMDZu3MjBgwfx9/c3uA+dTkeVKlVo37498+bNe+LxInASBOG/JDMjh2+nbubwnssANGgWwOcTu2Bnb1Ws40iSxJZDl5izYj+5Gh2ujjZMHdKBmgGljOov5E4Un/25nfiMTCyUSiZ0eJ23ahX8LGuR/cRFMuzIZmKz0rFQKJlcrzXv+Ncwak4AOknHqjvbWRu5BwA/G2++qjQAL0tXo/s0VKYmjkOx44nPuQRAJYd3qO0yBIXMdAGcIBQXSZKov7Q+Z6LPoEf/2Pty5NT2qk3woGCTZ2mMmVtJ/jxCwQyJDV7ocuRDhgxh1apV/Pbbb9ja2hIbG0tsbCzZ2dkPjunbty+jR49+8OfJkyeze/dubt++TWhoKL179+bu3bsMGjToRXwEQRCEEs3axoIxM7ozdFQHVCoFJw+HMbTXEq5diirWcWQyGW+2qMayST0p4+lIfHIG/5u+lpVbQ9DrDb8/V9fXm02De9PYrww5Wi1j/trNVxt3kaXWGNaPuw/bOg6gmVdZcnRavjyxg8+ObiVLozZ4TgAKmYJ+ZTsxqepg7JTW3MqIYkToNxyNP2tUf8awVrnT1vsHqjj0BOBqylp2Rn5MhibGZHMQhOKi1qmJSI0oMMgA0KMnMi0Stc64/2afhTFzK8mfR3h2LzTjVFikvXz5cvr37w9AixYt8PX1JSgoCIBPP/2UDRs2EBsbi6OjI7Vr12bq1KnUqlXrqcYUGSdBEP6rbl7LK92LiUpCqVQwaERruvRoUOx3PTOz1cxavpddJ64B0LhmWb7+sC32RpbuLTlyioUHT6CXJPxdnfn2nQ74uTob1o8k8eOlE8w9dwS9JFHe3pkfmnehgoPxmaKE3GRmXf2VK2m3Aejo1YxB5TqbtHQvIuMIx+KmotanYya3pbH7WErbFL6dhyCURJGpkcRnxRf6vpu1G952xf+M5tMwZm4l+fMIj3tpSvVehKc5OZIkodVq0el0Jp6dYAyVSoVCoXjR0xCEl0Jmeg7zpvzF0X1XAGj8eiU+m9AZGyOCmqJIksSmAxeZt+oAao0Od2dbpg3pQDV/L6P6Cw6PZOT67cRnZGGpUjKxY0s616hscD8nYyMYfmQz97MzsFAomVL/DbqXr27UnCCvdG/FnW38GbkXgPI2PnxVaQCeloY9k/UsMjQxHIqdQEJOXjlmZYce1Hb5GLmsRO04IgiCUCKJwKkITzo5arWamJgYsrKyXsDsBGPIZDK8vb2xsbF50VMRhJeCJEls/iOYn+bvRqvV4VHKkbEzu1OhsnHPIxXl+t14xny/hcjYFBQKOUPeaULPdrWNynIlZGTyxfodnAiPBODtWlUZ264FlmaGZXgSsjP59OgWjsTcyevHrxpT6r+BpdL4TFFI0mXmXltJujYLa4UlnwT0pJGL8c9SGUonaQhN+IErf6+652pRhWYeU7BRic3iBUEQiiICpyIUdXL0ej03btxAoVDg6uqKmZmZeHCvhJMkifj4eLKysvD39xeZJ0EwwPUr95g6ai1x0SkolQo+/PQN3ny3/nMp3Zv+yx72BocB0LRWOcZ/2AZ7G8OzXDq9nh8PB7Po4EkkwN/NmQXdO1LOteiN0/9NL0ksunic+eePopckKji48EOzLpR3MD5TdD8niVnXgriWdgeAzqWaM6BsZ1Ry02V+IjIOcTRuGhp9BmZyW5q4T8DHprHJxhcEQXjZiMCpCEWdnJycHMLDwylTpgxWVsW74pTw/GRnZ3Pnzh3Kli2LhYXFi56OILxUMtKzmTf5L47tz1tKvGnLynw6vjPWtsX735IkSWzcf4H5qw+i1ujwcLZl2tCOVC1v3D5EJ29HMHL9DhIys7BSqZjUqSWdqlcyuJ8TsXcZfmQz8dmZWCpVTKvfhrf8qho1JwCtXsevd7awIWo/ABVsS/NVpQG4Wxj2TNazSNdEcyhmHIm5ec+YVXHoSaDLYFG6Z0J7b+9l+I7hfNfuO1qVa/Wip/PCzD42m/EHxjPltSl82fjLFz0dQSiQCJyK8DSBk/gC/nIR100Qno0kSfy1Jpifv80r3fP0dmLszO74VzLueaSihN25z5jvtxIVl1e6N+zdprzXNtCoLFd8eiYj1+8g+E5e6V73wKqMbfcaFirDAoT72Rl8emQLx2LvAvBu+epMqtcai2co3QtOvMi8sNVkaLOwVlryaYVeNHQx/lkqQ+n0as4k/sDVlLUAuFpUo7nHZKxV7iabw39V/nLUIdEh1PWq+59ddlqv12M705YsTRZWKivSv0pHLn+hizkLQoFemuXIBUEQhBdPJpPRpUcD5v7yPu6eDsREJfHpgKVsWXeK4r63FuDrxq9TevF6XX90Oj3f/naIUQs2k5aZY3BfrrbWLOv7Fv9rVh8ZsC70Eu8u/Z3bCUkG9eNmacOKVu/ySY0myIA/bl6gy/YV3ExNNHhO+eo7V2Nh4JcE2JYhU5vN1CtLWXprI1q9aRYdUsjNqOf6CS08p6OS2xCfc5EtEf2JyjxukvH
2 years ago
"text/plain": [
"<Figure size 1000x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4))\n",
"plt.plot(X[y==0,0], X[y==0,1],'bs',label='No Virg')\n",
"plt.plot(X[y==1,0], X[y==1,1],'g^',label='Virginica')\n",
"zz=yProb[:,1].reshape(x0.shape)\n",
"contour=plt.contour(x0,x1,zz)\n",
"plt.clabel(contour, inline=1,fontsize=15)\n",
"plt.xlabel(\"Petal Length\")\n",
"plt.ylabel(\"Petal Width\")\n",
"plt.legend()\n",
"plt.show()"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "6b548a97",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax =plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
"surf = ax.plot_surface(x0,x1,zz)"
]
},
2 years ago
{
"cell_type": "markdown",
"id": "b566781b",
"metadata": {},
"source": [
"## Multiple features and multiclass classifier (Virginica)"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 35,
2 years ago
"id": "090c8abc",
"metadata": {},
"outputs": [],
"source": [
"X=iris.data[:,2:]\n",
"y=iris.target"
]
},
{
"cell_type": "code",
"execution_count": 36,
2 years ago
"id": "aa59ee97",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<a list of 6 text.Text objects>"
2 years ago
]
},
"execution_count": 36,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 1000x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lrmfmc=LogisticRegression(multi_class='multinomial',\n",
2 years ago
" solver='lbfgs',\n",
" C=100,\n",
2 years ago
" random_state=42)\n",
"lrmfmc.fit(X,y)\n",
2 years ago
"x0,x1=np.meshgrid(\n",
" np.linspace(0,8,500).reshape(-1,1),\n",
2 years ago
" np.linspace(0,3.5,200).reshape(-1,1))\n",
"\n",
"Xnew=np.c_[x0.ravel(), x1.ravel()]\n",
"yProba=lrmfmc.predict_proba(Xnew)\n",
"#yPred=lrmfmc.predict(Xnew)\n",
2 years ago
"\n",
"from matplotlib.colors import ListedColormap\n",
"#customc=ListedColormap(['#fafab0', '#9898ff', '#a0faa0'])\n",
"zz=yProba[:,1].reshape(x0.shape)\n",
"#zz=yPred.reshape(x0.shape)\n",
2 years ago
"plt.figure(figsize=(10,4))\n",
"plt.plot(X[y==2,0], X[y==2,1],'g^',label='Virg')\n",
"plt.plot(X[y==1,0], X[y==1,1],'bs',label='Versic')\n",
"plt.plot(X[y==0,0], X[y==0,1],'yo',label='Setos')\n",
"contour=plt.contour(x0,x1,zz,cmap=plt.cm.brg)\n",
2 years ago
"plt.clabel(contour,inline=1,fontsize=12)\n",
"#plt.contourf(x0,x1,zz,cmap=customc)"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "ef386db5",
2 years ago
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"yPred=lrmfmc.predict(Xnew)\n",
"zPred=yPred.reshape(x0.shape)\n",
"plt.contourf(x0,x1,zPred,alpha=0.4)\n",
"plt.plot(X[y==2,0], X[y==2,1],'g^',label='Virg')\n",
"plt.plot(X[y==1,0], X[y==1,1],'bs',label='Versic')\n",
"plt.plot(X[y==0,0], X[y==0,1],'yo',label='Setos')\n",
"plt.show()"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "7f83d96e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax =plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
"surf = ax.plot_surface(x0,x1,zz,cmap='jet')"
]
},
2 years ago
{
"cell_type": "markdown",
"id": "a9531c07",
"metadata": {},
"source": [
"## Homework: Sepal multi-features and multi-class"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 20,
2 years ago
"id": "d99ec4da",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>#sk-container-id-3 {color: black;background-color: white;}#sk-container-id-3 pre{padding: 0;}#sk-container-id-3 div.sk-toggleable {background-color: white;}#sk-container-id-3 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-3 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-3 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-3 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-3 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-3 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-3 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-3 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-3 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-3 div.sk-item {position: relative;z-index: 1;}#sk-container-id-3 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-3 div.sk-item::before, #sk-container-id-3 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-3 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-3 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-3 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-3 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-3 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-3 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-3 div.sk-label-container {text-align: center;}#sk-container-id-3 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-3 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-3\" class=\"sk-top-container\
2 years ago
],
"text/plain": [
"LogisticRegression(C=10, multi_class='multinomial', random_state=42)"
]
},
"execution_count": 20,
2 years ago
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X=iris.data[:,0:2]\n",
"y=iris.target\n",
"mlr3=LogisticRegression(\n",
" multi_class='multinomial',\n",
" solver='lbfgs',\n",
" C=10,\n",
" random_state=42)\n",
"mlr3.fit(X,y)"
]
},
{
"cell_type": "code",
"execution_count": 30,
2 years ago
"id": "7c28a9a5",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"x0,x1=np.meshgrid(\n",
" np.linspace(0,7,500).reshape(-1,1),\n",
" np.linspace(0,3,200).reshape(-1,1))"
2 years ago
]
},
{
"cell_type": "code",
"execution_count": 31,
2 years ago
"id": "258b2dd7",
"metadata": {},
"outputs": [],
"source": [
"Xnew=np.c_[x0.ravel(), x1.ravel()]\n",
"yPred=mlr3.predict_proba(Xnew)\n",
"yProba=mlr3.predict(Xnew)\n",
"zz=yProba.reshape(x0.shape)\n",
"zz1=yPred[:,1].reshape(x0.shape)"
]
},
{
"cell_type": "code",
"execution_count": 32,
2 years ago
"id": "2d1cc5a0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0xffff6a23b700>"
2 years ago
]
},
"execution_count": 32,
2 years ago
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2 years ago
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.colors import ListedColormap\n",
"plt.plot(X[y==2,0], X[y==2,1],'y*', label='Virg')\n",
"plt.plot(X[y==1,0], X[y==1,1],'g^', label='Vers')\n",
"plt.plot(X[y==0,0], X[y==0,1],'bs', label='Set')\n",
"contour=plt.contour(x0,x1,zz1, cmap=plt.cm.brg)\n",
"ccmap=ListedColormap(['#fafab0', '#9898ff', '#a0faa0'])\n",
"plt.contourf(x0,x1,zz,cmap=ccmap)\n",
"plt.clabel(contour, inline=1,fontsize=12)\n",
"plt.xlabel('Sepal Width', fontsize=12)\n",
"plt.ylabel('Sepal Length', fontsize=12)\n",
"plt.axis([4,8.5,1,5])\n",
2 years ago
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 33,
2 years ago
"id": "37b5eb33",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax =plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
"surf = ax.plot_surface(x0,x1,zz1,cmap='jet')"
]
2 years ago
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}