{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "source": [ "#https://sandundayananda.medium.com/logistic-regression-55512384851b" ], "metadata": { "id": "1IrHi9G8SHxO" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Xdrs4uJXQg-U" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.datasets import make_blobs\n", "from sklearn.linear_model import LogisticRegression" ] }, { "cell_type": "code", "source": [ "# Set the random seed for reproducibility\n", "np.random.seed(42)" ], "metadata": { "id": "QfR1OWK8Qlqy" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Define the sigmoid function\n", "def sigmoid(x):\n", " return 1 / (1 + np.exp(-x))" ], "metadata": { "id": "xSMMERwhQp6h" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# n_samples=200: Specifies the number of samples to generate. In this case, it generates 200 samples.\n", "# centers=2: Specifies the number of clusters to generate. Setting it to 2 creates two clusters, each with its own concentration of points.\n", "# random_state=42: Sets the random seed for reproducibility. It ensures that the generated dataset will be the same every time you run the code with the same seed.\n", "# The function returns two arrays:\n", "\n", "# X: An array of shape (n_samples, n_features) containing the generated samples. Each sample has n_features dimensions.\n", "# y: An array of shape (n_samples,) containing the integer labels for each sample, indicating which cluster it belongs to (0 or 1 in this case, corresponding to the two centers)." ], "metadata": { "id": "PkOH1nwYYTSs" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Generate a dataset with two concentrations\n", "X, y = make_blobs(n_samples=200, centers=2, random_state=42)" ], "metadata": { "id": "Zf4796JrQ0pa" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "y" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "0DCSYv-BVDrW", "outputId": "dae6b732-9dac-4df6-f64c-1d39e30dab06" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n", " 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1,\n", " 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0,\n", " 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1,\n", " 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0,\n", " 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1,\n", " 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1,\n", " 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0,\n", " 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0,\n", " 1, 0])" ] }, "metadata": {}, "execution_count": 42 } ] }, { "cell_type": "code", "source": [ "# Plot the dataset\n", "plt.figure(figsize=(12, 4))\n", "plt.subplot(142)\n", "plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis')\n", "plt.xlabel('X')\n", "plt.ylabel('Y')\n", "plt.title('Dataset with Two Concentrations')\n", "plt.colorbar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 427 }, "id": "IJ5xSCxsQ1-O", "outputId": "c0552d4d-f7ee-45fb-dfa2-113a72366a6f" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 51 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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RkdHyxYtWphfX6zRS/jss88kIH/44Qdz2euvv25hPVyMtTaSkpLkVVddZX795Zdflinbjz/+KAH56aefWpSvWLGiVPl1111n10q6mCVLllhYEkuXLpXBwcHyzjvvlP369TPXa9q0qYVlcqnFZK/fkrqJiYlS13Vz+ciRI6XBYJDnz593SFYpS1tMrsrfu3dvGRQUJP/55x9z2bFjx2RkZKS86aab7MrQp08fCchz5845JHPz5s1lXFycPHPmjLlsx44dUtM0OXDgQHNZicX00EMPleqvevXq5td79+6VmqbJPn36SKPRaFG35PPNzMyUVapUKWXVpaWlyejoaIvyEmtl0qRJFnVbtGghW7VqZX596tQpq5bLxW2MGTOm1Dlrz0BKSooUQsiDBw+ay4YNGyZtPdaX9uvo9+fovefIM+gobg8XiIiIsJidu9jXlJeXx+nTp7nxxhsB2LZtm0NtXtxGeno6p0+fpnPnzuzfv5/09HQAqlSpAsC3335LYWGh1XaWLFlCdHQ0Xbt25fTp0+ajVatWREREsG7dOqfeawmdOnUC4IcffgBMlkWbNm3o2rUrP/74IwDnz59n586d5rqu8uijj5od5SV9G41GDh486HKbrshvNBpZtWoVvXv35qqrrjK3VbNmTe6//35++uknMjIybPZZci4yMrJM+Y4fP8727dsZPHgw1apVM5c3bdqUrl27snz58lLXPP7446Xe45kzZ8z9fvXVV+i6zrhx49A0y8eg5PNdvXo158+fp3///hb3i8FgoG3btlbvF2v97t+/v8z3eDFDhw4tVXbxM5Cdnc3p06dp3749Ukp+++03p9oH176/su49R55BR3G7YsrKyrK42c6ePctTTz1FfHw8oaGhxMbGUq9ePQCzUimLn3/+mcTERMLDw6lSpQqxsbG88MILFm107tyZu+66i4kTJxITE0OvXr2YN28e+fn55nb27t1Leno6cXFxxMbGWhxZWVmcPHnSpfccHx9PgwYNzA/xjz/+SKdOnbjppps4duwY+/fv5+eff0bX9XIrpiuuuMLiddWqVQE4d+6cy226Iv+pU6fIycnh2muvLdVeo0aN0HWdw4cP2+wzKioKwKEQk5Ib31Zfp0+fJjs726K8rM/pn3/+QdM0GjdubLPfvXv3AnDLLbeUul9WrVpV6n4JCQkxux8u7teZ7yYgIIA6deqUKj906JBZMUdERBAbG0vnzp0Bx5+ji3Hl+yvrM3XkGXQUt/qYjhw5Qnp6OldffbW57N5772XDhg0899xzNG/enIiICHRd57bbbkPX9TLb/Oeff7j11ltp2LAh06ZNIyEhgaCgIJYvX85bb71lbkMIweeff84vv/zCN998w8qVK3nooYd48803+eWXX8z9xsXF8emnn1rt69Kbyhk6duxIamoqubm5bN26lXHjxtGkSROqVKnCjz/+yN9//01ERAQtWrRwuQ/A5iyeLGeGZE/JX0LDhg0B+OOPP8qtrK3hjs+p5N765JNPqFGjRqnzl067u2OGNTg4uJQFZzQa6dq1K2fPnmX06NE0bNiQ8PBwjh49yuDBgx16jtxBWZ+pI8+go7hVMZU43JKSkgCTJk1NTWXixImMGzfOXK/kl+hiLjYRL+abb74hPz+fpUuXWmhsW8OuG2+8kRtvvJFXXnmFhQsXMmDAABYtWsQjjzxC/fr1WbNmDR06dCgznMGWPLbo1KkT8+bNY9GiRRiNRtq3b4+maXTs2NH8YLdv377Mm9fZft2Fs/LHxsYSFhbG7t27S7W1a9cuNE0jISHBZn89e/YkJSWF//73v2UqpiuvvBLAZl8xMTFOT6nXr18fXdf566+/aN68uc06AHFxcSQmJjrVvi1c+X7/+OMP9uzZw4IFCxg4cKC5fPXq1S63X97vzx72nkFHcdtQbu3atUyePJl69eoxYMAA4IKGvfRXavr06aWuL7mxLo38ttZGeno68+bNs6h37ty5Uv2U3HAlpuS9996L0Whk8uTJpfovKiqy6Ds8PNypKPSSh+u1116jadOmREdHm8tTU1PZsmWLQ5aBs/26C2flNxgMdOvWja+//toiYvzEiRMsXLiQjh07modr1mjXrh233XYbH374IV999VWp8wUFBTz77LOAye/RvHlzFixYYPHZ7Ny5k1WrVnH77bc7/X579+6NpmlMmjSplMVRch8lJSURFRXF1KlTrfpMTp065XS/JbNsznzH1p4BKSVvv/12qbq2niNrbZbn+7OGI8+go7hkMX333Xfs2rWLoqIiTpw4wdq1a1m9ejVXXnklS5cuNQdyRUVFcdNNN/Gf//yHwsJCateuzapVqzhw4ECpNlu1agXAiy++yH333UdgYCA9e/akW7duBAUF0bNnTx577DGysrKYM2cO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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "# Fit logistic regression to the dataset\n", "logistic_regression = LogisticRegression()\n", "logistic_regression.fit(X, y)" ], "metadata": { "id": "NiDupUR2RIX0" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# plt.subplot(142): This creates a subplot grid with 1 row, 4 columns, and selects the 2nd subplot for the current plot. This is used to arrange multiple plots in a single figure.\n", "\n", "# x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 and y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1: These lines calculate the minimum and maximum values for the x and y axes to set the plot limits.\n", "\n", "# xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02)): This creates a meshgrid of points spanning the range of the x and y axes with a step size of 0.02. This grid will be used to evaluate the classifier's decision boundary at each point.\n", "\n", "# Z = logistic_regression.predict(np.c_[xx.ravel(), yy.ravel()]): This line predicts the class labels for each point in the meshgrid using the logistic regression classifier (logistic_regression).\n", "\n", "# Z = Z.reshape(xx.shape): This reshapes the predicted class labels to match the shape of the meshgrid.\n", "\n", "# plt.contourf(xx, yy, Z, alpha=0.8): This creates a filled contour plot of the decision boundary based on the predicted class labels. The alpha parameter controls the transparency of the filled areas.\n", "\n", "# plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis'): This plots the input data points (X) colored by their true class labels (y). The cmap='viridis' argument specifies the color map to use for the scatter plot.\n", "\n", "# plt.xlabel('X') and plt.ylabel('Y'): These set the labels for the x and y axes, respectively.\n", "\n", "# plt.title('Decision Boundary'): This sets the title for the plot.\n", "\n", "# plt.colorbar(): This adds a color bar to the plot, which corresponds to the predicted class probabilities for the decision boundary." ], "metadata": { "id": "3Kl_lZG6XuhG" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Plot the decision boundary\n", "plt.subplot(142)\n", "x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n", "y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n", "xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),\n", " np.arange(y_min, y_max, 0.02))\n", "Z = logistic_regression.predict(np.c_[xx.ravel(), yy.ravel()])\n", "Z = Z.reshape(xx.shape)\n", "plt.contourf(xx, yy, Z, alpha=0.8)\n", "plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis')\n", "plt.xlabel('X')\n", "plt.ylabel('Y')\n", "plt.title('Decision Boundary')\n", "plt.colorbar()" ], "metadata": { "id": "WTB_wUb5RK2d" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Plot sigmoid curve\n", "plt.subplot(143)\n", "x_values = np.linspace(-10, 10, 100)\n", "sigmoid_values = 1 / (1 + np.exp(-x_values))\n", "plt.plot(x_values, sigmoid_values)\n", "plt.xlabel('x')\n", "plt.ylabel('sigmoid(x)')\n", "plt.title('Sigmoid Curve')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 489 }, "id": "INxbHrAoRVTH", "outputId": "e2d344ec-4551-4bf1-d0a0-f7294af324cb" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'Sigmoid Curve')" ] }, "metadata": {}, "execution_count": 20 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAALkAAAHHCAYAAADj8vlZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAz/0lEQVR4nO3de1xUdf4/8NfMwMxwHVBuoggq4hWlRAnN1BUlL6SZZpaJl11rM/sa3aTdNL+1Uekq3wyj0jS3bcHccvspoUZYKaQtgmneFRAVBkGY4T4w8/n9AXN0ZIBhGDgzZ97Px85jm8M5M+8ZXnz8nM8553NEjDEGQgRMzHcBhHQ3CjkRPAo5ETwKORE8CjkRPAo5ETwKORE8CjkRPAo5ETwK+V2CgoKwdOlSvsto165duyASiVBQUNDhurbweXqCXYT89OnTmD9/PgIDAyGXy9G3b19MmzYNW7du5bs0q1FfX48tW7YgIiICCoUCcrkcISEheP7553Hx4kW+y+sSkdDPXcnKysKUKVPQv39/xMbGws/PD0VFRfjll19w5coVXL58mVu3oaEBYrEYjo6OPFbcPq1Wi8bGRshkMohEonbXDQoKwuTJk7Fr16521ysrK8PDDz+MnJwczJ49G1FRUXB1dcWFCxeQkpKCkpISaDQaC36KHsYEbubMmczb25tVVFS0+plSqez5gnpQYGAgi42N7XC9WbNmMbFYzPbu3dvqZ/X19eyll16ySD2NjY2soaHBIq/VGYLvrly5cgUjRoyAh4dHq5/5+PgYPDfWh/3tt98wadIkODk5oV+/fnj77bexc+fOVv3ioKAgzJ49G0eOHEF4eDicnJwQGhqKI0eOAAC+/vprhIaGQi6XY8yYMcjNzW1Vzw8//ICJEyfCxcUFHh4emDNnDs6dO2ewjrE+OWMMb7/9Nvr16wdnZ2dMmTIFv//+u0nfz/Hjx3HgwAGsWLECjz32WKufy2QybNq0iXs+efJkTJ48udV6S5cuRVBQEPe8oKAAIpEImzZtQmJiIgYNGgSZTIbc3Fw4ODhgw4YNrV7jwoULEIlE+PDDD7lllZWVWLNmDQICAiCTyRAcHIz33nsPOp3OpM8HAA4mr2mjAgMDkZ2djTNnzmDkyJGd2vbGjRuYMmUKRCIR4uPj4eLigu3bt0Mmkxld//Lly3jyySfxzDPPYPHixdi0aRNiYmKQnJyM119/Hc899xwAICEhAY8//jguXLgAsbi5nfn+++8xY8YMDBw4EG+++Sbq6uqwdetWTJgwASdPnjQI0L3WrVuHt99+GzNnzsTMmTNx8uRJTJ8+3aQuxrfffgsAePrppzv13Zhq586dqK+vx8qVKyGTydCnTx9MmjQJe/bswfr16w3WTU1NhUQiwYIFCwAAtbW1mDRpEm7cuIFnnnkG/fv3R1ZWFuLj41FcXIzExETTiujxfzt62KFDh5hEImESiYRFRkayV199lR08eJBpNJpW6977z/vq1auZSCRiubm53LLy8nLWq1cvBoDl5+cbbAuAZWVlccsOHjzIADAnJydWWFjILf/4448ZAJaZmcktCwsLYz4+Pqy8vJxbdurUKSYWi9mSJUu4ZTt37jR479LSUiaVStmsWbOYTqfj1nv99dcZgA67K48++igDYLQ7Z8ykSZPYpEmTWi2PjY1lgYGB3PP8/HwGgLm7u7PS0lKDdfWf//Tp0wbLhw8fzv7whz9wz9966y3m4uLCLl68aLDe2rVrmUQiYdeuXTOpZsF3V6ZNm4bs7Gw88sgjOHXqFN5//31ER0ejb9++XCvWlvT0dERGRiIsLIxb1qtXLzz11FNG1x8+fDgiIyO55xEREQCAP/zhD+jfv3+r5VevXgUAFBcXIy8vD0uXLkWvXr249UaNGoVp06YhLS2tzRq///57aDQarF692mBHdM2aNe1+Nj21Wg0AcHNzM2n9znrsscfg7e1tsGzevHlwcHBAamoqt+zMmTM4e/YsFi5cyC376quvMHHiRHh6eqKsrIx7REVFQavV4qeffjKpBsGHHADGjh2Lr7/+GhUVFThx4gTi4+NRVVWF+fPn4+zZs21uV1hYiODg4FbLjS0DYBBkAFAoFACAgIAAo8srKiq49wGAIUOGtHrNYcOGoaysDDU1NW3WCACDBw82WO7t7Q1PT0+j29zN3d0dAFBVVdXhuuYYMGBAq2VeXl6YOnUq9uzZwy1LTU2Fg4MD5s2bxy27dOkS0tPT4e3tbfCIiooCAJSWlppUg+D75HeTSqUYO3Ysxo4di5CQECxbtgxfffVVq76huSQSSaeWMysYvR06dCiA5mMJEydO7HB9kUhktG6tVmt0fScnJ6PLn3jiCSxbtgx5eXkICwvDnj17MHXqVHh5eXHr6HQ6TJs2Da+++qrR1wgJCemwXsDOQn638PBwAM1dhbYEBgYajKPrGVvWFYGBgQCaRxfudf78eXh5ecHFxaXdbS9duoSBAwdyy2/dusX9S9GemJgYJCQk4IsvvjAp5J6enlw36276f1FMNXfuXDzzzDNcl+XixYuIj483WGfQoEGorq7mWm5zCb67kpmZabTl0fdzjXUR9KKjo5GdnY28vDxu2e3bt/HPf/7TojX26dMHYWFh+Pzzz1FZWcktP3PmDA4dOoSZM2e2uW1UVBQcHR2xdetWg89p6shDZGQkHn74YWzfvh379u1r9XONRoOXX36Zez5o0CCcP38et27d4padOnUKx44dM+n99Dw8PBAdHY09e/YgJSUFUqkUc+fONVjn8ccfR3Z2Ng4ePNhq+8rKSjQ1NZn0XoJvyVevXo3a2lo8+uijGDp0KDQaDbKyspCamoqgoCAsW7aszW1fffVVfPHFF5g2bRpWr17NDSH2798ft2/f7vCIY2ds3LgRM2bMQGRkJFasWMENISoUCrz55pttbuft7Y2XX34ZCQkJmD17NmbOnInc3Fx89913Bv/0t2f37t2YPn065s2bh5iYGEydOhUuLi64dOkSUlJSUFxczI2VL1++HJs3b0Z0dDRWrFiB0tJSJCcnY8SIEdxOrKkWLlyIxYsXY9u2bYiOjm51LOOVV17Bt99+i9mzZ2Pp0qUYM2YMampqcPr0aezduxcFBQWmfUaTxmBs2HfffceWL1/Ohg4dylxdXZlUKmXBwcFs9erVrY54GjtCmJubyyZOnMhkMhnr168fS0hIYB988AEDwEpKSgy2nTVrVqv3B8BWrVplsEw/vLZx40aD5d9//z2bMGECc3JyYu7u7iwmJoadPXvWYJ17hxAZY0yr1bINGzawPn36MCcnJzZ58mR25swZk494MsZYbW0t27RpExs7diz3PQ0ePJitXr2aXb582WDdL774gg0cOJBJpVIWFhbGDh482OYQ4r2f8W5qtZo5OTkxAOyLL74wuk5VVRWLj49nwcHBTCqVMi8vLzZ+/Hi2adMmo8PAxgj+3JXusGbNGnz88ceorq5uc6eSWA/B98m7qq6uzuB5eXk5/vGPf+DBBx+kgNsIwffJuyoyMhKTJ0/GsGHDoFQqsWPHDqjVarzxxht8l0ZMRCHvwMyZM7F371588sknEIlEuP/++7Fjxw489NBDfJdGTER9ciJ41CcngkchJ4Jnd31ynU6Hmzdvws3NzaIHc0j3YIyhqqoK/v7+3Ln3nWV3Ib9582arswKJ9SsqKkK/fv3M2tbuQq4/b7qoqIg7zZRYL7VajYCAgC6d7253Idd3Udzd3SnkNqQrXUva8SSCRyEngkchJ4JHISeCRyEngkchJ4JHISeCRyEngkchJ4JHISeCx2vIf/rpJ8TExMDf3x8ikcjovB/3OnLkCO6//35uGt+OJpgnhNeQ19TUYPTo0UhKSjJp/fz8fMyaNQtTpkxBXl4e1qxZgz/+8Y9GJ58hRI/XE7RmzJiBGTNmmLx+cnIyBgwYgL///e8AmifDPHr0KLZs2YLo6OjuKpN0EWMMGq0OTVqGJh2DtuXBGIOOAQwt/99yJaaXqwxyR8vNhGBTZyFmZ2e3mhcvOjq63WmKGxoa0NDQwD3v7CxPxDjGGG6q6nHuphpXy6pxvaIOSnU9btdoUFnbiOqGJtQ0NKG+SQdNk+l3hQCA1JUPIGJgb4vValMhLykpga+vr8EyX19fqNVq1NXVGZ1BNSEhweitO0jnNWl1+PlSGdJOF+PnS2UoUdd36fVEIkAsEkEsAkQQoeV/Fr9iy6ZCbo74+HjExcVxz/Un4RPTNWp1SP21CB8duYIblXcmW3IQixDs44rBvm4I8HSCn0KO3i4yeDo7wlXuAGepA5ykEsgcxJA6iOEoFkMiFsFBLIJY3HOXHtpUyP38/KBUKg2WKZVKuLu7tzkPtkwma/MeP6RjF0qqsCY1D+eKm7t5ns6OeGS0P6YN98OYQE84Sa1/FjGbCnlkZGSrW4scPnzY4BYmxHIOn1XihX/loq5RCw9nR6yZOhhPjOtv0Z3CnsBryKurqw0mtM/Pz0deXh569eqF/v37Iz4+Hjdu3MDu3bsBAM8++yw+/PBDvPrqq1i+fDl++OEH7NmzBwcOHODrIwjWwd9L8Nw/T0KrY5g42AubHw+Dt5uN/oto0ty33SQzM5MBaPXQTzccGxvb6k5jmZmZLCwsjEmlUjZw4EC2c+fOTr2nSqViAJhKpbLMhxCgU0UVLOQvaSzwtf1sTUoua2zS8laLJX5fdjdNnFqthkKhgEqloguZjahuaMKsD35GYXktpgzxxqdLwuEg4e+YoSV+X3TuCjGw6eAFFJbXwl8hR+IT9/EacEux/U9ALOaisgr/+KX5BlfvzR8FhZMjzxVZBoWccDYfugitjiF6hC8mDvbueAMbQSEnAJpb8fTfSwAAL09v+454tohCTgAAO4/lAwAeHuGHwb7dcwtyvlDICarqG/GfvJsAgGUTgvgtphtQyAn+36li1Gq0GOTtgnEDevFdjsVRyAn+36nmVnxBeIAg52ynkNu5suoGHM8vBwDMCu3DczXdg0Ju5w79roSOAaP6KRDQy5nvcroFhdzOZV4oBQBEj/DjuZLuQyG3Y41aHbKvNHdVHhLQwZ97Ucjt2MnCClQ3NKG3ixQj/IV7shqF3I4da2nFJwR79ejlaD2NQm7H/ltwGwAQMVB4Y+N3o5DbqUatDrnXKgEA4YEUciJA54rVqGvUwl3ugME+rnyX060o5HYqp7ACADAm0FPQ/XGAQm63Tl9XAQBGB3jwW0gPoJDbqTM3m0Me2lfBcyXdj0Juh+o0WlwurQYAjKSQEyE6X6KGjjXPHutjq3OpdAKF3A6dudk85dvIvu6CPLX2XhRyO3SxpAoAMNRPuIfy70Yht0OXSptDHuIr7PFxPQq5HbqkbN7pHOwjrAuW20IhtzPl1Q0or9EAAAb5uPBcTc+gkNsZ/dBhP08nOEttauZus1HI7cyllpCHCGxulfZQyO1MflkNAGCAl310VQAKud0pLG8OeRCFnAhVQXktACCotzCvzDeGQm5HtDqGa1zIqSUnAlSsqoNGq4OjRAR/D+N3yxMiCrkdKWxpxQN6OUMi8Asl7kYhtyMF+p1OO+qqABRyu1J0u/luygGe9tNVASjkdkV/y/C+FHIiVDcqmvvk/TztZ/gQoJDbFa4lt6ORFYBCbjc0TTqUVjUAoO4KEahiVR0YA+SOYvR2kfJdTo+ikNuJGxXNXRV/Dye7uK7zbhRyO3HdTvvjAIXcbhRX1gMA/BUUciJQJermkPsp5DxX0vMo5HZCSSEnQleiagm5O4WcCJS+JfelkBMh0jTpuGkoqLtCBKm0qrkVlzqI4ensyHM1PY9CbgfudFVkdncgCKCQ24USVfM5K/a40wlQyO2CviX3oZATobpV3dyS28OE+8ZQyO3ArZZTbL1cKeS8SEpKQlBQEORyOSIiInDixIl2109MTMSQIUPg5OSEgIAAvPjii6ivr++ham1TWUtL7k0tec9LTU1FXFwc1q9fj5MnT2L06NGIjo5GaWmp0fW//PJLrF27FuvXr8e5c+ewY8cOpKam4vXXX+/hym2LviWnkPNg8+bN+NOf/oRly5Zh+PDhSE5OhrOzMz777DOj62dlZWHChAl48sknERQUhOnTp2PRokUdtv72jgs5dVd6lkajQU5ODqKiou4UIxYjKioK2dnZRrcZP348cnJyuFBfvXoVaWlpmDlzZpvv09DQALVabfCwJzod44522mtLztss7GVlZdBqtfD19TVY7uvri/Pnzxvd5sknn0RZWRkefPBBMMbQ1NSEZ599tt3uSkJCAjZs2GDR2m1JRa0GWh2DSAT0srPL3vR43/HsjCNHjuCdd97Btm3bcPLkSXz99dc4cOAA3nrrrTa3iY+Ph0ql4h5FRUU9WDH/9MOHvZylcJTY1K/bYnhryb28vCCRSKBUKg2WK5VK+Pn5Gd3mjTfewNNPP40//vGPAIDQ0FDU1NRg5cqV+Mtf/gKxuPUvUSaTQSazz3+mAdrpBHhsyaVSKcaMGYOMjAxumU6nQ0ZGBiIjI41uU1tb2yrIEokEAMAY675ibZi9j5EDPLbkABAXF4fY2FiEh4dj3LhxSExMRE1NDZYtWwYAWLJkCfr27YuEhAQAQExMDDZv3oz77rsPERERuHz5Mt544w3ExMRwYSeG9GPkXq722R8HeA75woULcevWLaxbtw4lJSUICwtDeno6tzN67do1g5b7r3/9K0QiEf7617/ixo0b8Pb2RkxMDP72t7/x9RGsnn5kpZeL/bbkImZn/86r1WooFAqoVCq4uwv/ttuvfHUKX+VcxyvRQ7BqSjDf5XSaJX5f9rm7bUducy25/XZXKOQCV04hp5ALnb4lt7f5D+9GIRe48pbRld52PIRIIRew+kYtajRaANRdIQKl76o4SkRwl/M6WswrCrmA6UPu6Sy1y6v09SjkAkYjK80o5AJ2u0a/00khJwJVXn2nu2LPKOQCVlnbCIC6KxRyAauobW7JPaglJ0Klb8ntcZLPu1HIBUzfklOfnAhWRUtL7kEtORGqSmrJAVDIBU3fXaHRFSJI9Y1a1DfqAFB3hUIuUPpW3EEsgqvMfk/OAijkglVRo9/ptO+TswAKuWDd2em0764KQCEXrAruQJB973QCFHLBqqzTH9KnlpxCLlCVdCCIQyEXKFVdc8gVThRyCrlAqWrvjK7YOwq5QOn75O7UklPIhUrfXfGgkFPIhUq/40l9cgq5YKnraHRFj0IuUJU0usKhkAuQpkmH2pbp4TycaHSFQi5A+p1OkQhws+Pp4fQo5AKk0g8fyh0hFtv3GYgAhVyQ6GinIQq5ANF5K4Yo5AJELbkhCrkA6UNOh/SbUcgFSF3XBIBacj0KuQBxLbmcQg5QyAVJXa/vrtAYOUAhFyTa8TREIRcgNXVXDFDIBUhd37zjSaMrzSjkAqSm7ooBCrkA3emu0I4nQCEXHK2OoaqBuit3o5ALTFXL8CFAO556FHKB0R/tdHKUQOpAv16AQi44d85bof64HoVcYPRHO2lk5Q4KucDQgaDWKOQCQ6fZtkYhF5gq/dFOGiPnUMgFRt8nd6PuCodCLjBcS06jKxzeQ56UlISgoCDI5XJERETgxIkT7a5fWVmJVatWoU+fPpDJZAgJCUFaWloPVWv9aMezNV7/3FNTUxEXF4fk5GREREQgMTER0dHRuHDhAnx8fFqtr9FoMG3aNPj4+GDv3r3o27cvCgsL4eHh0fPFWyn9GYjUXbmD15Bv3rwZf/rTn7Bs2TIAQHJyMg4cOIDPPvsMa9eubbX+Z599htu3byMrKwuOjs2/xKCgoJ4s2erRVUGt8dZd0Wg0yMnJQVRU1J1ixGJERUUhOzvb6DbffvstIiMjsWrVKvj6+mLkyJF45513oNVq23yfhoYGqNVqg4eQVVFL3opZf+75+fn4+eefUVhYiNraWnh7e+O+++5DZGQk5HK5Sa9RVlYGrVYLX19fg+W+vr44f/680W2uXr2KH374AU899RTS0tJw+fJlPPfcc2hsbMT69euNbpOQkIANGzZ07gPaMDrNtrVOfRP//Oc/8X//93/473//C19fX/j7+8PJyQm3b9/GlStXIJfL8dRTT+G1115DYGCgxYvV6XTw8fHBJ598AolEgjFjxuDGjRvYuHFjmyGPj49HXFwc91ytViMgIMDitVmLqno6GHQvk0N+3333QSqVYunSpfj3v//dKigNDQ3Izs5GSkoKwsPDsW3bNixYsKDN1/Py8oJEIoFSqTRYrlQq4efnZ3SbPn36wNHRERKJhFs2bNgwlJSUQKPRQCptPU2xTCaDTCYz9WPaNN1d55LTbLZ3mNwnf/fdd3H8+HE899xzRltCmUyGyZMnIzk5GefPn8fAgQPbfT2pVIoxY8YgIyODW6bT6ZCRkYHIyEij20yYMAGXL1+GTqfjll28eBF9+vQxGnB7U61pAmPN/01DiHdhPEpJSWEymYzt2rWLnT17lq1cuZJ5eHiwkpISxhhjTz/9NFu7di23/rVr15ibmxt7/vnn2YULF9j+/fuZj48Pe/vtt01+T5VKxQAwlUpl8c/Dt+sVtSzwtf1s8OtpfJdiMZb4fZk1urJr1y6jy5uamhAfH2/y6yxcuBCbNm3CunXrEBYWhry8PKSnp3M7o9euXUNxcTG3fkBAAA4ePIhff/0Vo0aNwgsvvID/+Z//MTrcaI/UdC65ceb8Zbi5ubH58+ez27dvc8vOnz/P7r//fhYYGGj2X1xPEHJLfvxqOQt8bT+bsjGT71IshreWPDc3F9evX0doaCgOHz6MpKQk3H///Rg6dChOnTpl2b9CYjJ9S047nYbM+jYGDRqEY8eOYc2aNXj44YchkUjw+eefY9GiRZauj3RCVQOdgWiM2Uc8Dxw4gJSUFERGRsLDwwM7duzAzZs3LVkb6ST9RczUJzdkVsifeeYZLFiwAK+99hp+/vln/Pbbb5BKpQgNDcWePXssXSMxkf5AkJuMWvK7mfUnf+zYMRw/fhyjR48GAPj5+SEtLQ1JSUlYvnw5Hn/8cYsWSUxz57wVasnvZta3kZOTY/Qo4qpVqwxOuCI9i06zNc6s7kp7h8mHDBlidjGka7juCrXkBkwO+cMPP4xffvmlw/Wqqqrw3nvvISkpqUuFkc6j7opxJn8bCxYswGOPPQaFQoGYmBiEh4fD398fcrkcFRUVOHv2LI4ePYq0tDTMmjULGzdu7M66iRFVdBGzUSaHfMWKFVi8eDG++uorpKam4pNPPoFKpQIAiEQiDB8+HNHR0fj1118xbNiwbiuYtE1N01EY1alvQyaTYfHixVi8eDEAQKVSoa6uDr179+YuRyP8oZbcuC79ySsUCigUCkvVQrqI+uTGmfxtfPvttya/6COPPGJWMcR8TVodajXN17rSVUGGTA753LlzDZ6LRCIw/Rn6Lc/12ruwmHSP6pYrggBqye9l8hCiTqfjHocOHUJYWBi+++47VFZWorKyEmlpabj//vuRnp7enfWSNui7KnJHMRwlvM8ZZVXM+pNfs2YNkpOT8eCDD3LLoqOj4ezsjJUrV+LcuXMWK5CYhuZAbJtZf/JXrlwxOmuVQqFAQUFBF0si5qCdzraZFfKxY8ciLi7O4Ep7pVKJV155BePGjbNYccR0dy6YoJb8XmaF/LPPPkNxcTH69++P4OBgBAcHo3///rhx4wZ27Nhh6RqJCWhe8raZ9Y0EBwfjt99+w+HDh7nZroYNG4aoqCiDURbSc+jkrLaZ/Y2IRCJMnz4d06dPt2Q9xExcn5wumGjF5JB/8MEHWLlyJeRyOT744IN2133hhRe6XBjpnGqaOatNJn8jW7ZswVNPPQW5XI4tW7a0uZ5IJKKQ84AumGibySHPz883+t/EOlCfvG1dPjTGGDM4vE/4QePkbTM75Lt370ZoaCicnJzg5OSEUaNG4R//+IclayOdQKfZts2sP/vNmzfjjTfewPPPP48JEyYAAI4ePYpnn30WZWVlePHFFy1aJOkYjZO3zaxvZOvWrfjoo4+wZMkSbtkjjzyCESNG4M0336SQ84Buo9I2s7orxcXFGD9+fKvl48ePN5iFlvQc2vFsm1khDw4ONjpTVmpqKgYPHtzlokjnaHUMNS0XTFDIWzPrG9mwYQMWLlyIn376ieuTHzt2DBkZGTRNHA+q6+++YIK6K/cyqyV/7LHHcPz4cXh5eWHfvn3Yt28fvLy8cOLECTz66KOWrpF0QH8uucxBDKkDXTBxL7P/bRszZgy++OILS9ZCzEQ7ne3rUgeutLQUpaWlBjeqAoBRo0Z1qSjSOdxtDak/bpTZE37Gxsbi3LlzrY52ikQiupC5h9HJWe0z61tZvnw5QkJCsGPHDvj6+tI55Dyj7kr7zAr51atX8e9//xvBwcGWroeYgcbI22fWrvjUqVPpBlhWRE0nZ7XLrG9l+/btiI2NxZkzZzBy5MhW8yDSDFo9i6ajaJ9ZIc/OzsaxY8fw3XfftfoZ7Xj2PDrNtn1mdVdWr16NxYsXo7i42GBmLZ1ORwHnAe14ts+skJeXl+PFF1/kbg9O+EU7nu0zK+Tz5s1DZmampWshZqJzydtn1rcSEhKC+Ph4HD16FKGhoa12POlC5p5FVwW1z+zRFVdXV/z444/48ccfDX5GV+v3PP2dmKm7YpxZ3wpdrW9dqCVvH52XaePogomOmfWtxMXFGV0uEokgl8sRHByMOXPmoFevXl0qjnTM8IIJCrkxZn0rubm5OHnyJLRaLXcH5osXL0IikWDo0KHYtm0bXnrpJRw9ehTDhw+3aMHE0N0XTMgcJDxXY53M6q7MmTMHUVFRuHnzJnJycpCTk4Pr169j2rRpWLRoEW7cuIGHHnqIrtrvAXQgyATMDP7+/uz3339vtfzMmTPM39+fMcZYTk4O6927tzkv361UKhUDwFQqFd+lWMQvV8pY4Gv72ZSNmXyX0i0s8fsyqyVXqVQoLS1ttfzWrVtQq9UAAA8PD2g0mq78/RET0HkrHTO7u7J8+XJ88803uH79Oq5fv45vvvkGK1as4G6FeOLECYSEhFiyVmIEnYHYMbP+/D/++GO8+OKLeOKJJ9DU1NySODg4IDY2lpvWeejQodi+fbvlKiVGcYf0naglb4tZ34yrqys+/fRTbNmyBVevXgUADBw4EK6urtw6YWFhFimQtI+7IRbdYaJNXfrzd3V1pSvzeVbVQC15R0z+ZubNm4ddu3bB3d0d8+bNa3fdr7/+ulNFJCUlYePGjSgpKcHo0aOxdetWk26VmJKSgkWLFmHOnDnYt29fp95TKPQtuTv1ydtkcsgVCgV3Vb5CobBYAampqYiLi0NycjIiIiKQmJiI6OhoXLhwAT4+Pm1uV1BQgJdffhkTJ060WC22iEZXTGDOuGNtbS2rrq7mnufn57MtW7aw9PT0Tr/WuHHj2KpVq7jnWq2W+fv7s4SEhDa3aWpqYuPHj2fbt29nsbGxbM6cOSa/n9DGyRdv/4UFvraf/TuniO9SugVv4+Rz5szh7ipRWVmJBx54AH//+98xd+5cfPTRRya/jkajQU5ODqKiorhlYrEYUVFRyM7ObnO7//3f/4WPjw9WrFhhTvmCQjfE6phZIT958iTXTdi7dy98fX1RWFiI3bt3d3j7w7uVlZVBq9W2uozO19cXJSUlRrc5evQoduzYgU8//dSk92hoaIBarTZ4CElVHU0R1xGzQl5bWws3NzcAwKFDhzBv3jyIxWI88MADKCwstGiBd6uqqsLTTz+NTz/9FF5eXiZtk5CQAIVCwT0CAgK6rT4+qLlxcmrJ22L2JPz79u1DUVERDh48yN2VubS0FO7u7ia/jpeXFyQSCZRKpcFypVIJPz+/VutfuXIFBQUFiImJgYODAxwcHLB79258++23cHBwwJUrV1ptEx8fD5VKxT2Kioo6+Wmtm5ouYu6QWSFft24dXn75ZQQFBSEiIgKRkZEAmlv1++67z+TXkUqlGDNmDDIyMrhlOp0OGRkZ3GvebejQoTh9+jTy8vK4xyOPPIIpU6YgLy/PaCstk8ng7u5u8BCK+kYtNE3NMwpTS942s/7858+fjwcffBDFxcUYPXo0t3zq1KmdnoQ/Li4OsbGxCA8Px7hx45CYmIiamhosW7YMALBkyRL07dsXCQkJkMvlGDlypMH2Hh4eANBquT3QDx+KRICrlFrytpj9zfj5+bXqUphyAOdeCxcuxK1bt7Bu3TqUlJQgLCwM6enp3M7otWvXIBbTVXrG6LsqrjIHiMU0s3BbRIzZ1+2U1Wo1FAoFVCqVzXdd8ooqMTfpGPp6OOHY2j/wXU63sMTvi5pIG8adnEU7ne2ikNuwOzNn0U5neyjkNkylPxBEIyvtopDbMP2OJ51m2z4KuQ3T98kV1JK3i0Juw1R0LrlJKOQ2jM5bMQ2F3IZRd8U0FHIbpqLTbE1CIbdhd0ZXqCVvD4Xchukn36fuSvso5DaKMXbnSn0Kebso5DaqoUkHjbblXHLqk7eLQm6j9K24WNR8qi1pG4XcRt193op+PhxiHIXcRnEjK3S0s0MUchtFIyumo5DbqDvdFeqPd4RCbqMqa5vv4uHhJOW5EutHIbdRKn13xZm6Kx2hkNuoyrrmlpz65B2jkNsoVW1zn9yDQt4hCrmNUtFptiajkNuoypaQe1CfvEMUchtFV+qbjkJuoyq5PjkNIXaEQm6D7j7NloYQO0Yht0F1jVruNFsaXekYhdwG6bsqDmIRnKUSnquxfhRyG6S6a2SFTrPtGIXcBulbchojNw2F3Aap6JB+p1DIbVBFS0vu6UzDh6agkNugCv1pthRyk1DIbVAl15JTd8UUFHIbVFHT3JJ7ulBLbgoKuQ3S98np5CzTUMhtkP7SN9rxNA2F3Abd2fGkltwUFHIbVElDiJ1CIbcxjDHuggkKuWko5DZGXd8Era75JtrUXTENhdzG6Hc6nRwlkDvSGYimoJDbmAo6ENRpFHIbQ4f0O49CbmNuVzeHvLcrhdxUFHIbc7vlkH4vOqRvMgq5jSmnkHcahdzGlFc3AAB6U8hNRiG3MfruSm9XGc+V2A4KuY2h7krnUchtDNeSU8hNRiG3MTS60nkUchvS0KRFdUPzHSZ6u1Cf3FQUchuib8UdxCK6IVYnUMhtSHn1na4KzZxlOqsIeVJSEoKCgiCXyxEREYETJ060ue6nn36KiRMnwtPTE56enoiKimp3fSGh/rh5eA95amoq4uLisH79epw8eRKjR49GdHQ0SktLja5/5MgRLFq0CJmZmcjOzkZAQACmT5+OGzdu9HDlPe9WVfOBIG836o93CuPZuHHj2KpVq7jnWq2W+fv7s4SEBJO2b2pqYm5ubuzzzz83aX2VSsUAMJVKZVa9fEo+cpkFvrafvZiSy3cpPcYSvy9eW3KNRoOcnBxERUVxy8RiMaKiopCdnW3Sa9TW1qKxsRG9evXqrjKthr4l96KWvFN43UUvKyuDVquFr6+vwXJfX1+cP3/epNd47bXX4O/vb/CHcreGhgY0NDRwz9VqtfkF8+xWy3kr3nRIv1N475N3xbvvvouUlBR88803kMvlRtdJSEiAQqHgHgEBAT1cpeVQn9w8vIbcy8sLEokESqXSYLlSqYSfn1+7227atAnvvvsuDh06hFGjRrW5Xnx8PFQqFfcoKiqySO18oJCbh9eQS6VSjBkzBhkZGdwynU6HjIwMREZGtrnd+++/j7feegvp6ekIDw9v9z1kMhnc3d0NHraqrKW74kXdlU7h/bBZXFwcYmNjER4ejnHjxiExMRE1NTVYtmwZAGDJkiXo27cvEhISAADvvfce1q1bhy+//BJBQUEoKSkBALi6usLV1ZW3z9HdNE067iJmask7h/eQL1y4ELdu3cK6detQUlKCsLAwpKenczuj165dg1h85x+cjz76CBqNBvPnzzd4nfXr1+PNN9/sydJ7VHlNcyvuIBbRHd86ScQYY3wX0ZPUajUUCgVUKpVNdV1+u16JRz48Bj93OX55fSrf5fQYS/y+bHp0xZ6UqvVj5HRIv7Mo5DaiRF0PAPBzNz5UStpGIbcRypaQ+1LIO41CbiNKVNSSm4tCbiP03RVfBYW8syjkNkJJfXKzUchtBNddoZa80yjkNqBOo4W6vvkCZtrx7DwKuQ3Q98edHCVwl/N+kNrmUMhtwN1dFbqAufMo5DbgZmUdAMDfg7oq5qCQ24AbLSHv6+HEcyW2iUJuA25U6EPuzHMltolCbgO4ltyTWnJzUMhtAHVXuoZCbuV0OsaFvB+15GahkFu5spoGaJp0EIvoaKe5KORWTr/T6esuh6OEfl3moG/Nyl27XQsACPCkkRVzUcitXEFZc8iDvCjk5qKQW7nC2zUAgMDeLjxXYrso5FausLylJaeQm41CbuUKy/UtOXVXzEUht2JV9Y0oa7mFCoXcfBRyK6bvqni5SuEmp1mzzEUht2JXblUDAAZ4UX+8KyjkVuySsjnkg33deK7EtlHIrdhFZRUAYLCPcGfr7QkUcit2ubSlJfehlrwrKORWqr5Ri4KW4cMQX2rJu4JCbqXyy2qgY4C73IEm3e8iCrmVOnuz+S51Q/3c6Qr9LqKQW6kzN1UAgBF9bedGAdaKQm6lfm9pyUf6K3iuxPZRyK2QTse47srIvhTyrqKQW6HC27WobmiCzEGMQd50tLOrKORWKPdaBQBghL87HOiSty6jb9AK/VrQHPLwoF48VyIMFHIrlFN4GwAQHujJcyXCQCG3MpW1GlxsOTFrDIXcIijkVuZ4fnMrPtDbBb1d6UinJVDIrcxPF28BACYGe/FciXBQyK0IYww/XWoO+UMh3jxXIxwUciuSX1aDott1cJSI8MDA3nyXIxgUciuS/nsJACBiQG+4yOjeQJZCIbciaaeLAQAzQ/vwXImwUMitREFZDc7cUEMsAqJH+PJdjqBQyK1E6n+LAAAPDvamoUMLo5BbgUatDl/99zoA4MlxATxXIzwUcivwn7ybKKtugLebDFOHUVfF0ijkPNPqGLZlXgYALJ8wgCba7wb0jfJsz3+LcLWsBu5yByx+oD/f5QgShZxHFTUabDp4AQDwwtTBNN9hN6GQ84Qxhte/OY3yGg0G+7gidnwQ3yUJFoWcJ9uOXMF3Z0rgIBZhy8Iw6ot3I/pmebDjaD42tnRT1sUMp4uVuxmdINGDahqa8Nb+s0j5tfnAz58nD8KSyCB+i7IDVtGSJyUlISgoCHK5HBEREThx4kS763/11VcYOnQo5HI5QkNDkZaW1kOVmqe+UYuUE9cQtflHpPxaBJEIePXhIXg1egjfpdkF3lvy1NRUxMXFITk5GREREUhMTER0dDQuXLgAHx+fVutnZWVh0aJFSEhIwOzZs/Hll19i7ty5OHnyJEaOHMnDJzCutKoeOQUV+PHiLaT/XoLK2kYAzbcOf++xUZhAF0X0GBFjjPFZQEREBMaOHYsPP/wQAKDT6RAQEIDVq1dj7dq1rdZfuHAhampqsH//fm7ZAw88gLCwMCQnJ3f4fmq1GgqFAiqVCu7uzVOwlajq0aTTgTE0P8DAGKBlDDodg5YxNGkZmnQMjVodNE061DdqUavRorqhCaq6RlTUaFBa1YDrFbXIL6vh7vWj56+QY/mDA7D4gUDIHSVd+crsirHfV2fx2pJrNBrk5OQgPj6eWyYWixEVFYXs7Gyj22RnZyMuLs5gWXR0NPbt22d0/YaGBjQ0NHDP1Wp1q3UWfJyFott1ZnyCtolEQIiPGx4Y2AvThvshclBvSMQ0cScfeA15WVkZtFotfH0Nz9fw9fXF+fPnjW5TUlJidP2SkhKj6yckJGDDhg3t1iFzkEDmIIZIBIggglgEiEQiiESARCyCRCSCRCyCo0QMR4kIMgcJ5I5iyB0lcJM7wF3uCE8XKbzdZOijkGOAlwuCfVzhLOW9N0hgBX3y7hYfH2/Q8qvVagQEGJ7p933cpJ4ui/QgXkPu5eUFiUQCpVJpsFypVMLPz8/oNn5+fp1aXyaTQSaj87PtGa9DiFKpFGPGjEFGRga3TKfTISMjA5GRkUa3iYyMNFgfAA4fPtzm+oSA8SwlJYXJZDK2a9cudvbsWbZy5Urm4eHBSkpKGGOMPf3002zt2rXc+seOHWMODg5s06ZN7Ny5c2z9+vXM0dGRnT592qT3U6lUDABTqVTd8nmIZVni98V7yBljbOvWrax///5MKpWycePGsV9++YX72aRJk1hsbKzB+nv27GEhISFMKpWyESNGsAMHDpj8XhRy22KJ3xfv4+Q9zRLjrqTnWOL3ZRWH9QnpThRyIngUciJ4FHIieBRyIngUciJ4FHIieBRyIngUciJ4gj/V9l76A7zGLp4g1kf/e+rKgXm7C3lVVRUAtDqnnFi3qqoqKBTmTd1hd+eu6HQ63Lx5E25ubhCJmi9H019IUVRUZLPnswj1MzDGUFVVBX9/f4jF5vWu7a4lF4vF6Nevn9Gfubu722xA9IT4GcxtwfVox5MIHoWcCB6FHM3Xga5fv96mrwWlz9A2u9vxJPaHWnIieBRyIngUciJ4FHIieHYf8r/97W8YP348nJ2d4eHhYXSda9euYdasWXB2doaPjw9eeeUVNDU19WyhHejsHO98+umnnxATEwN/f3+IRKJWk7UyxrBu3Tr06dMHTk5OiIqKwqVLl8x+P7sPuUajwYIFC/DnP//Z6M+1Wi1mzZoFjUaDrKwsfP7559i1axfWrVvXw5W2TT/H+/r163Hy5EmMHj0a0dHRKC0t5bs0o2pqajB69GgkJSUZ/fn777+PDz74AMnJyTh+/DhcXFwQHR2N+vp6896wy7O/CMTOnTuZQqFotTwtLY2JxWJuRi/GGPvoo4+Yu7s7a2ho6MEK2zZu3Di2atUq7rlWq2X+/v4sISGBx6pMA4B988033HOdTsf8/PzYxo0buWWVlZVMJpOxf/3rX2a9h9235B3Jzs5GaGiowXTR0dHRUKvV+P3333msrJl+jveoqChuWUdzvFuz/Px8lJSUGHwehUKBiIgIsz8PhbwDbc2Hrv8Z39qb490a6ussfc2W/DyCDPnatWtbJtFv+9HWJP9EeAR5qu1LL72EpUuXtrvOwIEDTXotPz+/ViMV+vnR25oTvSeZM8e7NdPXrFQq0adPH265UqlEWFiYWa8pyJbc29sbQ4cObfchlUpNeq3IyEicPn3aYKTi8OHDcHd3x/Dhw7vrI5jMnDnerdmAAQPg5+dn8HnUajWOHz9u/ufp6t6xrSssLGS5ublsw4YNzNXVleXm5rLc3FxWVVXFGGOsqamJjRw5kk2fPp3l5eWx9PR05u3tzeLj43mu/I6O5ni3NlVVVdz3DIBt3ryZ5ebmssLCQsYYY++++y7z8PBg//nPf9hvv/3G5syZwwYMGMDq6urMej+7D3lsbCwD0OqRmZnJrVNQUMBmzJjBnJycmJeXF3vppZdYY2Mjf0Ub0d4c79YmMzPT6Heun4dep9OxN954g/n6+jKZTMamTp3KLly4YPb70am2RPAE2Scn5G4UciJ4FHIieBRyIngUciJ4FHIieBRyIngUciJ4FHIieBRyIngUcht269Yt+Pn54Z133uGWZWVlQSqVGpzFZ+/o3BUbl5aWhrlz5yIrKwtDhgxBWFgY5syZg82bN/NdmtWgkAvAqlWr8P333yM8PBynT5/Gr7/+atMTf1oahVwA6urqMHLkSBQVFSEnJwehoaF8l2RVqE8uAFeuXMHNmzeh0+lQUFDAdzlWh1pyG6fRaDBu3DiEhYVhyJAhSExMxOnTp+Hj48N3aVaDQm7jXnnlFezduxenTp2Cq6srJk2aBIVCgf379/NdmvXowlVMhGeZmZnMwcGB/fzzz9yy/Px85u7uzrZt28ZjZdaFWnIieLTjSQSPQk4Ej0JOBI9CTgSPQk4Ej0JOBI9CTgSPQk4Ej0JOBI9CTgSPQk4Ej0JOBO//Ax7gdJkXxi+oAAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "# Plot the cost function against sigmoid(x)=1 and sigmoid(x)=0\n", "plt.subplot(144)\n", "sigmoid_1 = sigmoid(x_values)\n", "cost_sigmoid_1 = -np.log(sigmoid_1)\n", "cost_sigmoid_0 = -np.log(1 - sigmoid_1)\n", "plt.plot(sigmoid_1, cost_sigmoid_1, label='sigmoid(x)=1')\n", "plt.plot(sigmoid_1, cost_sigmoid_0, label='sigmoid(x)=0')\n", "plt.xlabel('sigmoid(x)')\n", "plt.ylabel('Cost')\n", "plt.title('Cost Function')\n", "plt.legend()\n", "\n", "plt.tight_layout()\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 487 }, "id": "TL8TYrQURctw", "outputId": "b421b6c3-4106-4edb-8ce8-ce62b893d865" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "import numpy as np\n", "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, roc_auc_score\n", "\n", "# Generate random predicted probabilities and true labels\n", "np.random.seed(0)\n", "num_samples = 1000\n", "predicted_probs = np.random.rand(num_samples)\n", "true_labels = np.random.randint(2, size=num_samples)\n", "\n", "# Threshold the predicted probabilities to obtain binary predictions\n", "predictions = (predicted_probs >= 0.5).astype(int)\n", "\n", "# Calculate evaluation metrics\n", "accuracy = accuracy_score(true_labels, predictions)\n", "precision = precision_score(true_labels, predictions)\n", "recall = recall_score(true_labels, predictions)\n", "f1 = f1_score(true_labels, predictions)\n", "cm = confusion_matrix(true_labels, predictions)\n", "auc_roc = roc_auc_score(true_labels, predicted_probs)\n", "\n", "# Print the evaluation metrics\n", "print(\"Accuracy:\", accuracy)\n", "print(\"Precision:\", precision)\n", "print(\"Recall:\", recall)\n", "print(\"F1 score:\", f1)\n", "print(\"Confusion Matrix:\")\n", "print(cm)\n", "print(\"AUC-ROC score:\", auc_roc)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "y7OedBIRRo6T", "outputId": "be9d27e6-50cb-410f-e27b-d5554b5803d7" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Accuracy: 0.511\n", "Precision: 0.5362318840579711\n", "Recall: 0.49427480916030536\n", "F1 score: 0.5143992055610725\n", "Confusion Matrix:\n", "[[252 224]\n", " [265 259]]\n", "AUC-ROC score: 0.5047629738918469\n" ] } ] } ] }