diff --git a/your-code/lab_imbalance.ipynb b/your-code/lab_imbalance.ipynb index a3a5359..bc21aed 100644 --- a/your-code/lab_imbalance.ipynb +++ b/your-code/lab_imbalance.ipynb @@ -28,11 +28,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "df = pd.read_csv('/Users/elsonluis/Downloads/PS_20174392719_1491204439457_log.csv')\n", + "\n", + "df_sample = df.sample(n=100000, random_state=1)\n" ] }, { @@ -44,11 +50,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "isFraud\n", + "0 99876\n", + "1 124\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAHUCAYAAAAX288qAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABCgUlEQVR4nO3de1hVZd7/8c+WwxZIdggCUnjMUAPNsB+iU2gomoJT1mhDkT7jIbM0Sjr4WIrOJI+H0JnM7KiVGjaTNE4WeUrT8RhKhVlNpWEJYorgAQFx/f7oYT1twANLlK29X9e1r8t9r+9a67v2Rv1ws/aNzTAMQwAAAADqpFFDNwAAAABcjgjSAAAAgAUEaQAAAMACgjQAAABgAUEaAAAAsIAgDQAAAFhAkAYAAAAsIEgDAAAAFhCkAQAAAAsI0sAVYOHChbLZbOajcePGCg4OVq9evZSWlqbCwsIa+6Smpspms9XpPCdOnFBqaqrWrVtXp/1qO1erVq0UHx9fp+Ocy5IlSzRnzpxat9lsNqWmptbr+erbmjVr1LVrV/n4+Mhms+m9996rtW7v3r1O7/evH127dr20TZ9F1dfl3r1767zvunXrZLPZ6vy1Vlfz5s3TwoULz1lX9TV8rkfPnj0var8NadOmTUpNTdWRI0dqbOvZs+cVfe3Ambg3dAMA6s+CBQvUvn17VVRUqLCwUBs3btT06dM1a9YsLV26VL179zZrR4wYoX79+tXp+CdOnNCUKVMkqU7/aVo5lxVLlixRbm6ukpOTa2zbvHmzrr322oveg1WGYWjw4MG6/vrrtXz5cvn4+CgsLOys+4wdO1aJiYlOY1ddddXFbPOKM2/ePAUEBGjYsGFnrav+NZyfn69BgwbVeA98fX0vVqsNbtOmTZoyZYqGDRumq6++2mnbvHnzGqYpoIERpIErSHh4uNOM5F133aVHH31Uv/vd7zRo0CD95z//UVBQkCTp2muvvejB8sSJE/L29r4k5zqXbt26Nej5z2X//v06fPiw7rzzTsXGxp7XPi1atDjv6zIMQydPnpSXl9eFtPmbVf1ruGqW/VzvQUVFhWw2m9zdr+z/bjt27NjQLQANgls7gCtcixYt9Nxzz+no0aN66aWXzPHabrdYu3atevbsKX9/f3l5ealFixa66667dOLECe3du1fNmjWTJE2ZMsX8UXbVTF7V8Xbs2KG7775bfn5+atu27RnPVSUzM1OdOnVS48aN1aZNG/3tb39z2n6m2wOq/+i/Z8+eWrFihX744QenH7VXqe3WjtzcXP3+97+Xn5+fGjdurBtvvFFvvPFGred5++23NXHiRIWEhMjX11e9e/fW119/feYX/lc2btyo2NhYNWnSRN7e3urevbtWrFhhbk9NTTVD2pNPPimbzaZWrVqd17HPxGaz6eGHH9b8+fPVoUMH2e1289qmTJmiqKgoNW3aVL6+vrrpppv02muvyTCMGseo7XaYVq1a1ZjB3bJli3r06KHGjRsrJCREEyZMUEVFRa19ne8xa/Ppp59q4MCBatq0qRo3bqwuXbronXfecaqp+pr5+OOP9eCDDyogIED+/v4aNGiQ9u/f73TOXbt2af369ebXy4W87lVfK2+99ZbGjx+va665Rna7Xd9++60OHjyoMWPGqGPHjrrqqqsUGBio2267TRs2bHA6RtVtO7NmzVJ6erpat26tq666StHR0dqyZYtT7ffff6977rlHISEhstvtCgoKUmxsrHJycsyapUuXKi4uTs2bN5eXl5c6dOigp556SsePH6/R/9atW5WQkCB/f381btxYbdu2NX+6k5qaqscff1yS1Lp1a/P1+vXfv+o/pTp8+LDGjBmja665Rp6enmrTpo0mTpyosrIyp7qqr9W33npLHTp0kLe3tzp37qz333/fqe7gwYMaNWqUQkNDZbfb1axZM/Xo0UOrV68+37cIqHdX9rfIACRJ/fv3l5ubmz755JMz1uzdu1cDBgzQLbfcotdff11XX321fvrpJ2VlZam8vFzNmzdXVlaW+vXrp+HDh2vEiBGSZIbrKoMGDdI999yj0aNH1/qf9a/l5OQoOTlZqampCg4O1uLFi/XII4+ovLxcKSkpdbrGefPmadSoUfruu++UmZl5zvqvv/5a3bt3V2BgoP72t7/J399fixYt0rBhw3TgwAE98cQTTvX//d//rR49eujVV19VSUmJnnzySSUkJGj37t1yc3M743nWr1+vPn36qFOnTnrttddkt9s1b948JSQk6O2339aQIUM0YsQIde7c2elWAbvdfs5rOH36tE6dOuU05ubmZn4D8d5772nDhg2aNGmSgoODFRgYKOmX9/qBBx5QixYtJP0SgseOHauffvpJkyZNOud5q/vyyy8VGxurVq1aaeHChfL29ta8efO0ZMmSOh/rbD7++GP169dPUVFRmj9/vhwOhzIyMjRkyBCdOHGiRhAfMWKEBgwYoCVLlmjfvn16/PHHdd9992nt2rWSfvkm7u6775bD4TBvTTif1/1cJkyYoOjoaM2fP1+NGjVSYGCgDh48KEmaPHmygoODdezYMWVmZqpnz55as2ZNjRD6wgsvqH379uY9/88884z69++vPXv2yOFwSPrl73VlZaVmzJihFi1a6Oeff9amTZuc7mH+z3/+o/79+ys5OVk+Pj766quvNH36dG3bts18HSTpo48+UkJCgjp06KD09HS1aNFCe/fu1cqVK83X8vDhw3r++ee1bNkyNW/eXNKZZ6JPnjypXr166bvvvtOUKVPUqVMnbdiwQWlpacrJyXH6RlKSVqxYoe3bt2vq1Km66qqrNGPGDN155536+uuv1aZNG0lSUlKSduzYoWeffVbXX3+9jhw5oh07dujQoUPW3iigPhgALnsLFiwwJBnbt28/Y01QUJDRoUMH8/nkyZONX/8T8I9//MOQZOTk5JzxGAcPHjQkGZMnT66xrep4kyZNOuO2X2vZsqVhs9lqnK9Pnz6Gr6+vcfz4cadr27Nnj1Pdxx9/bEgyPv74Y3NswIABRsuWLWvtvXrf99xzj2G32428vDynuttvv93w9vY2jhw54nSe/v37O9W98847hiRj8+bNtZ6vSrdu3YzAwEDj6NGj5tipU6eM8PBw49prrzVOnz5tGIZh7Nmzx5BkzJw586zH+3VtbY9Vq1aZ1+twOIzDhw+f9ViVlZVGRUWFMXXqVMPf39/sp+oYtb3XLVu2NIYOHWo+HzJkiOHl5WUUFBQ4XWP79u1rvHfne8za3t/27dsbXbp0MSoqKpz2jY+PN5o3b25UVlYahvF/XzNjxoxxqpsxY4YhycjPzzfHbrjhBiMmJqaWV+bsanu/qnq+9dZbz7n/qVOnjIqKCiM2Nta48847axw3IiLCOHXqlDm+bds2Q5Lx9ttvG4ZhGD///LMhyZgzZ85593z69GmjoqLCWL9+vSHJ+Oyzz8xtbdu2Ndq2bWuUlpaecf+ZM2fW+nfRMAwjJibG6XWcP3++Icl45513nOqmT59uSDJWrlxpjkkygoKCjJKSEnOsoKDAaNSokZGWlmaOXXXVVUZycvJ5Xy9wKXBrB/AbYVT7sX11N954ozw9PTVq1Ci98cYb+v777y2d56677jrv2htuuEGdO3d2GktMTFRJSYl27Nhh6fzna+3atYqNjVVoaKjT+LBhw3TixAlt3rzZaXzgwIFOzzt16iRJ+uGHH854juPHj2vr1q26++67nT4E6ObmpqSkJP3444/nfXtIbR555BFt377d6REVFWVuv+222+Tn51djv7Vr16p3795yOBxyc3OTh4eHJk2apEOHDtW6wsu5fPzxx4qNjTXvv5d+ucYhQ4ZYu7BafPvtt/rqq6907733SpJOnTplPvr376/8/Pwar6WV96w+nOnvwPz583XTTTepcePGcnd3l4eHh9asWaPdu3fXqB0wYIDTTzqq9960aVO1bdtWM2fOVHp6unbu3KnTp0/XOM7333+vxMREBQcHm+91TEyMJJnn/eabb/Tdd99p+PDhaty48YVd/P9au3atfHx8dPfddzuNV/3UYM2aNU7jvXr1UpMmTcznQUFBCgwMdHqv/t//+39auHCh/vKXv2jLli213joEXGoEaeA34Pjx4zp06JBCQkLOWNO2bVutXr1agYGBeuihh9S2bVu1bdtWf/3rX+t0rqof+Z6P4ODgM45d7B/XHjp0qNZeq16j6uf39/d3el51C0BpaekZz1FUVCTDMOp0nrq49tpr1bVrV6fHr8NIbefdtm2b4uLiJEmvvPKK/v3vf2v79u2aOHHiOa/nTA4dOnTW97I+HDhwQJKUkpIiDw8Pp8eYMWMkST///LPTPlbes/pQ2+uenp6uBx98UFFRUXr33Xe1ZcsWbd++Xf369au1n3P1brPZtGbNGvXt21czZszQTTfdpGbNmmncuHE6evSoJOnYsWO65ZZbtHXrVv3lL3/RunXrtH37di1btszpWFW3ndTnB4KrviaqfzYiMDBQ7u7u5/z7VXXNv35tli5dqqFDh+rVV19VdHS0mjZtqvvvv18FBQX11jdQV9wjDfwGrFixQpWVledcsu6WW27RLbfcosrKSn366ad6/vnnlZycrKCgIN1zzz3nda66rE1d23+AVWNV/7FWzZBV/4BS9dBUV/7+/srPz68xXvVhtICAgAs6viT5+fmpUaNGF/08Z1Lbe5GRkSEPDw+9//77TrOPta1Zbbfba7zuUu3fZJztvbRyzOqqXqcJEyZo0KBBtdaca7nAS6W2133RokXq2bOnXnzxRafxqtBrRcuWLfXaa69J+mVW+Z133lFqaqrKy8s1f/58rV27Vvv379e6devMWWhJNdaBrvqcw48//mi5l+r8/f21detWGYbh9HoUFhbq1KlTlr7uAwICNGfOHM2ZM0d5eXlavny5nnrqKRUWFiorK6veegfqghlp4AqXl5enlJQUORwOPfDAA+e1j5ubm6KiovTCCy9IknmbRX3P6O3atUufffaZ09iSJUvUpEkT3XTTTZJkrqLw+eefO9UtX768xvGqz2CdTWxsrBk0fu3NN9+Ut7d3vSyX5+Pjo6ioKC1btsypr9OnT2vRokW69tprdf3111/weeqiaim2X982UFpaqrfeeqtGbatWrWq87mvXrtWxY8ecxnr16qU1a9aYs8aSVFlZqaVLl1o+ZnVhYWFq166dPvvssxqz8LXNxp+vunzNXAibzVbjg4yff/55jVuIrLr++uv19NNPKyIiwvz7WhVgq5/316v3VO3btm1bvf7667V+k1OlLn//Y2NjdezYsRrfoL355pvm9gvRokULPfzww+rTp89Fvw0MOBtmpIErSG5urnnfaGFhoTZs2KAFCxbIzc1NmZmZNVbY+LWqGawBAwaoRYsWOnnypF5//XVJMn+RS5MmTdSyZUv985//VGxsrJo2baqAgADLS4aFhIRo4MCBSk1NVfPmzbVo0SKtWrVK06dPl7e3tyTp5ptvVlhYmFJSUnTq1Cn5+fkpMzNTGzdurHG8iIgILVu2TC+++KIiIyPVqFGjM/6mv8mTJ+v9999Xr169NGnSJDVt2lSLFy/WihUrNGPGDHNlhAuVlpamPn36qFevXkpJSZGnp6fmzZun3Nxcvf3223X+7ZIXasCAAUpPT1diYqJGjRqlQ4cOadasWbWuVpGUlKRnnnlGkyZNUkxMjL788kvNnTu3xmvz9NNPa/ny5brttts0adIkeXt764UXXqh11ZbzPWZtXnrpJd1+++3q27evhg0bpmuuuUaHDx/W7t27tWPHDv3973+v8+sRERGhjIwMLV26VG3atFHjxo0VERFR5+OcS3x8vP785z9r8uTJiomJ0ddff62pU6eqdevWNVZeOR+ff/65Hn74Yf3hD39Qu3bt5OnpqbVr1+rzzz/XU089JUnq3r27/Pz8NHr0aE2ePFkeHh5avHhxjW9epV9WCUlISFC3bt306KOPqkWLFsrLy9NHH32k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F85msykzM1N33HFHQ7cCMCMNXEnKy8uVnZ2tuLg4p/G4uDht2rSpgboCAODKRJAGriA///yzKisrFRQU5DQeFBSkgoKCBuoKAIArE0EauALZbDan54Zh1BgDAAAXhiANXEECAgLk5uZWY/a5sLCwxiw1AAC4MARp4Ari6empyMhIrVq1yml81apV6t69ewN1BQDAlcm9oRsAUL8ee+wxJSUlqWvXroqOjtbLL7+svLw8jR49uqFbAwBLjh07pm+//dZ8vmfPHuXk5Khp06Zq0aJFA3aG3zqWvwOuQPPmzdOMGTOUn5+v8PBwzZ49W7feemtDtwUAlqxbt069evWqMT506FAtXLjw0jcE/C+CNAAAAGAB90gDAAAAFhCkAQAAAAsI0gAAAIAFBGkAAADAAoI0AAAAYAFBGgAAALCAIA0AAABYQJAGAAAALCBIAwAumr1798pmsyknJ+e890lNTdWNN9540XoCgPpCkAYAFzRs2DDdcccdlvatCq/VH/fdd1/9NnkZWbhwoa6++uqGbgPAFca9oRsAAFwcq1ev1g033GA+9/LyqlFjGIYqKyvl7s5/BwBQV8xIA8Bl4B//+IciIiLk5eUlf39/9e7dW8ePHz/rPv7+/goODjYfDodD69atk81m00cffaSuXbvKbrdrw4YN+u677/T73/9eQUFBuuqqq3TzzTdr9erVTsez2Wx67733nMauvvpqLVy40Hy+bds2denSRY0bN1bXrl21c+dOp/raZobfe+892Wy2s17LggUL1KFDBzVu3Fjt27fXvHnzzG1VM/DLli1Tr1695O3trc6dO2vz5s2SpHXr1um//uu/VFxcbM7Op6amnvV8AHA+CNIA4OLy8/P1xz/+UX/605+0e/durVu3ToMGDZJhGJaP+cQTTygtLU27d+9Wp06ddOzYMfXv31+rV6/Wzp071bdvXyUkJCgvL++8j3n8+HHFx8crLCxM2dnZSk1NVUpKiuUeq7zyyiuaOHGinn32We3evVvTpk3TM888ozfeeMOpbuLEiUpJSVFOTo6uv/56/fGPf9SpU6fUvXt3zZkzR76+vsrPz1d+fn699AUA/CwPAFxcfn6+Tp06pUGDBqlly5aSpIiIiHPu1717dzVq9H/zJRs2bDD/PHXqVPXp08d87u/vr86dO5vP//KXvygzM1PLly/Xww8/fF59Ll68WJWVlXr99dfl7e2tG264QT/++KMefPDB89r/TP785z/rueee06BBgyRJrVu31pdffqmXXnpJQ4cONetSUlI0YMAASdKUKVN0ww036Ntvv1X79u3lcDhks9kUHBx8Qb0AwK8RpAHAxXXu3FmxsbGKiIhQ3759FRcXp7vvvlt+fn5n3W/p0qXq0KGD+Tw0NNS83aFr165OtcePH9eUKVP0/vvva//+/Tp16pRKS0vrNCO9e/dude7cWd7e3uZYdHT0ee9fm4MHD2rfvn0aPny4Ro4caY6fOnVKDofDqbZTp07mn5s3by5JKiwsVPv27S+oBwA4E4I0ALg4Nzc3rVq1Sps2bdLKlSv1/PPPa+LEidq6datat259xv1CQ0N13XXX1brNx8fH6fnjjz+ujz76SLNmzdJ1110nLy8v3X333SovLzdrbDZbjdtJKioqzD+fz60mjRo1Ousxqjt9+rSkX27viIqKctrm5ubm9NzDw8Op11/vDwAXA/dIA8BlwGazqUePHpoyZYp27twpT09PZWZm1tvxN2zYoGHDhunOO+9URESEgoODtXfvXqeaZs2aKT8/33z+n//8RydOnDCfd+zYUZ999plKS0vNsS1bttQ4xtGjR50+KHm2NaaDgoJ0zTXX6Pvvv9d1113n9DjbNxHVeXp6qrKy8rzrAeB8EKQBwMVt3bpV06ZN06effqq8vDwtW7ZMBw8edLpt40Jdd911WrZsmXJycvTZZ58pMTGxxmzubbfdprlz52rHjh369NNPNXr0aKdZ4MTERDVq1EjDhw/Xl19+qQ8++ECzZs1yOkZUVJS8vb313//93/r222+1ZMkSp1U/apOamqq0tDT99a9/1TfffKMvvvhCCxYsUHp6+nlfX6tWrXTs2DGtWbNGP//8s9M3AABgFUEaAFycr6+vPvnkE/Xv31/XX3+9nn76aT333HO6/fbb6+0cs2fPlp+fn7p3766EhAT17dtXN910k1PNc889p9DQUN16661KTExUSkqK0/3QV111lf71r3/pyy+/VJcuXTRx4kRNnz7d6RhNmzbVokWL9MEHHygiIkJvv/32OZeiGzFihF599VUtXLhQERERiomJ0cKFC+s0I929e3eNHj1aQ4YMUbNmzTRjxozz3hcAzsRmXMj6SQAAAMBvFDPSAAAAgAUEaQAAAMACgjQAAABgAUEaAAAAsIAgDQAAAFhAkAYAAAAsIEgDAAAAFhCkAQAAAAsI0gAAAIAFBGkAAADAAoI0AAAAYMH/BzWUp2E/0x/6AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Your response here" + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "fraud_distribution = df_sample['isFraud'].value_counts()\n", + "\n", + "print(fraud_distribution)\n", + "\n", + "plt.figure(figsize=(8, 5))\n", + "sns.countplot(x='isFraud', data=df_sample)\n", + "plt.title('Distribution of Fraudulent Transactions')\n", + "plt.xlabel('Is Fraudulent')\n", + "plt.ylabel('Count')\n", + "plt.show()\n" ] }, { @@ -60,11 +99,181 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "step 0\n", + "type 0\n", + "amount 0\n", + "nameOrig 0\n", + "oldbalanceOrg 0\n", + "newbalanceOrig 0\n", + "nameDest 0\n", + "oldbalanceDest 0\n", + "newbalanceDest 0\n", + "isFraud 0\n", + "isFlaggedFraud 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(df_sample.isnull().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "import numpy as np\n", + "\n", + "df_sample['step_sin'] = np.sin(2 * np.pi * df_sample['step'] / 24)\n", + "df_sample['step_cos'] = np.cos(2 * np.pi * df_sample['step'] / 24)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
steptypeamountnameOrigoldbalanceOrgnewbalanceOrignameDestoldbalanceDestnewbalanceDestisFraudisFlaggedFraud
01PAYMENT9839.64C1231006815170136.0160296.36M19797871550.00.000
11PAYMENT1864.28C166654429521249.019384.72M20442822250.00.000
21TRANSFER181.00C1305486145181.00.00C5532640650.00.010
31CASH_OUT181.00C840083671181.00.00C3899701021182.00.010
41PAYMENT11668.14C204853772041554.029885.86M12307017030.00.000
\n", + "
" + ], + "text/plain": [ + " step type amount nameOrig oldbalanceOrg newbalanceOrig \\\n", + "0 1 PAYMENT 9839.64 C1231006815 170136.0 160296.36 \n", + "1 1 PAYMENT 1864.28 C1666544295 21249.0 19384.72 \n", + "2 1 TRANSFER 181.00 C1305486145 181.0 0.00 \n", + "3 1 CASH_OUT 181.00 C840083671 181.0 0.00 \n", + "4 1 PAYMENT 11668.14 C2048537720 41554.0 29885.86 \n", + "\n", + " nameDest oldbalanceDest newbalanceDest isFraud isFlaggedFraud \n", + "0 M1979787155 0.0 0.0 0 0 \n", + "1 M2044282225 0.0 0.0 0 0 \n", + "2 C553264065 0.0 0.0 1 0 \n", + "3 C38997010 21182.0 0.0 1 0 \n", + "4 M1230701703 0.0 0.0 0 0 " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" ] }, { @@ -76,11 +285,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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LVv01lWNGjWkcePGSf/973+ldevWSWXLlpU6dOhgcv1/++23EgCpa9eu0s6dO6WtW7dKzZs3l7y8vKRjx45JkiRJ165dkz7//HMJgDRv3jwpLi5Ounz5ssFpzpkzRwIgvfLKK9KRI0ekJ0+eyJa7fPmy1KZNGyk4OFizTOLi4iRJkqS8vDypW7duUunSpaVZs2ZJBw8elNatWydVrlxZioiI0JlmaGioVLlyZalatWrS+vXrpb1790qvvvqqBED69NNPTS4DIiKyndzcXKlUqVJSy5YthWNGjRolAZDGjh0r7d+/X1q9erVUoUIFqWrVqtKdO3ckSTLdfygUGhoqvfbaa5ph0f6JJEnS119/LalUKqlv377S9u3bpd27d0u9evWS3N3dpUOHDgnPT+G5+vTp05pxM2bMkABIoaGh0vvvvy8dPHhQ2rlzpyRJkvT9999LH374obRjxw4pNjZW2rJli9SuXTupQoUKmvnXnq6pPkBCQoLk4+MjdenSRdq5c6d05MgR6dtvv5WGDh0q3b9/X0pPT5fi4uKk4OBgqU2bNprzcVZWlpSamipVrlxZqlChgrR69Wpp//790tixYyUA0ttvv61TR2Ffq0OHDtIPP/wgHThwQEpISNDMa506daSPPvpIOnjwoPSvf/1Ls47r1q0rLVu2TDp48KD0+uuvSwCkbdu2aab94MEDafjw4dLXX38tHT58WNq/f780adIkyc3NTfrqq6805eLi4iRfX1+pR48emnko7K8UrveffvpJU16kD6S9rurUqSN9+OGH0sGDB6VFixZJ3t7e0uuvv25y/c+bN0/TL4qJiZE2btwo1ahRQ1Kr1dIff/whSVJBn2jatGma/mBcXJx07do1g9MUvd4w1v98/Pix1KRJE6l8+fLSokWLpEOHDklLly6V1Gq11LFjRyk/P18zHQBS1apVpYiICGnz5s3Srl27pG7duuldQxAZwqQUkR3dvXtXev755yUAEgDJ09NTat26tTR//nzp4cOHOmUNJaUaNmyo0yk6deqUBEDavHmzZlzdunWlpk2bSjk5OTrT7NWrlxQSEiLl5eUJtddYUmrYsGEm43Nzc6Xs7GypVq1a0oQJE/SmWzQ59N1330kANMmHX3/9VQKg6YgZ0q5dO6l+/fo641avXi0BkL777jud8R9//LEEQDpw4IBmHABJrVZLaWlpOmUL53XcuHE64/v27SsBkBYtWqQzvkmTJlKzZs0MtjMvL0/KycmRZs+eLZUrV07nhF6/fn2d9V1ILinVqlUrKSgoSGebyc3NlRo0aCBVqVJFM93C9o8ZM0Znmp988okEQEpOTjba1kqVKkkNGzbU2V4ePnwoBQUFSa1bt9aMk9tODMnKytIsPwCSu7u71LRpU2nq1KlSamqqTtmePXtKoaGhetPYvHmzXqdUkiTp9OnTEgBp5cqVmnGhoaGSSqWSzp8/r1O2S5cuUkBAgPT48WOTbSYiIttISUmRAEiDBg0SKn/lyhXZ89rJkyclANIHH3wgSZJ4/8FQUspU/+Tx48dSYGCg1Lt3b51yeXl5UuPGjaXIyEih+ZEk40mpDz/80GR8bm6u9OjRI6l06dLS0qVL9aZrqg/www8/SAD0zpNFhYaGSj179tQZN3nyZAmAdPLkSZ3xb7/9tqRSqaTff/9dkqRnfZnw8HC9BEnhvBb9Uq9JkyYSAGn79u2acTk5OVKFChWk/v37G10eOTk50htvvCE1bdpU57PSpUvrrO9CRZNSSvpAhe3/5JNPdKY5ZswYycfHR6evV9T9+/c1iTJtSUlJkre3tzR48GDNOLntxBAl1xuG+p/z58+X3Nzc9Oor3F727t2rGQdA8vX1lVJSUjTjcnNzpbp160o1a9Y02V4i/nyPyI7KlSuHY8eO4fTp01iwYAFefPFF/PHHH5gyZQoaNmyIu3fvmpxGz549dR5q2KhRIwDQ3LZ97do1XL16Fa+++ioAIDc3V/PXo0cPJCcny96CrtSAAQP0xuXm5mLevHmIiIiAl5cXPDw84OXlhT///FPnNuRCRZ8PUXReatasibJly+L999/H6tWrFT0z6vDhwyhdurTes7AKb3cuent9x44dUbZsWdlp9erVS2e4Xr16AArWRdHxRW+fP3z4MDp37gy1Wg13d3d4enriww8/xL1795Camio8P4UeP36MkydP4qWXXtL5CZy7uzuGDh2Kmzdv6q1fU8tZzu+//47bt29j6NChOrd6+/n5YcCAAThx4gSePHmiuP3e3t7YsWMH4uPjsXjxYgwaNAh37tzB3LlzUa9ePaFtc8+ePShTpgx69+6ts303adIEwcHBerff169fH40bN9YZN3jwYGRkZODs2bOK54GIiBzjp59+AgC9ny5FRkaiXr16mnO7Jf0HwPR58/jx40hLS8Nrr72mcx7Kz89Ht27dcPr0ab2fOJlDrq/16NEjvP/++6hZsyY8PDzg4eEBPz8/PH782Ky+VpMmTeDl5YVRo0bhq6++wl9//SXcvsOHDyMiIkLvGUfDhw+HJEk4fPiwXls8PT1lpyXX11KpVOjevbtmnIeHB2rWrKnXf/n+++/Rpk0b+Pn5wcPDA56envjiiy9kl4cIc/pAcss5KyvLaF8vLi4OmZmZettz1apV0bFjR7N/CmqN6409e/agQYMGaNKkic42/sILL8j+1LFTp06oWLGiZtjd3R0DBw7EtWvX9H5aS1QUk1JEDvDcc8/h/fffx/fff4/bt29jwoQJSExM1PudvJxy5crpDBc+fyEzMxMA8L///Q8AMGnSJHh6eur8jRkzBgCETkamhISE6I2bOHEipk+fjr59+2L37t04efIkTp8+jcaNG2vap2Re1Go1YmNj0aRJE3zwwQeoX78+KlWqhBkzZug9u6moe/fuITg4WO/h60FBQfDw8MC9e/dMzk+hwMBAnWEvLy+D47OysjTDp06dQteuXQEUvFnol19+wenTpzF16lSd+VTi/v37kCRJtr2VKlUCAL15M7Wc5RROw1A9+fn5uH//vrLGa6lXrx7effddfPPNN0hKSsKiRYtw7949TJ8+3WTs//73Pzx48ABeXl5623hKSore9h0cHKw3jcJxRZcVERHZT/ny5VGqVCkkJCQIlTd1bir83JL+AyDe13rppZf0zkMff/wxJElCWlqa0DwZIzefgwcPxooVK/Dmm2/iv//9L06dOoXTp0+jQoUKZvW1wsPDcejQIQQFBeEf//gHwsPDER4ejqVLl5ps37179xT1R5T2tUqVKgUfHx+98dp9re3bt+Pll19G5cqV8c033yAuLg6nT5/GiBEjdMopYU4fyBZ9LUv7KJZcb/zvf//DhQsX9LZvf39/SJLEvhZZlf7Tz4jIrjw9PTFjxgwsXrwYly5dsnh65cuXBwBMmTIF/fv3ly1Tp04di+uRe9PeN998g2HDhmHevHk64+/evYsyZcqYVU/Dhg2xZcsWSJKECxcuYMOGDZg9ezZ8fX0xefJkg3HlypXDyZMndd7mBgCpqanIzc3VLCdj82OpLVu2wNPTE3v27NHpVO3cudPsaZYtWxZubm5ITk7W+6zwwaVF580chZ0rQ/W4ubkZvLNMKZVKhQkTJmD27NlC+0Dhw1r3798v+3nRt/qlpKTolSkcV7QTSURE9uPu7o5OnTph3759uHnzJqpUqWK0vPa5qWjZ27dv65z/zO0/iCisZ/ny5WjVqpVsGe27RsxVtG+Snp6OPXv2YMaMGTrz8PTpU4uSYNHR0YiOjkZeXh5+/fVXLF++HO+++y4qVqyIQYMGGYwrV66cov6ILfpa33zzDcLCwrB161ad6Rd9qY0S9uoDmarHGv25QkqvN8qXLw9fX1+sX7/e4Ofa2NciS/BOKSI7kjvpANDcXlz4zZIl6tSpg1q1auG3337Dc889J/tX9KLdWlQqld6bc2JiYnDr1i2rTLtx48ZYvHgxypQpY/JnV506dcKjR4/0EkAbN27UfG5rKpUKHh4eOj+3zMzMxNdff61X1tvbW+jOqdKlS6Nly5bYvn27Tvn8/Hx88803qFKlCmrXrm1x2+vUqYPKlStj06ZNOm8KfPz4MbZt26Z5G41ShvaB27dvIyMjQ2cfMLRMevXqhXv37iEvL092+y6adL18+TJ+++03nXGbNm2Cv78/mjVrpngeiIjIeqZMmQJJkjBy5EhkZ2frfZ6Tk4Pdu3cDKPipPVCQiNB2+vRpXLlyRfbcrrT/IKJNmzYoU6YM4uPjDfa1Cu+qtiaVSgVJkvT6WuvWrUNeXp7F03d3d0fLli3x+eefA4BQXys+Pl6v3MaNG6FSqdChQweL22SKSqWCl5eXTkIqJSVF7+17gHhfy1Z9oKKioqLg6+urtz3fvHkThw8fNruvquR6w1hf6/r16yhXrpzs9q39lj6g4LEYhXcQAkBeXh62bt2K8PBwk8lmIt4pRWRHL7zwAqpUqYLevXujbt26yM/Px/nz5/HZZ5/Bz88P77zzjlXq+fe//43u3bvjhRdewPDhw1G5cmWkpaXhypUrOHv2LL7//nur1FNUr169sGHDBtStWxeNGjXCmTNn8Omnn5p9MtqzZw9WrlyJvn37okaNGpAkCdu3b8eDBw/QpUsXo7HDhg3D559/jtdeew2JiYlo2LAhfv75Z8ybNw89evRA586dzWqTEj179sSiRYswePBgjBo1Cvfu3cPChQtlX3ld+I3u1q1bUaNGDfj4+KBhw4ay050/fz66dOmCDh06YNKkSfDy8sLKlStx6dIlbN682SrfRLq5ueGTTz7Bq6++il69euGtt97C06dP8emnn+LBgwdYsGCBWdMdNWoUHjx4gAEDBqBBgwZwd3fH1atXsXjxYri5ueH999/XlG3YsCG2b9+OVatWoXnz5nBzc8Nzzz2HQYMG4dtvv0WPHj3wzjvvIDIyEp6enrh58yZ++uknvPjii+jXr59mOpUqVUKfPn0wc+ZMhISE4JtvvsHBgwfx8ccfW6VTSURE5ouKisKqVaswZswYNG/eHG+//Tbq16+PnJwcnDt3DmvWrEGDBg3Qu3dv1KlTB6NGjcLy5cvh5uaG7t27IzExEdOnT0fVqlUxYcIEAJb1H0T4+flh+fLleO2115CWloaXXnoJQUFBuHPnDn777TfcuXMHq1atsrieogICAtC2bVt8+umnKF++PKpXr47Y2Fh88cUXZt+Rvnr1ahw+fBg9e/ZEtWrVkJWVpbk7xlRfacKECdi4cSN69uyJ2bNnIzQ0FDExMVi5ciXefvttq3xJZkqvXr2wfft2jBkzBi+99BL+/vtvfPTRRwgJCcGff/6pU7Zhw4Y4cuQIdu/ejZCQEPj7+8v+esBWfaCiypQpg+nTp+ODDz7AsGHD8Morr+DevXuYNWsWfHx8MGPGDLOmq+R6w1D/891338W2bdvQtm1bTJgwAY0aNUJ+fj6SkpJw4MABvPfee2jZsqVmOuXLl0fHjh0xffp0lC5dGitXrsTVq1exZcsWi5cTFX9MShHZ0bRp0/Cf//wHixcvRnJyMp4+fYqQkBB07twZU6ZM0TxA21IdOnTAqVOnMHfuXLz77ru4f/8+ypUrh4iICLz88stWqUPO0qVL4enpifnz5+PRo0do1qwZtm/fjmnTppk1vVq1aqFMmTL45JNPcPv2bXh5eaFOnTrYsGEDXnvtNaOxPj4++OmnnzB16lR8+umnuHPnDipXroxJkyaZfZJXqmPHjli/fj0+/vhj9O7dG5UrV8bIkSMRFBSEN954Q6fsrFmzkJycjJEjR+Lhw4cIDQ1FYmKi7HTbtWuHw4cPY8aMGRg+fDjy8/PRuHFj7Nq1S+9BoZYYPHgwSpcujfnz52PgwIFwd3dHq1at8NNPP6F169ZmTXPcuHHYunUr1q5di1u3buHx48eoUKECoqKisHHjRp2fQbzzzju4fPkyPvjgA6Snp0MqeGMs3N3dsWvXLixduhRff/015s+fDw8PD1SpUgXt2rXTS+Y1adIEr7/+OmbMmIE///wTlSpVwqJFizQXL0RE5FgjR45EZGQkFi9ejI8//hgpKSnw9PRE7dq1MXjwYIwdO1ZTdtWqVQgPD8cXX3yBzz//HGq1Gt26dcP8+fM1PxOypP8gasiQIahWrRo++eQTvPXWW3j48CGCgoLQpEkTvQdXW9OmTZvwzjvv4F//+hdyc3PRpk0bHDx4UO/lK6KaNGmCAwcOYMaMGUhJSYGfnx8aNGiAXbt2aZ6LaUiFChVw/PhxTJkyBVOmTEFGRgZq1KiBTz75BBMnTjSrPUq9/vrrSE1NxerVq7F+/XrUqFEDkydPxs2bNzFr1iydskuXLsU//vEPDBo0CE+ePEG7du30HthdyBZ9IDlTpkxBUFAQli1bhq1bt8LX1xft27fHvHnzUKtWLbOmqeR6w1D/s3Tp0jh27BgWLFiANWvWICEhAb6+vqhWrRo6d+6sd6dUnz59UL9+fUybNg1JSUkIDw/Ht99+i4EDB1qyeKiEUEna9yQSEREVI9WrV0eDBg2wZ88eRzeFiIiIqNhRqVT4xz/+gRUrVji6KeSi+EwpIiIiIiIiIiKyOyaliIiIiIiIiIjI7vjzPSIiIiIiIiIisjveKUVERERERERERHbHpBQREREREREREdkdk1JERERERERERGR3Ho5uQHGQn5+P27dvw9/fHyqVytHNISIiIiuRJAkPHz6Ev78/AgICeJ63IvafiIiIiq/CPlSlSpXg5mb4figmpazg9u3bqFq1qqObQURERDaUnp6OgIAARzej2GD/iYiIqPj7+++/UaVKFYOfMyllBf7+/gAKFjY7q0RERMVHRkYGqlatir///ltzvifrYP+JiIio+CrsQ5nqPzEpZQWFt5wHBASwU0VERFQM8ad71sf+ExERUfFnqv/EB50TEREREREREZHdMSlFRERERERERER2x6QUERERERERERHZHZNSRERERERERERkd0xKERERERERERGR3TEpRUREREREREREdsekFBERERERERER2R2TUkREREREREREZHdMShERERERERERkd0xKUVERERERERERHbHpBQREREREREREdkdk1JERERERERERGR3TEoREREREREREZHdMSlFRERERERERER2x6QUERERERERERHZnYejG0Bidp1IwvidFzXDy/o2RJ9W1RzYIiLXkZ2b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U2g5X8T+s6PQdEwRXU5uKuCttmGYonU3D9et4XqKMnatU3RftaYrH3U3mJjy9XTDlY+6y37mjP1SlSRJJfxRj5bLyMiAWq1Geno6AgLEM8sifr/9ED2WH0WeVPD8A7kHc4ruvHKvUC1OFwN5+RJOJaQh9WEW3tlyXu9zeywne8Vqz2uQvw9eWXvCIfWOW3sCd7U+r4CCO6TkZGbnYd7eeCTee4Jjf97V+9xYex2xbp1lGTcPLYszN+5rhiPDAu3y7UXRdhirN/1JDkZsOIXb6VmopPbB2mEt8Pv/Htq8zdm5+fg6LhE30p6gatlSqFvRH2mZ2UJ1Kpk/Y7YfT9R5G9+iPvUN3kllrTod6bUVMTpv2WtXRfxOqnU/XtF5y960LjVc4g4pW57jSzpbL9uifai949oavJPKUed+c03cHKvzlr3+jf2E76QqSsmxyRX6SCKxm0e2csj8Lh3UROj4LxcbXas8qpcrhQ96RBi868KZ5tXZ691y7LrOW/YW9KwrfCeVtc7nRftP64dHWnyHlJzmk2N03sZXFsDYnvVwI+0JQgNLYWhUdXh5yCc34m9moNeKY8hHwd0s/xnzPB7l5ArN+3tbjuq8ZW9AE3/hO6mW7PtN521849tWRlSdqkL1nvnrvs5b9raNai18J5Ul61b7WsfUvmpNKQ+y0Gv5UWRk5SLAxwN7xrXVu0NKjj36paLneSalrIAdViIiouKJ53jb4bIlIiIqvkTP8/z5HhERERERERER2R2TUkREREREREREZHdMShERERERERERkd0xKUVERERERERERHbHpBQREREREREREdkdk1JERERERERERGR3TEoREREREREREZHdMSlFRERERERERER2x6QUERERERERERHZHZNSRERERERERERkd0xKERERERERERGR3TEpRUREREREREREdsekFBERERERERER2R2TUkREREREREREZHdMShERERERERERkd0xKUVERERERERERHbHpBQREREREREREdkdk1JERERERERERGR3TEoREREREREREZHdMSlFRERERERERER2x6QUERERERERERHZHZNSRERERERERERkd0xKERERERERERGR3TEpRUREREREREREdsekFBERERERERER2R2TUkREREREREREZHdMShERERERERERkd0xKUVERERERERERHbH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lyuFD3pEwNfLHQDQYHKMzlv2/CB/h5QcU8fd328/RI/lR5EnAe4qYO+4tqhTyR8A0GNGDOKfPptWhDewd5bYujXlUVYuJmw9h6T7mahW1heLBzaF3/89e8lY39KWhi6L0XnLXnQl8TupUh5kodfyo8jIykWAjwf2jGvrdHdIiZ7nmZSyAkckpYiIiMj2bHGOf/LkCeLj45Gfn4+IiAj4+dm+4+uM2H8iIiIqvkTP82Y/lj07OxsJCQkIDw+Hh4drPd2diIiIyFFKlSqF5557ztHNICIiInI4xffEP3nyBG+88QZKlSqF+vXra54/MH78eCxYsMDqDSQiIiIqDh4/fozp06ejdevWqFmzJmrUqKHzR0RERFTSKL7FacqUKfjtt99w5MgRdOvWTTO+c+fOmDFjBiZPnmzVBhIREREVB2+++SZiY2MxdOhQhISEQKVy3mcIEREREdmD4qTUzp07sXXrVrRq1UqnMxUREYHr169btXFERERExcW+ffsQExODNm3aOLopRERERE5B8c/37ty5g6Ag/VdFPn78mN/4ERERERlQtmxZBAYGOroZRERERE5DcVKqRYsWiIl59mrJwkTU2rVrERUVZb2WERERERUjH330ET788EM8efLE0U0hIiIicgqKf743f/58dOvWDfHx8cjNzcXSpUtx+fJlxMXFITY21hZtJCIiInJ5n332Ga5fv46KFSuievXq8PT01Pn87NmzDmoZERERkWMoTkq1bt0av/zyCxYuXIjw8HAcOHAAzZo1Q1xcHBo2bGiLNhIRERG5vL59+zq6CURERERORSVJkuToRri6jIwMqNVqpKenIyAgwNHNISIiIivhOd52uGyJiIiKL9HzvOI7pQAgPz8f165dQ2pqKvLz83U+a9u2rTmTJCIiIiIiIiKiEkRxUurEiRMYPHgwbty4gaI3WalUKuTl5VmtcURERESuLDAwEH/88QfKly+PsmXLGn1TcVpamh1bRkREROR4ipNSo0ePxnPPPYeYmBiEhIQY7VwRERERlWSLFy+Gv7+/5n/2m4iIiIieUfxMqdKlS+O3335DzZo1bdUml8NnIhARERVPPMfbDpctERFR8SV6nndTOuGWLVvi2rVrFjWOiIiIqKQ5e/YsLl68qBn+z3/+g759++KDDz5Adna2A1tGRERE5BiKf743btw4vPfee0hJSUHDhg3h6emp83mjRo2s1jgiIiKi4uKtt97C5MmT0bBhQ/z1118YOHAg+vfvj++//x5PnjzBkiVLHN1EIiIiIrtSnJQaMGAAAGDEiBGacSqVCpIk8UHnRERERAb88ccfaNKkCQDg+++/R7t27bBp0yb88ssvGDRoEJNSREREVOIoTkolJCTYoh1ERERExZokScjPzwcAHDp0CL169QIAVK1aFXfv3nVk04iIiIgcQnFSKjQ01BbtICIiIirWnnvuOcyZMwedO3dGbGwsVq1aBaDgC7+KFSs6uHVERERE9ieUlNq1axe6d+8OT09P7Nq1y2jZPn36WKVhRERERMXJkiVL8Oqrr2Lnzp2YOnWq5k3GP/zwA1q3bu3g1hERERHZn0qSJMlUITc3N6SkpCAoKAhuboZf2FdSnynFVxoTEREVT/Y4x2dlZcHd3V3v5THFHftPRERExZfoeV7oTqnC5x8U/Z+IiIiIlDlz5gyuXLkClUqFevXqoVmzZo5uEhEREZFDKH6mFBEREREpl5qaioEDByI2NhZlypSBJElIT09Hhw4dsGXLFlSoUMHRTSQiIiKyK8O/xSvi5MmT2Ldvn864jRs3IiwsDEFBQRg1ahSePn1q9QYSERERFQfjxo3Dw4cPcfnyZaSlpeH+/fu4dOkSMjIyMH78eEc3j4iIiMjuhJNSM2fOxIULFzTDFy9exBtvvIHOnTtj8uTJ2L17N+bPn2+TRhIRERG5uv3792PVqlWoV6+eZlxERAQ+//xzvS/+iIiIiEoC4aTU+fPn0alTJ83wli1b0LJlS6xduxYTJ07EsmXL8N1339mkkURERESuLj8/X/Zh5p6ennxmJxEREZVIwkmp+/fvo2LFiprh2NhYdOvWTTPcokUL/P3339ZtHREREVEx0bFjR7zzzju4ffu2ZtytW7cwYcIEnS/+iIiIiEoK4aRUxYoVkZCQAADIzs7G2bNnERUVpfn84cOHJe5VxkRERESiVqxYgYcPH6J69eoIDw9HzZo1ERYWhocPH2L58uWObh4RERGR3Qm/fa9bt26YPHkyPv74Y+zcuROlSpVCdHS05vMLFy4gPDzcJo0kIiIicnVVq1bF2bNncfDgQVy9ehWSJCEiIgKdO3d2dNOIiIiIHEI4KTVnzhz0798f7dq1g5+fH7766it4eXlpPl+/fj26du1qk0YSERERFRddunRBly5dHN0MIiIiIocT/vlehQoVcOzYMdy/fx/3799Hv379dD7//vvvMWPGDKs3kIiIiMiVHT58GBEREcjIyND7LD09HfXr18exY8cc0DIiIiIixxJOShVSq9Vwd3fXGx8YGKhz5xQRERERAUuWLMHIkSMREBCg95larcZbb72FRYsWOaBlRERERI6lOClFREREROJ+++03nTcWF9W1a1ecOXPGji0iIiIicg5MShERERHZ0P/+9z+jbyj28PDAnTt37NgiIiIiIufApBQRERGRDVWuXBkXL140+PmFCxcQEhJixxYREREROQcmpYiIiIhsqEePHvjwww+RlZWl91lmZiZmzJiBXr16OaBlRERERI7l4egGEBERERVn06ZNw/bt21G7dm2MHTsWderUgUqlwpUrV/D5558jLy8PU6dOdXQziYiIiOyOSSkiIiIiG6pYsSKOHz+Ot99+G1OmTIEkSQAAlUqFF154AStXrkTFihUd3EoiIiIi+2NSioiIiMjGQkNDsXfvXty/fx/Xrl2DJEmoVasWypYt6+imERERETkMk1JEREREdlK2bFm0aNHC0c0gIiIicgp80DkREREREREREdkdk1JERERERERERGR3TEoREREREREREZHdMSlFRERERERERER2x6QUERERERERERHZHZNSRERERERERERkd0xKERERERERERGR3blMUur+/fsYOnQo1Go11Go1hg4digcPHhgsn5OTg/fffx8NGzZE6dKlUalSJQwbNgy3b9/WKde+fXuoVCqdv0GDBtl4boiIiIjsg30oIiIiclYejm6AqMGDB+PmzZvYv38/AGDUqFEYOnQodu/eLVv+yZMnOHv2LKZPn47GjRvj/v37ePfdd9GnTx/8+uuvOmVHjhyJ2bNna4Z9fX1tNyNWUn1yjN64xAU9AQBdp8bgj7xn42u7Awfm9jQZGzk5Bqla44IAnFrQU6+stTWfHIN7WsPlAJwRrLfPRzG48PjZcKPSwK7purGG5rf95BgkapcDcGSBWGzDyTF4qDXOH8BFwdjwyTHQWj1wB3B9gen1AwC1JscgR2u8J4A/BWOjJscgWWt8CIA4gdhWk2OQojUuGMAJwXntNDkG17XGhQP4UTDW2LzYMjZicgyeaI0rBSBeMLbG5Bjka41zA/CXldqcly/hVEIaUh9mIcjfB5FhgXB3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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Your code here" + "df_sample['step_sin'] = np.sin(2 * np.pi * df_sample['step'] / 24)\n", + "df_sample['step_cos'] = np.cos(2 * np.pi * df_sample['step'] / 24)\n", + "\n", + "plt.figure(figsize=(12, 6))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.scatter(df_sample['step'], df_sample['step_sin'])\n", + "plt.title('Sine Transformation of Step')\n", + "plt.xlabel('Step')\n", + "plt.ylabel('Sine Value')\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "plt.scatter(df_sample['step'], df_sample['step_cos'])\n", + "plt.title('Cosine Transformation of Step')\n", + "plt.xlabel('Step')\n", + "plt.ylabel('Cosine Value')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n" ] }, { @@ -92,11 +330,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "KeyError", + "evalue": "\"None of [Index(['Replecedd'], dtype='object')] are in the [columns]\"", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/elsonluis/Desktop/Ironhack/Week7/lab-imbalance/your-code/lab_imbalance.ipynb Cell 14\u001b[0m line \u001b[0;36m9\n\u001b[1;32m 7\u001b[0m onehot_encoder \u001b[39m=\u001b[39m OneHotEncoder()\n\u001b[1;32m 8\u001b[0m categorical_columns \u001b[39m=\u001b[39m [\u001b[39m\"\u001b[39m\u001b[39mReplecedd\u001b[39m\u001b[39m\"\u001b[39m] \n\u001b[0;32m----> 9\u001b[0m encoded_categorical \u001b[39m=\u001b[39m onehot_encoder\u001b[39m.\u001b[39mfit_transform(df_sample[categorical_columns])\u001b[39m.\u001b[39mtoarray()\n", + "File \u001b[0;32m~/anaconda3/lib/python3.11/site-packages/pandas/core/frame.py:3767\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3765\u001b[0m \u001b[39mif\u001b[39;00m is_iterator(key):\n\u001b[1;32m 3766\u001b[0m key \u001b[39m=\u001b[39m \u001b[39mlist\u001b[39m(key)\n\u001b[0;32m-> 3767\u001b[0m indexer \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mcolumns\u001b[39m.\u001b[39m_get_indexer_strict(key, \u001b[39m\"\u001b[39m\u001b[39mcolumns\u001b[39m\u001b[39m\"\u001b[39m)[\u001b[39m1\u001b[39m]\n\u001b[1;32m 3769\u001b[0m \u001b[39m# take() does not accept boolean indexers\u001b[39;00m\n\u001b[1;32m 3770\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mgetattr\u001b[39m(indexer, \u001b[39m\"\u001b[39m\u001b[39mdtype\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39mNone\u001b[39;00m) \u001b[39m==\u001b[39m \u001b[39mbool\u001b[39m:\n", + "File \u001b[0;32m~/anaconda3/lib/python3.11/site-packages/pandas/core/indexes/base.py:5877\u001b[0m, in \u001b[0;36mIndex._get_indexer_strict\u001b[0;34m(self, key, axis_name)\u001b[0m\n\u001b[1;32m 5874\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m 5875\u001b[0m keyarr, indexer, new_indexer \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_reindex_non_unique(keyarr)\n\u001b[0;32m-> 5877\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_raise_if_missing(keyarr, indexer, axis_name)\n\u001b[1;32m 5879\u001b[0m keyarr \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mtake(indexer)\n\u001b[1;32m 5880\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39misinstance\u001b[39m(key, Index):\n\u001b[1;32m 5881\u001b[0m \u001b[39m# GH 42790 - Preserve name from an Index\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/lib/python3.11/site-packages/pandas/core/indexes/base.py:5938\u001b[0m, in \u001b[0;36mIndex._raise_if_missing\u001b[0;34m(self, key, indexer, axis_name)\u001b[0m\n\u001b[1;32m 5936\u001b[0m \u001b[39mif\u001b[39;00m use_interval_msg:\n\u001b[1;32m 5937\u001b[0m key \u001b[39m=\u001b[39m \u001b[39mlist\u001b[39m(key)\n\u001b[0;32m-> 5938\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(\u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mNone of [\u001b[39m\u001b[39m{\u001b[39;00mkey\u001b[39m}\u001b[39;00m\u001b[39m] are in the [\u001b[39m\u001b[39m{\u001b[39;00maxis_name\u001b[39m}\u001b[39;00m\u001b[39m]\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m 5940\u001b[0m not_found \u001b[39m=\u001b[39m \u001b[39mlist\u001b[39m(ensure_index(key)[missing_mask\u001b[39m.\u001b[39mnonzero()[\u001b[39m0\u001b[39m]]\u001b[39m.\u001b[39munique())\n\u001b[1;32m 5941\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(\u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39m{\u001b[39;00mnot_found\u001b[39m}\u001b[39;00m\u001b[39m not in index\u001b[39m\u001b[39m\"\u001b[39m)\n", + "\u001b[0;31mKeyError\u001b[0m: \"None of [Index(['Replecedd'], dtype='object')] are in the [columns]\"" + ] + } + ], "source": [ - "# Your code here" + "from sklearn.model_selection import train_test_split\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "\n", + "onehot_encoder = OneHotEncoder()\n", + "categorical_columns = [\"Replecedd\"] \n", + "encoded_categorical = onehot_encoder.fit_transform(df_sample[categorical_columns]).toarray()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "could not convert string to float: 'CASH_IN'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/var/folders/3g/cbmc9mq12pg8d2rz5v_htfs00000gn/T/ipykernel_26426/2722076106.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mX_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX_test\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_test\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrain_test_split\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrandom_state\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m42\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mRandomForestClassifier\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrandom_state\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m42\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(estimator, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1147\u001b[0m skip_parameter_validation=(\n\u001b[1;32m 1148\u001b[0m \u001b[0mprefer_skip_nested_validation\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mglobal_skip_validation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1149\u001b[0m )\n\u001b[1;32m 1150\u001b[0m ):\n\u001b[0;32m-> 1151\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfit_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/ensemble/_forest.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[1;32m 344\u001b[0m \"\"\"\n\u001b[1;32m 345\u001b[0m \u001b[0;31m# Validate or convert input data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 346\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0missparse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 347\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"sparse multilabel-indicator for y is not supported.\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 348\u001b[0;31m X, y = self._validate_data(\n\u001b[0m\u001b[1;32m 349\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmulti_output\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maccept_sparse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"csc\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mDTYPE\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 350\u001b[0m )\n\u001b[1;32m 351\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msample_weight\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y, reset, validate_separately, cast_to_ndarray, **check_params)\u001b[0m\n\u001b[1;32m 617\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m\"estimator\"\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mcheck_y_params\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 618\u001b[0m \u001b[0mcheck_y_params\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mdefault_check_params\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_y_params\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 619\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"y\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_y_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 620\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 621\u001b[0;31m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_X_y\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 622\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 623\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 624\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mno_val_X\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mcheck_params\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"ensure_2d\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator)\u001b[0m\n\u001b[1;32m 1143\u001b[0m raise ValueError(\n\u001b[1;32m 1144\u001b[0m \u001b[0;34mf\"{estimator_name} requires y to be passed, but the target y is None\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1145\u001b[0m )\n\u001b[1;32m 1146\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1147\u001b[0;31m X = check_array(\n\u001b[0m\u001b[1;32m 1148\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1149\u001b[0m \u001b[0maccept_sparse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maccept_sparse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1150\u001b[0m \u001b[0maccept_large_sparse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maccept_large_sparse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[0m\n\u001b[1;32m 914\u001b[0m )\n\u001b[1;32m 915\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mxp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 916\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 917\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_asarray_with_order\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxp\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 918\u001b[0;31m \u001b[0;32mexcept\u001b[0m \u001b[0mComplexWarning\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mcomplex_warning\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 919\u001b[0m raise ValueError(\n\u001b[1;32m 920\u001b[0m \u001b[0;34m\"Complex data not supported\\n{}\\n\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 921\u001b[0m ) from complex_warning\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/sklearn/utils/_array_api.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(array, dtype, order, copy, xp)\u001b[0m\n\u001b[1;32m 376\u001b[0m \u001b[0;31m# Use NumPy API to support order\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 377\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcopy\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 378\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 380\u001b[0;31m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 381\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 382\u001b[0m \u001b[0;31m# At this point array is a NumPy ndarray. We convert it to an array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 383\u001b[0m \u001b[0;31m# container that is consistent with the input's namespace.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.11/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 1996\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__array__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnpt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDTypeLike\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1997\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1998\u001b[0;31m \u001b[0marr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1999\u001b[0m if (\n\u001b[1;32m 2000\u001b[0m \u001b[0mastype_is_view\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2001\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0musing_copy_on_write\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: could not convert string to float: 'CASH_IN'" + ] + } + ], + "source": [ + "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n", + "\n", + "X = df_sample.drop('isFraud', axis=1) \n", + "y = df_sample['isFraud'] \n", + "\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n", + "\n", + "model = RandomForestClassifier(random_state=42)\n", + "model.fit(X_train, y_train)\n", + "\n", + "\n", + "y_pred = model.predict(X_test)\n", + "\n", + "\n", + "accuracy = accuracy_score(y_test, y_pred)\n", + "print(\"Accuracy:\", accuracy)\n", + "\n", + "\n", + "print(\"Classification Report:\\n\", classification_report(y_test, y_pred))\n", + "print(\"Confusion Matrix:\\n\", confusion_matrix(y_test, y_pred))\n" ] }, { @@ -139,7 +447,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.11.5" } }, "nbformat": 4,