diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2da4b8d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "sqltools.useNodeRuntime": true, + "sqltools.connections": [ + { + "previewLimit": 50, + "driver": "SQLite", + "database": "${workspaceFolder:tt-bootcamp}/you_do_1/data/new_db.db", + "name": "connection 1" + } + ] +} \ No newline at end of file diff --git a/week2/capstone/best_model.pkl b/week2/capstone/best_model.pkl new file mode 100644 index 0000000..1f80e11 Binary files /dev/null and b/week2/capstone/best_model.pkl differ diff --git a/week2/capstone/capstone.ipynb b/week2/capstone/capstone.ipynb new file mode 100644 index 0000000..e0914b4 --- /dev/null +++ b/week2/capstone/capstone.ipynb @@ -0,0 +1,727 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.model_selection import RandomizedSearchCV\n", + "from sklearn.metrics import confusion_matrix, roc_auc_score, roc_curve, auc, precision_recall_curve, precision_score\n", + "from xgboost import XGBClassifier\n", + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "train = pd.read_parquet('train_data.parquet')\n", + "test = pd.read_parquet('test_data.parquet')\n", + "\n", + "X_train,y_train = train.drop(columns=[\"churn\"]), train[\"churn\"]\n", + "X_test,y_test = test.drop(columns=[\"churn\"]), test[\"churn\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def churn_prediction(X_train, X_test, y_train, y_test):\n", + "\n", + " X_train = X_train.drop('id', axis=1)\n", + " X_test = X_test.drop('id', axis=1)\n", + " \n", + " xgb_model = XGBClassifier(\n", + " objective='binary:logistic',\n", + " eval_metric='aucpr',\n", + " n_jobs = -1,\n", + " tree_method= 'hist',\n", + " device= 'cuda',\n", + " )\n", + "\n", + " param_dist = {\n", + " 'n_estimators': [3500],\n", + " 'max_depth': [4],\n", + " 'learning_rate': [0.1],\n", + " \"reg_lambda\": [5],\n", + " \"reg_alpha\": [5],\n", + " }\n", + "\n", + " random_search = RandomizedSearchCV(\n", + " estimator=xgb_model,\n", + " param_distributions=param_dist,\n", + " n_iter=1,\n", + " cv=3,\n", + " scoring='roc_auc_ovr',\n", + " verbose=1,\n", + " )\n", + "\n", + " random_search.fit(X_train, y_train)\n", + " \n", + " print(\"Best Params: \", random_search.best_params_)\n", + "\n", + " best_model = random_search.best_estimator_\n", + " \n", + " #y_pred = best_model.predict(X_test)\n", + " y_pred_proba = best_model.predict_proba(X_test)[:, 1] \n", + " \n", + " fpr, tpr, thresholds = roc_curve(y_test, y_pred_proba)\n", + "\n", + " roc_auc = auc(fpr, tpr)\n", + "\n", + " plt.figure(figsize=(8, 6))\n", + " plt.plot(fpr, tpr, color='blue', lw=2, label=f'ROC curve (AUC = {roc_auc:.2f})')\n", + " plt.plot([0, 1], [0, 1], color='gray', linestyle='--') \n", + " plt.xlim([0.0, 1.0])\n", + " plt.ylim([0.0, 1.05])\n", + " plt.xlabel('False Positive Rate')\n", + " plt.ylabel('True Positive Rate')\n", + " plt.title('Receiver Operating Characteristic (ROC) Curve')\n", + " plt.legend(loc='lower right')\n", + " plt.show()\n", + " \n", + " auc_score = roc_auc_score(y_test, y_pred_proba)\n", + " print(f'AUC Score: {auc_score:.2f}')\n", + "\n", + " return y_pred_proba\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "y_pred_proba = churn_prediction(X_train, X_test, y_train, y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Precision of top 1000 predictions: 0.087\n" + ] + }, + { + "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", + "
idPredicted_ProbActual
186433030b3b0b9-3fba-4e84-ba19-3d38db4ab4f70.2090261
1862577a403c121-28e7-441b-8835-193268e885cc0.1982561
138866528e1ff5-af09-47cd-b60e-50cd43de1ec40.1860801
81221010b3f97b-fd39-420b-81d0-95caadd51a5b0.1804991
1584739cbdeabf1-087c-4b3f-8a88-1366ff5775780.1785591
............
1669976f8a49b08-e2ae-4643-868d-6d6982661c970.1268461
5929111ae4c9c7-2b57-48c5-9da6-e5ee884fa65a0.1264811
18313065f475c74-59ae-4d4f-90ae-3305cd4dee420.1263701
309628a899b7c0-5801-4afb-99f9-2b672a8687330.1262641
3072864a47ef64-d7b6-447c-8cc3-88710bf546ef0.1259021
\n", + "

87 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id Predicted_Prob Actual\n", + "1864330 30b3b0b9-3fba-4e84-ba19-3d38db4ab4f7 0.209026 1\n", + "1862577 a403c121-28e7-441b-8835-193268e885cc 0.198256 1\n", + "138866 528e1ff5-af09-47cd-b60e-50cd43de1ec4 0.186080 1\n", + "812210 10b3f97b-fd39-420b-81d0-95caadd51a5b 0.180499 1\n", + "1584739 cbdeabf1-087c-4b3f-8a88-1366ff577578 0.178559 1\n", + "... ... ... ...\n", + "1669976 f8a49b08-e2ae-4643-868d-6d6982661c97 0.126846 1\n", + "592911 1ae4c9c7-2b57-48c5-9da6-e5ee884fa65a 0.126481 1\n", + "1831306 5f475c74-59ae-4d4f-90ae-3305cd4dee42 0.126370 1\n", + "309628 a899b7c0-5801-4afb-99f9-2b672a868733 0.126264 1\n", + "307286 4a47ef64-d7b6-447c-8cc3-88710bf546ef 0.125902 1\n", + "\n", + "[87 rows x 3 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba_series = pd.Series(y_pred_proba, name=\"Predicted_Prob\")\n", + "y_test_series = pd.Series(y_test, name=\"Actual\")\n", + "\n", + "call_center_data = pd.concat([test[\"id\"].reset_index(drop=True),y_pred_proba_series.reset_index(drop=True), y_test_series.reset_index(drop=True)], axis=1)\n", + "\n", + "sorted_call_center_data = call_center_data.sort_values(by='Predicted_Prob', ascending=False)\n", + "\n", + "top_1000 = sorted_call_center_data.head(1000)\n", + "\n", + "precision = precision_score(top_1000['Actual'], (top_1000['Predicted_Prob'] > 0).astype(int))\n", + "\n", + "print(f\"Precision of top 1000 predictions: {precision}\")\n", + "\n", + "top_1000[top_1000[\"Actual\"] == 1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6sAAAJOCAYAAABRHJEAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtixJREFUeJzs3Xd4VGX+/vF70gtJICQQOghIUUEQpNhQBBWx11UUu36tqKy/ZV0VLKDY2NXFiqBiX8W1r4hYAUWaIkVUIJQEggQSSgrJ+f3xeDKZ1JlkJnNy8n5d17lm5syZM89kEph7Pk/xWJZlCQAAAAAAB4kIdwMAAAAAAKiIsAoAAAAAcBzCKgAAAADAcQirAAAAAADHIawCAAAAABwnKtwNAAAAAICqlJSUqLi4ONzNQIhERkYqKipKHo+nyvsJqwAAAAAcZ8+ePdq8ebNYadPdEhIS1KZNG8XExFS6z8M6qwAAAACcpKSkROvWrVNCQoLS09Orrbyh8bIsS0VFRcrJyVFJSYm6d++uiAjfUapUVgEAAAA4SnFxsSzLUnp6uuLj48PdHIRIfHy8oqOjtXHjRhUVFSkuLs7nfiZYAgAAAOBIVFTdr2I11ee+BmwHAAAAAAB+oRswAAAAgEYhMzNTO3bsaLDnS0tLU8eOHRvs+eCLsAoAAADA8TIzM9WzZy/t37+vwZ4zPj5Ba9asdk1g9Xg8mjNnjs4888xwN8UvhFUAAAAAjrdjxw7t379PZ501W+npvUL+fDk5qzVnzhjt2LEj4LC6YMECHXPMMRoxYoQ++eSTgB7buXNnjRs3TuPGjQvocU7x9ttv66677tJvv/2mrl276oEHHtBZZ51Vp3MxZhVoYLNmzZLH49EPP/xQ5f2jR49W586dffZ17txZl112WUDPs2DBAk2cOFG7du2qW0OboDfeeEOHHHKI4uPj5fF4tHz58iqP++KLL+TxeMq2yMhItW7dWuedd55Wr17dIG0dNmyYhg0bVnZ7w4YN8ng8mjVrVkDnWbVqlSZOnKgNGzYEtX2SNHHiRL8mxrjssst8fp6xsbHq0aOH7rnnHhUUFAStPfb79p///Cdo56zt77m8yy67rNa/7arex5r+liv+HjSEzp07a/To0Q32fDt27FBsbKzfP+fqTJ8+PeC/j7qyfy9q+7sK5PfHHx6PRzfeeGNQzlX+nBMnTgzqOYH6Sk/vpTZt+od8q08gfuGFF3TTTTfpm2++UWZmZhBfvbMtXLhQF1xwgS655BKtWLFCl1xyic4//3x99913dTofYRVoBObMmaO77roroMcsWLBAkyZNIqz6KScnR5dccom6du2qTz75RAsXLtTBBx9c42MmT56shQsXav78+fp//+//ae7cuTrqqKO0ZcuWBmq1V5s2bbRw4UKdeuqpAT1u1apVmjRpUkjCaiDi4+O1cOFCLVy4UO+++64GDRqke++9V2PHjg1ru4Lprrvu0pw5c2o8pqr3saa/5enTp2v69OnBbqqjvPzyyyoqKpIkzZgxo87naciwCqBp27t3r95880393//9n0aPHl3lvz3vvfeeBgwYoLi4OKWlpenss8+WZL6E3Lhxo2699dayL3El8wXw4Ycf7nOOadOm+XwJunjxYo0YMUJpaWlKSUnRcccdp6VLl4bqZVZp2rRpGjFihCZMmKCePXtqwoQJGj58uKZNm1an8xFWgUagX79+6tq1a7ibEZDi4mIdOHAg3M3w2y+//KLi4mKNGTNGxx13nAYPHqyEhIQaH9O9e3cNHjxYxx57rG677TY99thjys3NrfED8b59oRlnExsbq8GDBys9PT0k5w+1iIgIDR48WIMHD9Ypp5yil156Scccc4zefPPNGsP//v37G7CV9dO1a1f169evxmMCfR979+6t3r17B6N5jvXCCy+oVatWGjhwoF577bVG9Z4DaJreeOMN9ejRQz169NCYMWM0c+ZMWZZVdv+HH36os88+W6eeeqqWLVumefPmacCAAZKkd955R+3bt9e9996rrKwsZWVl+f28+fn5Gjt2rL7++mstWrRI3bt316hRo5Sfn+/3OSZPnqxmzZrVuH399dfVPn7hwoUaOXKkz76TTjpJCxYs8LsN5RFWgUagYlfB0tJS3X///erRo4fi4+PVvHlz9enTR//85z8lmW/f/vrXv0qSunTpUvbN3BdffFH2+KlTp6pnz56KjY1Vq1atdOmll2rz5s0+z2tZliZPnqxOnTopLi5OAwYM0Ny5cyt1PbS7V7788su6/fbb1a5dO8XGxurXX39VTk6Orr/+evXu3VvNmjVTq1atdMIJJ1T6h87u/vjwww/roYceUufOnRUfH69hw4aVBcm//e1vatu2rVJSUnTWWWdp+/btfv383nvvPQ0ZMkQJCQlKSkrSiBEjtHDhwrL7L7vsMh199NGSpAsuuEAej6dOXSsHDx4sSdq4caMkbzfYpUuX6txzz1WLFi3KvnSwLEvTp0/X4Ycfrvj4eLVo0ULnnnuufv/9d59zWpalqVOnlr0H/fv318cff1zpuavrBrxmzRr95S9/UevWrRUbG6uOHTvq0ksvVWFhoWbNmqXzzjtPknT88ceX/Z6UP8dnn32m4cOHKzk5WQkJCTrqqKM0b968Ss//4Ycf6vDDD1dsbKy6dOmiRx55JOCfX0UVf55299N33nlH/fr1U1xcnCZNmiRJWrlypc444wy1aNFCcXFxOvzww/Xiiy9Wed6CggLddtttysjIUHx8vI477jgtW7bM55gffvhBF154YdnvYefOnfWXv/ylrC0V5ebm6vLLL1dqaqoSExN12mmnVXovq+oGXFHF97G2v+WqugEXFRXp/vvvL/v7Tk9P1+WXX66cnByf4z7//HMNGzZMLVu2VHx8vDp27KhzzjnH7y9U5syZoz59+iguLk4HHXSQ/vWvf5Xdt2fPHjVv3lzXXnttla8xMjJSDz/8cK3P8d1332nlypW65JJLdPXVV2v37t16++23Kx1XWlqqJ554ouzvqXnz5ho8eLDee+89SeZ35+eff9aXX35Z9jO034vquuza/67ZP2tJmjt3rs444wy1b99ecXFx6tatm6699tqQzkxaUFCg22+/XYcffrhSUlKUmpqqIUOG6L///W+1j3nmmWd08MEHKzY2Vr1799brr79e6Zjs7Gxde+21at++vWJiYtSlSxdNmjSpUX3JCDjVjBkzNGbMGEnSySefrD179vj83/nAAw/owgsv1KRJk9SrVy/17dtXf//73yVJqampioyMVFJSkjIyMpSRkeH3855wwgkaM2aMevXqpV69eumZZ57Rvn379OWXX/p9juuuu07Lly+vcbODdVWys7PVunVrn32tW7dWdna2320ojwmWgDApKSmp8kNB+W/eqjN16lRNnDhR//jHP3TsscequLhYa9asKesmeNVVV2nnzp164okn9M4776hNmzaSVFaB+b//+z89++yzuvHGGzV69Ght2LBBd911l7744gstXbpUaWlpkqQ777xTU6ZM0TXXXKOzzz5bmzZt0lVXXaXi4uIqu8hOmDBBQ4YM0dNPP62IiAi1atWq7APyPffco4yMDO3Zs0dz5szRsGHDNG/evEoftP/973+rT58++ve//61du3bp9ttv12mnnaZBgwYpOjpaL7zwgjZu3Kjx48frqquuKvswWp1XX31VF198sUaOHKnXXntNhYWFmjp1atnzH3300brrrrt05JFH6oYbbtDkyZN1/PHHKzk5udb3oaJff/1VkipVxc4++2xdeOGFuu6667R3715J0rXXXqtZs2bp5ptv1kMPPaSdO3fq3nvv1dChQ7VixYqyf+gnTZqkSZMm6corr9S5556rTZs26eqrr1ZJSYl69OhRY3tWrFiho48+Wmlpabr33nvVvXt3ZWVl6b333lNRUZFOPfVUTZ48WX//+9/173//W/3795ekskA9e/ZsXXrppTrjjDP04osvKjo6Ws8884xOOukk/e9//9Pw4cMlSfPmzdMZZ5yhIUOG6PXXX1dJSYmmTp2qbdu2BfwzrO3nuXTpUq1evVr/+Mc/1KVLFyUmJmrt2rUaOnSoWrVqpX/9619q2bKlZs+ercsuu0zbtm3THXfc4XPev//97+rfv7+ef/557d69WxMnTtSwYcO0bNkyHXTQQZJMoOrRo4cuvPBCpaamKisrS0899ZQGDhyoVatWlf2N2K688kqNGDFCr776qjZt2qR//OMfGjZsmH788Uc1b968zj+D2v6WKyotLdUZZ5yhr7/+WnfccYeGDh2qjRs36p577tGwYcP0ww8/KD4+Xhs2bNCpp56qY445Ri+88IKaN2+uLVu26JNPPlFRUVGtvQqWL1+ucePGaeLEicrIyNArr7yiW265RUVFRRo/fryaNWumK664Qs8++6ymTp2qlJSUssdOnz5dMTExuuKKK2p9/Xa33yuuuEIdOnTQuHHjfD4E2i677DLNnj1bV155pe69917FxMRo6dKlZQF0zpw5Ovfcc5WSklLWbTo2NrbW56/ot99+05AhQ3TVVVcpJSVFGzZs0GOPPaajjz5aP/30k6KjowM+Z20KCwu1c+dOjR8/Xu3atVNRUZE+++wznX322Zo5c6YuvfRSn+Pfe+89zZ8/X/fee68SExM1ffp0/eUvf1FUVJTOPfdcSebD5JFHHqmIiAjdfffd6tq1qxYuXKj7779fGzZs0MyZM4P+OoCmYu3atfr+++/1zjvvSJKioqJ0wQUX6IUXXtCJJ54oyfwbevXVVwf9ubdv3667775bn3/+ubZt26aSkhLt27cvoDGzqampSk1NrVc7Ks5XYVmWX3NYVMkC0KBmzpxpSapx69Spk89jOnXqZI0dO7bs9ujRo63DDz+8xud5+OGHLUnW+vXrffavXr3akmRdf/31Pvu/++47S5L197//3bIsy9q5c6cVGxtrXXDBBT7HLVy40JJkHXfccWX75s+fb0myjj322Fpf/4EDB6zi4mJr+PDh1llnnVW2f/369ZYkq2/fvlZJSUnZ/mnTplmSrNNPP93nPOPGjbMkWbt37672uUpKSqy2bdtahx12mM858/PzrVatWllDhw6t9BreeuutWl+Dfewbb7xhFRcXW/v27bO++uorq1u3blZkZKS1YsUKy7Is65577rEkWXfffbfP4+2f4aOPPuqzf9OmTVZ8fLx1xx13WJZlWbm5uVZcXJzPz8myLOvbb7+t9B7YP7+ZM2eW7TvhhBOs5s2bW9u3b6/2tbz11luWJGv+/Pk++/fu3WulpqZap512ms/+kpISq2/fvtaRRx5Ztm/QoEFW27Ztrf3795fty8vLs1JTUy1//psZO3aslZiYaBUXF1vFxcVWTk6O9c9//tPyeDzWwIEDy47r1KmTFRkZaa1du9bn8RdeeKEVGxtrZWZm+uw/5ZRTrISEBGvXrl2WZXnft/79+1ulpaVlx23YsMGKjo62rrrqqmrbeODAAWvPnj1WYmKi9c9//rNsv/33XN17dP/99/u8ztr+tqt6H6v7W7YsyzruuON8fg9ee+01S5L19ttv+xy3ePFiS5I1ffp0y7Is6z//+Y8lyVq+fHm1r7k6nTp1sjweT6XHjhgxwkpOTrb27t1rWZZl/fbbb1ZERIT1+OOPlx2zf/9+q2XLltbll19e6/Ps3bvXSk5OtgYPHly2b+zYsZbH47F+/fXXsn1fffWVJcm68847azzfIYcc4vOzstnvYcWfr/37UvFvw1ZaWmoVFxdbGzdutCRZ//3vf2s9Z3XPvXjx4hqPK8/+N/TKK6+0+vXr53OfJCs+Pt7Kzs72Ob5nz55Wt27dyvZde+21VrNmzayNGzf6PP6RRx6xJFk///yzzznvuecev9sHBMv+/futVatW+fzfsmTJEkuSdc01S6x77rFCvl1zjXm+JUuW+N3uv/71r5YkKzIysmyLiIiwYmNjrZ07d1qWZVmpqanWCy+8UO05OnXq5PNvp2VZ1qRJk6w+ffr47Js6darP/yunnHKKNWDAAOvDDz+0Vq5caa1bt85KS0vzOZcka86cOdU+9wMPPGAlJibWuH311VfVPr5Dhw7WY4895rPvscceszp27FjtY6p6r210AwbC5KWXXtLixYsrbXZ31JoceeSRWrFiha6//nr973//U15ent/PO3/+fEmqNLvwkUceqV69epV1U1m0aJEKCwt1/vnn+xw3ePDgarsynnPOOVXuf/rpp9W/f3/FxcUpKipK0dHRmjdvXpUz544aNUoREd5/mnr1MjPxVZw4yN5f07eFa9eu1datW3XJJZf4nLNZs2Y655xztGjRonqNIb3gggsUHR2thIQEHXvssSopKdF//vMf9enTx+e4ij+XDz74QB6PR2PGjNGBAwfKtoyMDPXt27es2+HChQtVUFCgiy++2OfxQ4cOVadOnWpsm93t5/zzz6/TONYFCxZo586dGjt2rE8bS0tLdfLJJ2vx4sXau3ev9u7dq8WLF+vss89WXFxc2eOTkpJ02mmn+f18e/fuVXR0tKKjo5Wenq5x48bplFNOqTQhUZ8+fSpV9T///HMNHz5cHTp08Nl/2WWXad++fT5dviXpoosu8vmGt1OnTho6dGjZ34ZkurH+v//3/9StWzdFRUUpKipKzZo10969e6v8va3uPSp/zobwwQcfqHnz5jrttNN83rfDDz9cGRkZZb9bhx9+uGJiYnTNNdfoxRdfrNRluTaHHHKI+vbt67PvoosuUl5eXtlkHgcddJBGjx6t6dOnl/UYefXVV/XHH3/4NWPtm2++qby8PJ8K7BVXXCHLsnwqf3a3+BtuuCGg11AX27dv13XXXacOHTqU/Vtm/y2Gcibwt956S0cddZSaNWtW9rwzZsyo8jmHDx/u0wUvMjJSF1xwgX799deyoR4ffPCBjj/+eLVt29bn9+SUU06RpIC6DALwOnDggF566SU9+uijPt1mV6xYoU6dOumVV16RZP4vq2pIjS0mJkYlJSU++9LT05Wdne3TA6/iqgVff/21br75Zo0aNUqHHHKIYmNjAx6mUN9uwEOGDNHcuXN99n366acaOnRoQO2w0Q0YCJNevXpV+ceekpKiTZs21fjYCRMmKDExUbNnz9bTTz+tyMhIHXvssXrooYdq/AdEkv744w9JKutOWF7btm3LxuTZx1Ucd1DdvurO+dhjj+n222/Xddddp/vuu09paWmKjIzUXXfdVeUHrYpdT2JiYmrcX9PSJrW91tLSUuXm5tba5bE6Dz30kE444QRFRkYqLS2tUliyVXz+bdu2ybKsan+OdldUu/1VjVepbQxLbm6uSkpK1L59+1pfR1XsLrx2t8Gq7Ny5Ux6PR6WlpXVqY3nx8fH66quvJJnumZ06daqyK3ZV7+Uff/xR7Xts319buzIyMrRixYqy2xdddJHmzZunu+66SwMHDlRycrI8Ho9GjRpV5QQ/1Z2z4nOH2rZt27Rr166yv4+K7A8tXbt21WeffaapU6fqhhtu0N69e3XQQQfp5ptv1i233FLr89T0fpd/zbfccouGDx+uuXPnauTIkfr3v/+tIUOGlHU5r8mMGTMUFxenk08+uWyIQ58+fdS5c2fNmjVLkyZNUmRkpHJychQZGRnQ71tdlJaWauTIkdq6davuuusuHXbYYUpMTFRpaakGDx4csomf3nnnHZ1//vk677zz9Ne//lUZGRmKiorSU089pRdeeKHS8bW9N+3bt9e2bdv0/vvvV9ttOZRjcIFgyMlpmGXiAn2eDz74QLm5ubryyit9hj9I5v/TGTNm6MYbb9Q999yj4cOHq2vXrrrwwgt14MABffzxx2XDVjp37qyvvvpKF154oWJjY5WWlqZhw4YpJydHU6dO1bnnnqtPPvlEH3/8sc//ld26ddPLL7+sAQMGKC8vT3/9618VHx8f0GuobzfgW265pewz6RlnnKH//ve/+uyzz/TNN9/U6XyEVaARioqK0m233abbbrtNu3bt0meffaa///3vOumkk7Rp06Yaw1fLli0lSVlZWZWCzNatW8vG4tnHVTXuMDs7u8rqalXjEWbPnq1hw4bpqaee8tkfyMx0dVX+tVa0detWRUREqEWLFnU+/0EHHVTrlwNS5Z9LWlqaPB6Pvv766yrHzdn77PZXNSlBde+BzZ6goeKkWf6yfw+eeOKJsomOKmrdurWKi4vl8XiqbaO/IiIi6vSzlMzPqbr3WFKl8aXVtdX+ee/evVsffPCB7rnnHv3tb38rO8YeO1iV6s7ZrVu3Gl5N8KWlpally5bVLkCflJRUdv2YY47RMccco5KSEv3www964oknNG7cOLVu3VoXXnhhjc9T0/tt/xwlM9nHoYceqieffFLNmjXT0qVLNXv27Fpfxy+//FL2waZjx45VHvO///1Po0aNUnp6ukpKSpSdnV3llxa1sXsEFBYW+uyvGNhWrlypFStWaNasWT5LKtljq0Nl9uzZ6tKli9544w2f3/+K7bX5896kpaWpT58+euCBB6o8h/1FD+A0aWlpio9P0Jw5Y2o/OEji4xMq/T9SnRkzZujEE0+sFFQl08tq8uTJWrp0qYYNG6a33npL9913nx588EElJyfr2GOPLTv23nvv1bXXXquuXbuqsLBQlmWpV69emj59uiZPnqz77rtP55xzjsaPH69nn3227HEvvPCCrrnmGvXr108dO3bU5MmTNX78+Pr/EAIwdOhQvf766/rHP/6hu+66S127dtUbb7yhQYMG1el8hFWgkWvevLnOPfdcbdmyRePGjdOGDRvUu3fvssBT8dv+E044QZL5ADRw4MCy/YsXL9bq1at15513SpIGDRqk2NhYvfHGG2Vrf0mme/DGjRtrndXU5vF4KgWyH3/8UQsXLqy2EhksPXr0ULt27fTqq69q/PjxZR/09u7dq7fffrtshuCGNnr0aD344IPasmVLpW7W5Q0ePFhxcXF65ZVXfLoSL1iwoNb3wJ7l9q233tIDDzxQ7X+01f2eHHXUUWrevLlWrVpVY5fNmJgYHXnkkXrnnXf08MMPl33wz8/P1/vvv1/t44Jp+PDhmjNnjrZu3erzIfull15SQkJCpbD92muv6bbbbiv7fdi4caMWLFhQNlGNx+ORZVmVfm+ff/75St2ybNW9R1dddVW9X19171FVRo8eXTbJlb8fDCIjIzVo0CD17NlTr7zyipYuXVprWP3555+1YsUKn67Ar776qpKSkipVTW+++WZdd9112r17t1q3bl02A3VN7ImVnnvuuUqBf//+/TrjjDP0wgsvaNSoUTrllFM0ZcoUPfXUU7r33nurPWdsbGyVP0P77+jHH3/0mbSs4uRt9u9Lxd+LZ555ptbXUx8ej0cxMTE+QTU7O7va2YDnzZunbdu2lfXcKCkp0RtvvKGuXbuWfUE5evRoffTRR+ratWu9vrADGlrHjh21Zs3qBq3+p6WlVfulWUU1/b/Xv39/ny68Z599ts/nq/IGDx7s09vHdt111+m6667z2WfPIiyZpQ4XL17sc3/FHlKWHxN51te5555bY8+sQBBWgUbotNNO06GHHqoBAwYoPT1dGzdu1LRp09SpUyd1795dknTYYYdJkv75z39q7Nixio6OLlvz65prrtETTzyhiIgInXLKKWWzAXfo0EG33nqrJFOZu+222zRlyhS1aNFCZ511ljZv3qxJkyapTZs2PmNAazJ69Gjdd999uueee3Tcccdp7dq1uvfee9WlS5eQL5EQERGhqVOn6uKLL9bo0aN17bXXqrCwUA8//LB27dqlBx98MKTPX52jjjpK11xzjS6//HL98MMPOvbYY5WYmKisrCx98803Ouyww/R///d/atGihcaPH6/7779fV111lc477zxt2rSpbAbW2tizlA4aNEh/+9vf1K1bN23btk3vvfeennnmGSUlJenQQw+VJD377LNKSkpSXFycunTpopYtW+qJJ57Q2LFjtXPnTp177rllszuvWLFCOTk5ZdXy++67TyeffLJGjBih22+/XSUlJXrooYeUmJhYbSUymO65556yMXh33323UlNT9corr+jDDz+sNBOtZMYdnnXWWWVLodxzzz2Ki4vThAkTJKnsG+6HH35YaWlp6ty5s7788kvNmDGj2pl9f/jhB5/36M4771S7du10/fXX1/v1Vfe3XL5Karvwwgv1yiuvaNSoUbrlllt05JFHKjo6Wps3b9b8+fN1xhln6KyzztLTTz+tzz//XKeeeqo6duyogoKCsi6l9myVNWnbtq1OP/10TZw4UW3atNHs2bM1d+5cPfTQQ5W+ABozZowmTJigr776Sv/4xz+q7aJss8d89erVq9qwf9ppp+m9995TTk6OjjnmGF1yySW6//77tW3bNo0ePVqxsbFatmyZEhISdNNNN5X9HF9//XW98cYbOuiggxQXF6fDDjtMAwcOVI8ePTR+/HgdOHBALVq00Jw5cyp1WevZs6e6du2qv/3tb7IsS6mpqXr//fcrjc2qi88//7zS0jmSGcNvL9d0/fXXl80Ift9996lNmzZat25dpcekpaXphBNO0F133VU2G/CaNWt8lq+59957NXfuXA0dOlQ333yzevTooYKCAm3YsEEfffSRnn766ToPIQBCrWPHjn6HR7hAtdMyAQiJ2mZ/PPXUU2udMfTRRx+1hg4daqWlpVkxMTFWx44drSuvvNLasGGDz+MmTJhgtW3b1oqIiPCZ1bKkpMR66KGHrIMPPtiKjo620tLSrDFjxlibNm3yeXxpaal1//33W+3bt7diYmKsPn36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AADgMh988IFyc3N15ZVXKiUlxee+c889VzNmzNCNN96oe+65R8OHD1fXrl114YUX6sCBA/r44491xx13SDLrrH711Ve68MILFRsbq7S0NA0bNkw5OTmaOnWqzj33XH3yySf6+OOPlZycXPYc3bp108svv6wBAwYoLy9Pf/3rXwOu4ta3G3BRUZFWrVpVdn3Lli1avny5mjVrpm7dugV8PsIqAAAAgEZjdU6OI59nxowZOvHEEysFVclUVidPnqylS5dq2LBheuutt3TffffpwQcfVHJyso499tiyY++9915de+216tq1qwoLC2VZlnr16qXp06dr8uTJuu+++3TOOedo/PjxevbZZ8se98ILL+iaa65Rv3791LFjR02ePFnjx4+v+w+gDrZu3ap+/fqV3X7kkUf0yCOP6LjjjtMXX3wR8Pk8VsXOzwAAAAAQRgUFBVq/fr26dOmiuLg4SVJmZqZ69eypffv3N1g7EuLjtXrNGnXs2LHBnrOpqeq9tlFZBQAAAOB4HTt21Oo1awIeh1kfaWlpBNUwIqwCAAAAaBQ6duxIeGxCIsLdAAAAAAAAKiKsAgAAAAAch7AKAAAAAHAcwioAAAAAR2LhEver6T0mrAIAAABwlMjISElSUVFRmFuCUNu3b58kKTo6utJ9zAYMAAAAwFGioqKUkJCgnJwcRUdHKyKCGpvbWJalffv2afv27WrevHnZFxTleSxq6wAAAAAcpqioSOvXr1dpaWm4m4IQat68uTIyMuTxeCrdR1gFAAAA4EilpaV0BXax6OjoKiuqNsIqAAAAAMBx6PwNAAAAAHAcwioAAAAAwHEIqwAAAAAAxyGsAgAAAAAch7AKAAAAAHCcJh1Wv/pKOu00qW1byeOR3n038HNYlvTII9LBB0uxsVKHDtLkyUFvKgAAAAA0KVHhbkA47d0r9e0rXX65dM45dTvHLbdIn35qAuthh0m7d0s7dgS3nQAAAADQ1LDO6p88HmnOHOnMM737ioqkf/xDeuUVadcu6dBDpYcekoYNM/evXi316SOtXCn16BGGRgMAAACASzXpbsC1ufxy6dtvpddfl378UTrvPOnkk6V168z9778vHXSQ9MEHUpcuUufO0lVXSTt3hrXZAAAAANDoEVar8dtv0muvSW+9JR1zjNS1qzR+vHT00dLMmeaY33+XNm40x7z0kjRrlrRk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RERERESkw1GwKiIiLWbBggWMGjXKt3777bfzox/9qM3rceDAAWw2G5s3b27zc7fEe25M/T/++GNsNhv5+fkALF++nO7du/u21/23EBEROdcoWBUR6eRuv/12bDYbNpuNoKAgBgwYwLx58yguLm71cz/zzDMsX768UWXbOsC87LLLfJ+Ly+Vi8ODB/PrXv6aqqqpNzv99jR8/Ho/HQ2RkZMDt8+bNY/369b719vrhQEREpLmc7V0BERFpfVdffTXLli2joqKCzz77jDvuuIPi4mJeeumlemUrKioICgpqkfM2FEh1FHfeeSdPPPEEpaWlvP/++/zyl7/E4XDw4IMP1itbXl5OcHBwO9QysODgYOLj4xvcHhYWRlhYWBvWSEREpGXpzqqISBfgcrmIj4+nb9++zJgxg1tuuYW3334bON1ddOnSpQwYMACXy4UxhoKCAu666y569uxJREQEl19+OVu2bPE77sKFC4mLiyM8PJxZs2ZRWlrqt73u3Tyv18uiRYsYOHAgLpeL8847j6eeegqA/v37AzB69GhsNhuXXXaZb79ly5YxbNgw3G43Q4cO5cUXX/Q7z1dffcXo0aNxu92MGzeOtLS0Rn0uoaGhxMfH069fP2bPnk1ycrLvc6mp+9NPP01CQgKDBw8GYOvWrVx++eWEhIQQExPDXXfdRVFRUb1jP/74477P7u6776a8vNy3be3atfz7v/873bt3JyYmhqlTp7J37956x9ixYwfjx4/H7XYzYsQIPv74Y9+2ut2A66rdDXjBggW8/vrrvPPOO767yR9//DGXX345s2fP9tsvJycHl8vFRx991KjPUEREpLUoWBUR6YJCQkKoqKjwre/Zs4e//vWvrFq1ytcN99prr+X48eOsWbOG1NRUxowZQ3JyMrm5uQD89a9/JSUlhaeeeopvvvmGXr161Qsi63r44YdZtGgRjz76KOnp6axYsYK4uDjACjgB/vnPf+LxeHjrrbcAWLx4MfPnz+epp54iIyODX//61zz66KO8/vrrABQXFzN16lSGDBlCamoqCxYsYN68eS3yuaxfv56MjAzWrVvH+++/T0lJCVdffTVRUVF8/fXXvPnmm/zzn/+sF/DV7LdhwwZWrlzJ6tWrefzxx33bi4uLmTt3Ll9//TXr16/Hbrdzww034PV6/Y7zP//zP9x///2kpaUxfvx4rrvuOnJycpr8vubNm8f06dO5+uqr8Xg8eDwexo8fzx133MGKFSsoKyvzlf3zn/9MQkICkydPbvJ5REREWpQREZFO7bbbbjPXX3+9b/3LL780MTExZvr06cYYY1JSUkxQUJDJzMz0lVm/fr2JiIgwpaWlfsc6//zzzSuvvGKMMSYpKcncc889ftsvvvhiM3LkyIDnPnnypHG5XGbx4sUB67l//34DmLS0NL/8vn37mhUrVvjlPfnkkyYpKckYY8wrr7xioqOjTXFxsW/7Sy+9FPBYtU2aNMnce++9xhhjqqqqzAcffGCCg4PNAw884Kt7XFycKSsr8+3z6quvmqioKFNUVOTL+/vf/27sdrs5fvy4b79A9QkLCzNVVVUB65KZmWkAs3XrVr/PYuHChb4yFRUVpk+fPmbRokXGGGM2bNhgAJOXl2eMMWbZsmUmMjLSVz4lJaXBf4sapaWlJjo62rzxxhu+vFGjRpkFCxY0+LmJiIi0Fd1ZFRHpAt5//33CwsJwu90kJSVx6aWX8txzz/m2JyYmEhsb61tPTU2lqKiImJgY37OPYWFh7N+/39ddNSMjg6SkJL/z1F2vLSMjg7KyMpKTkxtd76ysLA4fPsysWbP86vG///u/fvUYOXIkoaGhjapHbS+++KLvc7nuuuuYOXMmKSkpvu0XXnih33OqNefq1q2bL2/ChAl4vV527tzpywtUn6KiIg4fPgzA3r17mTFjBgMGDCAiIsLXBfrQoUN+9av9PpxOJ+PGjSMjI6NR760xXC4XM2fOZOnSpQBs3ryZLVu2cPvtt7fYOURERJpLAyyJiHQBkydP5qWXXiIoKIiEhIR6AyjVDr7Aera0V69efs9I1qg9PUpThISENHmfmm6xixcv5uKLL/bb5nA4ADDGNKs+ALfccgvz58/H5XKRkJDgO2aNup+LMQabzRbwWA3lByozbdo0+vbty+LFi0lISMDr9XLBBRf4Pdd6tmO0lDvuuINRo0Zx5MgRli5dSnJyMomJiS16DhERkebQnVURkS6gW7duDBw4kMTExEaN9DtmzBiOHz+O0+lk4MCBfqlHjx4ADBs2jC+++MJvv7rrtQ0aNIiQkBC/6VRqq7mDWXvqmLi4OHr37s2+ffvq1aPmbuTw4cPZsmULp06dalQ9aouMjGTgwIH07du3XqAayPDhw9m8ebPftD8bN27Ebrf7BmACAtYnLCyMPn36kJOTQ0ZGBo888gjJyckMGzaMvLy8gOer/T4qKytJTU1l6NChjXpvdQUHBweclufCCy9k3LhxLF68mBUrVvCzn/2sWccXERFpaQpWRUSkniuuuIKkpCR+9KMf8eGHH3LgwAE2bdrEI488wjfffAPAvffey9KlS1m6dCm7du0iJSWF7du3N3hMt9vNgw8+yAMPPMAf//hH9u7dyxdffMGSJUsA6NmzJyEhIaxdu5YTJ05QUFAAWCPZPv300zzzzDPs2rWLrVu3smzZMn7/+98DMGPGDOx2O7NmzSI9PZ01a9bw29/+tlU+l1tuuQW3281tt93Gtm3b2LBhA7/4xS+49dZbfQNFgTXNTU19PvjgA1JSUpg9ezZ2u52oqChiYmJ49dVX2bNnDx999BFz584NeL4XXniB1atXs2PHDn7+85+Tl5fX7GCyX79+fPfdd+zcuZPs7Gy/gaTuuOMOFi5cSFVVFTfccEOzji8iItLSFKyKiEg9NpuNNWvWcOmll/Kzn/2MwYMHc/PNN3PgwAFfUHbTTTfx2GOP8eCDDzJ27FgOHjzIf/3Xf53xuI8++ij3338/jz32GMOGDeOmm24iMzMTsJ7JfPbZZ3nllVdISEjg+uuvB6xA6rXXXmP58uVceOGFTJo0ieXLl/vurIaFhfHee++Rnp7O6NGjmT9/PosWLWqVzyU0NJQPP/yQ3NxcLrroIm688UaSk5N5/vnn/colJyczaNAgLr30UqZPn860adNYsGABAHa7nb/85S+kpqZywQUXcN999/Gb3/wm4PkWLlzIokWLGDlyJJ999hnvvPOO7852U915550MGTKEcePGERsby8aNG33bfvzjH+N0OpkxYwZut7tZxxcREWlpNvN9HvYRERGRc97hw4fp168fX3/9NWPGjGnv6oiIiAAKVkVERLqsiooKPB4PDz30EAcPHvS72yoiItLe1A1YRESki9q4cSOJiYmkpqby8ssvt3d1RERE/OjOqoiIiIiIiHQ4urMqIiIiIiIiHY6CVREREREREelwFKyKiIiIiIhIh6NgVURERERERDocBasiIiIiIiLS4ShYFRERERERkQ5HwaqIiIiIiIh0OApWRUREREREpMNRsCoiIiIiIiIdzv8HrWQylsRQpM0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = call_center_data.copy()\n", + "prob_1 = data[data['Actual'] == 1]['Predicted_Prob']\n", + "prob_0 = data[data['Actual'] == 0]['Predicted_Prob']\n", + "\n", + "fig, ax1 = plt.subplots(figsize=(10, 6))\n", + "\n", + "sns.histplot(prob_0, bins=20, color='blue', alpha=0.5, label=\"Actual = 0\", kde=True, ax=ax1)\n", + "ax1.set_xlabel(\"Predicted Probability\")\n", + "ax1.set_ylabel(\"Frequency (Actual = 0)\", color=\"blue\")\n", + "ax1.tick_params(axis='y', labelcolor=\"blue\")\n", + "\n", + "ax2 = ax1.twinx()\n", + "\n", + "sns.histplot(prob_1, bins=20, color='red', alpha=0.5, label=\"Actual = 1\", kde=True, ax=ax2)\n", + "ax2.set_ylabel(\"Frequency (Actual = 1)\", color=\"red\")\n", + "ax2.tick_params(axis='y', labelcolor=\"red\")\n", + "\n", + "fig.suptitle(\"Histogram of Predicted Probabilities by Actual Label\")\n", + "fig.legend(loc=\"upper right\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "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", + "
idPredicted_ProbActual
1283516cac223-d2f7-41d1-99ee-e4252dc605000.2298040
1235206b7844557-52be-4e37-9bc2-df6c9711428c0.2234070
186433030b3b0b9-3fba-4e84-ba19-3d38db4ab4f70.2090261
5200188ac3cbf8-448d-4205-b385-81fe31a799330.2069560
7895569e7d6195-5f95-426c-a691-b3f1ba64425e0.2069100
............
1522141bd25238b-4c9f-41b2-9107-23a605a104f10.1259330
9204020aa6c224-fe13-4e58-80ca-6a2919c522c80.1259180
886530bdd1203c-6900-4241-9b79-c739e5fb679b0.1259060
3072864a47ef64-d7b6-447c-8cc3-88710bf546ef0.1259021
1861557bce0c19-7539-4f95-aa0c-b09a6cecdf470.1258920
\n", + "

1000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id Predicted_Prob Actual\n", + "12835 16cac223-d2f7-41d1-99ee-e4252dc60500 0.229804 0\n", + "1235206 b7844557-52be-4e37-9bc2-df6c9711428c 0.223407 0\n", + "1864330 30b3b0b9-3fba-4e84-ba19-3d38db4ab4f7 0.209026 1\n", + "520018 8ac3cbf8-448d-4205-b385-81fe31a79933 0.206956 0\n", + "789556 9e7d6195-5f95-426c-a691-b3f1ba64425e 0.206910 0\n", + "... ... ... ...\n", + "1522141 bd25238b-4c9f-41b2-9107-23a605a104f1 0.125933 0\n", + "920402 0aa6c224-fe13-4e58-80ca-6a2919c522c8 0.125918 0\n", + "886530 bdd1203c-6900-4241-9b79-c739e5fb679b 0.125906 0\n", + "307286 4a47ef64-d7b6-447c-8cc3-88710bf546ef 0.125902 1\n", + "186155 7bce0c19-7539-4f95-aa0c-b09a6cecdf47 0.125892 0\n", + "\n", + "[1000 rows x 3 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "top_1000" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\Kutay\\anaconda3\\envs\\py310\\lib\\site-packages\\sklearn\\linear_model\\_sag.py:349: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAr4AAAIhCAYAAACot7njAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoxBJREFUeJzs3XdcleXjxvHPYSMiiKIoikpqYmrumebIgeaAhjYdLW1Y2fhm9ats2c6mNsyyTCvFlZqjKE1T00rLtHKLGxVQZMg59++PRyACFRR4GNf79fLVeZ6zLvCoVzf3c98OY4xBRERERKSMc7M7gIiIiIhIcVDxFREREZFyQcVXRERERMoFFV8RERERKRdUfEVERESkXFDxFREREZFyQcVXRERERMoFFV8RERERKRdUfEVERESkXFDxlVLv448/xuFwZP3y8PCgRo0aDBkyhH/++cfueADUrVuXYcOG2R0jl+TkZF544QVatGhBxYoV8fPzo3nz5jz//PMkJyfbHS/fnn/+eebMmZPr/Pfff4/D4eD7778v9kyZtm/fzt13303Dhg3x9fWlQoUKXHLJJTz++OPs3bs363Fdu3alSZMmtuW8EJ9//jkTJkwostc/nz8/q1at4qmnniIhISHXfV27dqVr166Fki1Tjx49GDlyZNZx5mcv85e7uzvBwcH079+fdevW5fkaxhg+//xzunfvTuXKlfH29iY8PJy77rqLPXv2nPG958+fT//+/alevTpeXl4EBQXRo0cPpk2bxqlTpwA4duwYgYGBef45OZv8fn5FSg0jUspNmTLFAGbKlCnmp59+MrGxsebZZ581vr6+plq1aubo0aN2RzS//PKL2bp1q90xcjhw4IBp0qSJ8fX1Nf/73//MkiVLzJIlS8wjjzxifH19TZMmTcyBAwfsjpkvfn5+ZujQobnOJyYmmp9++skkJiYWfyhjzPz5842fn5+pU6eOefnll82yZcvMt99+ayZMmGCaNWtmmjdvnvXYyy+/3FxyySW25LxQ/fr1M3Xq1Cmy1z+fPz8vv/yyAcyOHTty3bdp0yazadOmQkpnzJw5c4y3t7eJi4vLOhcbG2sA8/zzz5uffvrJLF++3LzxxhsmKCjIVKhQwfz99985XsPpdJrBgwcbwFx33XVmzpw5JjY21rzxxhumVq1aJjAw0Pz44485nuNyucywYcMMYPr27Ws+++wz88MPP5h58+aZ+++/31SqVMlMmDAh6/FPPfWUqV+/vklLS8vX11WQz69IaaHiK6VeZvH9+eefc5wfN26cAcxHH31kUzJ7ZWRkmNTU1DPe36tXL+Ph4WFWrFiR674VK1YYDw8P07t376KMmKdz5c7LmYqvnbZv3278/PxMixYtTEJCQq77XS6XmTVrVtZxcRRfl8tlTp48WeivW1TF90Kynq34Fra2bduaIUOG5DiXWXy/+uqrHOc/+eQTA5gnnngix/nnn3/eAOaFF17I9foHDhwwderUMdWrVzfHjh3LOv/iiy8awIwbNy7PXPv378/x5/vAgQPGw8PDTJs27ZxfU0E/vxciPT3dnDp1qlBeS+RcVHyl1DtT8V2wYIEBzPjx43Oc//nnn03//v1N5cqVjbe3t2nevLn54osvcr1uXFycue2220ytWrWMp6enqVGjhrnqqqtyjIImJiaaBx54wNStW9d4enqamjVrmnvvvdecOHEix2vVqVMnq5gdOnTIeHp6mscffzzXe27evNkA5o033sg6t3//fnP77beb0NBQ4+npaerWrWueeuqpHP9Q7NixwwDmxRdfNM8884ypW7eucXd3N4sWLcrze/bzzz8bwNxxxx1n+K4ac/vttxvArFu3LuscYO666y4zadIk06BBA+Pl5WUiIiLM9OnTcz3/QnOnpKSYMWPGmEsvvdRUqlTJVK5c2bRv397MmTMnx/sAuX5dfvnlxpjs8hEbG5v1+KFDhxo/Pz/zzz//mMjISOPn52dq1aplxowZk6tw79mzx1x11VWmYsWKJiAgwFx//fVm7dq1WT9hOJu7777bAOann3466+MyZRbftWvXmssuu8z4+vqaevXqmfHjxxun05n1uPx+XzK/N3fddZeZOHGiadSokfH09DQTJ040xlijf23btjWVK1c2/v7+pkWLFubDDz80Lpcr1+tMmzbNtG/f3vj5+Rk/Pz9z6aWXmg8//DArd16/B5nS0tLMM888Yy6++GLj5eVlqlataoYNG2YOHTqU4z3q1Klj+vXrZ2bNmmWaN29uvL29zf/+97+s+/79PzZOp9M888wzpmHDhsbHx8cEBASYpk2bZo1uPvnkk3lmyvwcXH755VmfkUypqalm3LhxplGjRsbb29sEBQWZrl27mpUrV5719+2XX34xgFmwYEGO82cq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36pVq3L06NEz3h8eHp7191KXLl3w9fXl8ccf56233uLBBx8EoFWrVlSuXJl58+Yxfvz4PL8P8+bNw+VyZf15bN26NUFBQcydO/eMz8lLZtZz/f1U0M+vj49Pnp/B+Pj4PN/rTHmHDx/OV199xdKlSwkLC+Pnn39m4sSJWfdXrlwZd3d3brrppjP+JKJevXrnzCvlmM1TLUQu2JlWdTh69GjWldKZc3cbNGhg+vbte87XzJzje7Y5sM8++6ypUKGC2b59+zlf70zz39q1a2fatm1r3n777Tzn3N56662mZs2a55yzljlX9uWXXz5nlkyZy5n9d21QY7KXM+vTp0+O85xlju9FF11UqLmjo6NzzLk1xlopomLFiua/f3UFBQWZa6+9NtdrnG1Vh//KXAkgU+Yc33/P1TYm/3N887McVExMTNbxmZYzGzp0aI75swX5vnB6VYf/GjNmjKlYsWKOedUnT540YWFhOebF7tixw7i7u5ubbrrprF9rdHS0qVatWq7zn332Wdb8+3PJXNXhTPeda7m6CRMm5Jg/njlfNK95+mea4zt58uRz5vyvESNGmKCgoFznz7SqQ3p6uqlfv76pUqWKSUpKyjqfuZzZiy++mOu1Dh48mLWc2b8/S+dazuzgwYO5/nxPmzbNAGbDhg1n/boK+vnt3bu3ady4cY7H/PXXX8bDwyPPOb7//b5kysjIMKGhoebaa681Dz74oPHx8cn1/ldccYW59NJL870esci/acRXyqzKlSszduxYHn74YT7//HNuvPFG3nvvPSIjI+nduzfDhg0jNDSUo0ePsnnzZn755Re++uorAJ5++mkWLVpEly5dePTRR2natCkJCQl88803jBkzhkaNGnHfffcxa9YsunTpwv3330+zZs1wuVzs3r2bJUuW8MADD9CuXbuzZhwxYgR33HEH+/bto2PHjlkjzpmefvppli5dSseOHRk9ejQXX3wxqamp7Ny5k4ULFzJp0qTz/jH01KlTueKKK+jVqxejR4+mR48egDX384033qBRo0Y55tplqlq1Kt27d+f//u//slZ12LJlCzNmzCjU3FdeeSUxMTHceeedXH311ezZs4dnnnmGGjVq5NqRr2nTpnz//ffMnz+fGjVq4O/vn+t7WVBDhw7l9ddf58Ybb+TZZ5+lfv36LFq0iMWLFwOcc2SwXr16WaP5zZs35+6776ZFixaAdVX6Rx99hDGGqKioAuUqyPflTPr168drr73G9ddfz+23386RI0d45ZVX8Pb2zvG4unXr8uijj/LMM8+QkpLCddddR0BAAH/++Sfx8fGMGzcOsL7/MTExTJw4kVatWuHm5kbr1q0ZMmQI06ZNo2/fvtx77720bdsWT09P4uLiiI2NZeDAgQX++sFa4aBJkya0bt2a4OBgdu3axYQJE6hTp07WSiZNmzYF4I033mDo0KF4enpy8cUX5xplBmve9pQpUxg5ciR//fUX3bp1w+VysWbNGiIiIhgyZMgZs3Tt2pWPPvqIv//+O1/zkz09PXn++ee59tpreeONN3j88ccB+N///seGDRuy/jt48GACAgLYuHEjL7/8MsePH+frr78mICAg67UeeughNm/ezJNPPsnatWu5/vrrqV27NomJiSxfvpz333+fcePG0alTp6znrF69mipVqmR9f86koJ/fm266iRtvvJE777yTq666il27dvHSSy9l/dQgv9zd3bn55pt57bXXqFSpEtHR0Tm+ZrB+Ty+77DI6d+7MqFGjqFu3LsePH2fr1q3Mnz+f7777rkDvKeWM3c1b5EKdacTXGGvN07CwMNOgQQOTkZFhjDFmw4YN5tprrzXVqlUznp6eJiQkxHTv3j3X1dF79uwxI0aMMCEhIVlr9F577bXm4MGDWY85ceKEefzxx7PWKM1cT/T+++/PMSp6phGrxMRE4+vre9Yryg8fPmxGjx5t6tWrZzw9PU1QUJBp1aqVeeyxx7LWCz6fEd/M/M8//7xp3ry5qVChgqlQoYJp1qyZefbZZ3OtRWxM9gjiu+++ay666CLj6elpGjVqlOeC+IWR+4UXXjB169Y13t7eJiIiwnzwwQe5RmaNMea3334znTp1MhUqVMj3Or7/ldfr7t6920RHR5uKFSsaf39/c9VVV+W5pujZbNu2zdx5552mfv36xtvb2/j6+prGjRubMWPG5FhxIL8jvgX5vnCGEV9jjPnoo4/MxRdfbLy9vU14eLgZP368mTx5cp4rIUydOtW0adPG+Pj4mIoVK5oWLVrkGPE+evSoufrqq01gYKBxOBw5cpw6dcq88sor5tJLL816fqNGjcwdd9xh/vnnn6zHFWTE99VXXzUdO3Y0VatWNV5eXiYsLMzccsstZufOnTmeN3bsWFOzZk3j5uZ2znV8U1JSzBNPPJG1PnWVKlVM9+7dzapVq/LMlCkxMdFUrFjRvPTSSznOn2tks127dqZy5co5RjNdLpeZNm2a6dq1qwkMDDReXl6mXr16ZtSoUblWSPm3uXPnmn79+png4GDj4eFhKleubLp162YmTZqUY1TU5XKZOnXqmHvuueesX9O/5ffz63K5zEsvvWTCw8ONj4+Pad26tfnuu+/OuKrDmb4vxlhr9HJ67eWlS5fm+ZgdO3aYESNGZK0THhwcbDp27GieffbZfH9tUj45jDl96baIyDk4HA7uuusu3n77bbuj2Ob555/n8ccfZ/fu3ec92i5lyz333MO3337Lpk2bLnjVhaL07bff0qtXLzZt2kSjRo3sjiNiC011EBE5g8yC36hRI06dOsV3333Hm2++yY033qjSK1kef/xxpk6dyqxZs7I2cSmJnn32WUaMGKHSK+Waiq+IyBlUqFCB119/nZ07d5KWlkZYWBj/+9//suZlioC1xN20adM4duyY3VHO6NixY1x++eVZSzeKlFea6iAiIiIi5YI2sBARERGRckHFV0RERETKBRVfERERESkXyt3FbS6Xi3379uHv71+il50RERERKa+MMRw/fpyaNWsWeCvxsyl3xXffvn3ntee8iIiIiBSvPXv2FOrykeWu+GZuV7lnzx4qVapkcxoRERER+a+kpCRq166d5zbjF6LcFd/M6Q2VKlVS8RUREREpwQp7WqoubhMRERGRckHFV0RERETKBRVfERERESkXVHxFREREpFxQ8RURERGRckHFV0RERETKBRVfERERESkXVHxFREREpFxQ8RURERGRckHFV0RERETKBRVfERERESkXVHxFREREpFxQ8RURERGRckHFV0RERETKBRVfERERESkXbC2+y5cvp3///tSsWROHw8GcOXPO+ZwffviBVq1a4ePjQ3h4OJMmTSr6oCIiIiJS6tlafJOTk7n00kt5++238/X4HTt20LdvXzp37syvv/7Ko48+yujRo5k1a1YRJxURERGR0s7DzjePjIwkMjIy34+fNGkSYWFhTJgwAYCIiAjWrVvHK6+8wlVXXVVEKUVERESksKWnw8GDcPIkHDoEu3fDrl1w5AjExRXNe9pafAvqp59+olevXjnO9e7dm8mTJ3Pq1Ck8PT1zPSctLY20tLSs46SkpCLPKSIiIlLenTgB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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Feature Coefficient Odds Ratio\n", + "6 overdue_payments 0.186090 1.204531\n", + "17 postpaid 0.170268 1.185623\n", + "9 call_drops 0.005113 1.005127\n", + "2 avg_call_duration -0.000161 0.999839\n", + "5 monthly_charge -0.000284 0.999716\n", + "4 roaming_usage -0.000400 0.999600\n", + "8 avg_top_up_count -0.000451 0.999549\n", + "1 tenure -0.001500 0.998501\n", + "3 data_usage -0.002757 0.997247\n", + "10 customer_support_calls -0.024788 0.975517\n", + "15 hizlipazar -0.038173 0.962547\n", + "14 cuzdanx -0.038933 0.961815\n", + "0 age -0.057194 0.944411\n", + "12 izlego -0.107057 0.898474\n", + "11 satisfaction_score -0.152458 0.858595\n", + "13 ritimgo -0.289117 0.748925\n", + "16 konusalim -0.461677 0.630226\n", + "7 auto_payment -0.603459 0.546917\n", + "18 broadband -0.922737 0.397430\n" + ] + } + ], + "source": [ + "def logistic_regression(X_train, X_test, y_train, y_test):\n", + "\n", + " X_train = X_train.drop('id', axis=1)\n", + " X_test = X_test.drop('id', axis=1)\n", + " \n", + " log_reg = LogisticRegression(max_iter=200, solver='saga', n_jobs=-1, penalty=\"elasticnet\", l1_ratio=0.5) \n", + " \n", + " log_reg.fit(X_train, y_train)\n", + " \n", + " y_pred_proba = log_reg.predict_proba(X_test)[:, 1]\n", + " \n", + " fpr, tpr, thresholds = roc_curve(y_test, y_pred_proba)\n", + " roc_auc = auc(fpr, tpr)\n", + " \n", + " plt.figure(figsize=(8, 6))\n", + " plt.plot(fpr, tpr, color='blue', lw=2, label=f'ROC curve (AUC = {roc_auc:.2f})')\n", + " plt.plot([0, 1], [0, 1], color='gray', linestyle='--')\n", + " plt.xlim([0.0, 1.0])\n", + " plt.ylim([0.0, 1.05])\n", + " plt.xlabel('False Positive Rate')\n", + " plt.ylabel('True Positive Rate')\n", + " plt.title('Receiver Operating Characteristic (ROC) Curve')\n", + " plt.legend(loc='lower right')\n", + " plt.show()\n", + "\n", + " coef_df = pd.DataFrame({\n", + " 'Feature': X_train.columns,\n", + " 'Coefficient': log_reg.coef_[0]\n", + " })\n", + " coef_df['Odds Ratio'] = np.exp(coef_df['Coefficient'])\n", + " coef_df = coef_df.sort_values(by='Odds Ratio', ascending=False)\n", + " \n", + " print(coef_df)\n", + " \n", + " return y_pred_proba, coef_df\n", + "\n", + "y_pred_proba_log_reg, coef_df_log_reg = logistic_regression(X_train, X_test, y_train, y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Precision of top 1000 predictions: 0.066\n" + ] + }, + { + "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", + "
idPredicted_ProbActual
443204366fda3c-5672-4ed7-b338-3af40ae796b60.2266221
1272052ae632b18-ce1c-40a0-95fc-91dd16980aab0.1951461
479469c8c654c8-0368-4661-adb6-ea9ca2d990ae0.1931141
18013967e6a51c5-a0e3-4928-aaed-38ea17de38760.1929501
1300985ceb03606-601c-4599-83a2-b8a7625c9a120.1925981
............
5201718385b03d-2602-4ea0-b085-9abbd32f394b0.1321531
1447117f6c38c12-5a36-4d4c-8fb0-3e4d46d022cb0.1316291
83893115da0128-e9f4-408b-a176-26f0730e84bd0.1314101
134625727d95eba-ab7f-4ed6-a5b5-114e3e130bfb0.1313441
3471469e8a7b4b-8f6b-46b6-9951-446aaf61b76a0.1312701
\n", + "

66 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id Predicted_Prob Actual\n", + "443204 366fda3c-5672-4ed7-b338-3af40ae796b6 0.226622 1\n", + "1272052 ae632b18-ce1c-40a0-95fc-91dd16980aab 0.195146 1\n", + "479469 c8c654c8-0368-4661-adb6-ea9ca2d990ae 0.193114 1\n", + "1801396 7e6a51c5-a0e3-4928-aaed-38ea17de3876 0.192950 1\n", + "1300985 ceb03606-601c-4599-83a2-b8a7625c9a12 0.192598 1\n", + "... ... ... ...\n", + "520171 8385b03d-2602-4ea0-b085-9abbd32f394b 0.132153 1\n", + "1447117 f6c38c12-5a36-4d4c-8fb0-3e4d46d022cb 0.131629 1\n", + "838931 15da0128-e9f4-408b-a176-26f0730e84bd 0.131410 1\n", + "1346257 27d95eba-ab7f-4ed6-a5b5-114e3e130bfb 0.131344 1\n", + "347146 9e8a7b4b-8f6b-46b6-9951-446aaf61b76a 0.131270 1\n", + "\n", + "[66 rows x 3 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba_series = pd.Series(y_pred_proba_log_reg, name=\"Predicted_Prob\")\n", + "y_test_series = pd.Series(y_test, name=\"Actual\")\n", + "\n", + "call_center_data = pd.concat([test[\"id\"].reset_index(drop=True),y_pred_proba_series.reset_index(drop=True), y_test_series.reset_index(drop=True)], axis=1)\n", + "\n", + "sorted_call_center_data = call_center_data.sort_values(by='Predicted_Prob', ascending=False)\n", + "\n", + "top_1000 = sorted_call_center_data.head(1000)\n", + "\n", + "precision = precision_score(top_1000['Actual'], (top_1000['Predicted_Prob'] > 0).astype(int))\n", + "\n", + "print(f\"Precision of top 1000 predictions: {precision}\")\n", + "\n", + "top_1000[top_1000[\"Actual\"] == 1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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FStWuJ4fN24cZ5xxBgCXXXYZDoejWq2Vffr0AWDr1q2Auw129erVXHzxxTRq1Mj1RwfLspgzZw7du3cnNjaWRo0acfHFF/PHH394nNOyLGbOnOn6HvTs2ZMPP/ywzHtX1Ab8yy+/cPnll5Oamkp0dDQtW7bkqquuIi8vjxdeeIFLLrkEgLPOOsv1c1LyHJ9++imDBg0iKSmJuLg4Tj/9dJYsWVLm/d9//326d+9OdHQ0bdq04fHHH/f561da6a+ns/30rbfeokePHsTExDB16lQAfvrpJy644AIaNWpETEwM3bt358UXXyz3vEePHmXixIk0a9aM2NhYBgwYwJo1azyOWbVqFaNGjXL9HLZu3ZrLL7/cVUtpBw4c4OqrryY5OZn4+HhGjBhR5ntZXhtwaaW/j1X9Wy6vDTg/P5+HHnrI9e+7SZMmXH311WRkZHgc99lnnzFw4EAaN25MbGwsLVu25KKLLvL6DyqLFi2ia9euxMTE0LZtW/7xj3+4njt8+DANGzbkhhtuKPczhoeH89hjj1X5Ht9++y0//fQTY8aM4brrruPQoUP897//LXNccXExTz31lOvfU8OGDenTpw/vvPMOYH52fv75Z7788kvX19D5vaioZdf53zXn1xpg8eLFXHDBBbRo0YKYmBjat2/PDTfcUKcrkx49epQ777yT7t2706BBA5KTk+nbty//+9//KnzNs88+ywknnEB0dDRdunThtddeK3PM7t27ueGGG2jRogVRUVG0adOGqVOnBtQfGUX81dy5cxk9ejQA5513HocPH/b4f+fDDz/MqFGjmDp1Kp07d6Zbt27cc889ACQnJxMeHk5iYiLNmjWjWbNmXr/v2WefzejRo+ncuTOdO3fm2WefJTc3ly+//NLrc9x4442sXbu20oszWJdn9+7dpKamejyWmprK7t27va6hJC2wJGKToqKicn8pKPmXt4rMnDmTKVOm8Le//Y0zzzyTgoICfvnlF1eb4LXXXsv+/ft56qmneOutt0hLSwNwjcD85S9/4bnnnuOWW25h+PDhbNmyhfvuu48vvviC1atXk5KSAsC9997LjBkzuP7667nwwgvZvn071157LQUFBeW2yE6ePJm+ffvyzDPPEBYWRtOmTV2/ID/wwAM0a9aMw4cPs2jRIgYOHMiSJUvK/KL9r3/9i65du/Kvf/2LgwcPcueddzJixAh69+5NZGQk8+bNY+vWrUyaNIlrr73W9ctoRV599VWuvPJKhgwZwoIFC8jLy2PmzJmu9z/jjDO477776NWrFzfffDPTp0/nrLPOIikpqcrvQ2m//fYbQJlRsQsvvJBRo0Zx4403kpOTA8ANN9zACy+8wG233cajjz7K/v37mTZtGv369WPdunWu/9BPnTqVqVOnMn78eC6++GK2b9/OddddR1FRER07dqy0nnXr1nHGGWeQkpLCtGnT6NChA+np6bzzzjvk5+czbNgwpk+fzj333MO//vUvevbsCeAK1K+88gpXXXUVF1xwAS+++CKRkZE8++yznHvuuXz88ccMGjQIgCVLlnDBBRfQt29fXnvtNYqKipg5cyZ79uzx+WtY1ddz9erVbNiwgb/97W+0adOG+Ph4Nm7cSL9+/WjatCn/+Mc/aNy4Ma+88grjxo1jz5493H333R7nveeee+jZsyf/+c9/OHToEFOmTGHgwIGsWbOGtm3bAiZQdezYkVGjRpGcnEx6ejpPP/00p512GuvXr3f9G3EaP348gwcP5tVXX2X79u387W9/Y+DAgfzwww80bNiw2l+Dqv4tl1ZcXMwFF1zAsmXLuPvuu+nXrx9bt27lgQceYODAgaxatYrY2Fi2bNnCsGHD6N+/P/PmzaNhw4bs3LmTjz76iPz8/Cq7CtauXcuECROYMmUKzZo1Y/78+dx+++3k5+czadIkEhISuOaaa3juueeYOXMmDRo0cL12zpw5REVFcc0111T5+Z1tv9dccw3HH388EyZM8Pgl0GncuHG88sorjB8/nmnTphEVFcXq1atdAXTRokVcfPHFNGjQwNU2HR0dXeX7l/b777/Tt29frr32Who0aMCWLVuYNWsWZ5xxBj/++CORkZE+n7MqeXl57N+/n0mTJnHccceRn5/Pp59+yoUXXsjzzz/PVVdd5XH8O++8w+eff860adOIj49nzpw5XH755URERHDxxRcD5pfJXr16ERYWxv3330+7du1YsWIFDz30EFu2bOH555+v9c8hEio2btzId999x1tvvQVAREQEl112GfPmzeOcc84BzH9Dr7vuulp/771793L//ffz2WefsWfPHoqKisjNzfVpzmxycjLJyck1qqP0ehWWZXm1hkW5LBGpV88//7wFVHpp1aqVx2tatWpljR071nV/+PDhVvfu3St9n8cee8wCrM2bN3s8vmHDBguwbrrpJo/Hv/32Wwuw7rnnHsuyLGv//v1WdHS0ddlll3kct2LFCguwBgwY4Hrs888/twDrzDPPrPLzFxYWWgUFBdagQYOskSNHuh7fvHmzBVjdunWzioqKXI/Pnj3bAqw//elPHueZMGGCBViHDh2q8L2Kioqs5s2bWyeffLLHObOzs62mTZta/fr1K/MZ3njjjSo/g/PYhQsXWgUFBVZubq61dOlSq3379lZ4eLi1bt06y7Is64EHHrAA6/777/d4vfNr+MQTT3g8vn37dis2Nta6++67LcuyrAMHDlgxMTEeXyfLsqyvv/66zPfA+fV7/vnnXY+dffbZVsOGDa29e/dW+FneeOMNC7A+//xzj8dzcnKs5ORka8SIER6PFxUVWd26dbN69erleqx3795W8+bNrSNHjrgey8rKspKTky1v/jczduxYKz4+3iooKLAKCgqsjIwM6+9//7vlcDis0047zXVcq1atrPDwcGvjxo0erx81apQVHR1tbdu2zePx888/34qLi7MOHjxoWZb7+9azZ0+ruLjYddyWLVusyMhI69prr62wxsLCQuvw4cNWfHy89fe//931uPPfc0Xfo4ceesjjc1b1b7u872NF/5Yty7IGDBjg8XOwYMECC7D++9//ehy3cuVKC7DmzJljWZZlvfnmmxZgrV27tsLPXJFWrVpZDoejzGsHDx5sJSUlWTk5OZZlWdbvv/9uhYWFWU8++aTrmCNHjliNGze2rr766irfJycnx0pKSrL69Onjemzs2LGWw+GwfvvtN9djS5cutQDr3nvvrfR8J554osfXysn5PSz99XX+vJT+t+FUXFxsFRQUWFu3brUA63//+1+V56zovVeuXFnpcSU5/xs6fvx4q0ePHh7PAVZsbKy1e/duj+M7depktW/f3vXYDTfcYCUkJFhbt271eP3jjz9uAdbPP//scc4HHnjA6/pEasuRI0es9evXe/y/5fvvv7cA6/rrv7ceeMCq88v115v3+/77772u+6677rIAKzw83HUJCwuzoqOjrf3791uWZVnJycnWvHnzKjxHq1atPP7baVmWNXXqVKtr164ej82cOdPj/yvnn3++deqpp1rvv/++9dNPP1mbNm2yUlJSPM4FWIsWLarwvR9++GErPj6+0svSpUsrfP3xxx9vzZo1y+OxWbNmWS1btqzwNeV9r53UBixik5deeomVK1eWuTjbUSvTq1cv1q1bx0033cTHH39MVlaW1+/7+eefA5RZXbhXr1507tzZ1abyzTffkJeXx6WXXupxXJ8+fSpsZbzooovKffyZZ56hZ8+exMTEEBERQWRkJEuWLCl35dyhQ4cSFub+T1PnzmYlvtILBzkfr+yvhRs3bmTXrl2MGTPG45wJCQlcdNFFfPPNNzWaQ3rZZZcRGRlJXFwcZ555JkVFRbz55pt07drV47jSX5f33nsPh8PB6NGjKSwsdF2aNWtGt27dXG2HK1as4OjRo1x55ZUer+/Xrx+tWrWqtDZn28+ll15arXmsy5cvZ//+/YwdO9ajxuLiYs477zxWrlxJTk4OOTk5rFy5kgsvvJCYmBjX6xMTExkxYoTX75eTk0NkZCSRkZE0adKECRMmcP7555dZkKhr165lRvU/++wzBg0axPHHH+/x+Lhx48jNzfVo+Qa44oorPP7C26pVK/r16+f6twGmjfX//u//aN++PREREURERJCQkEBOTk65P7cVfY9KnrM+vPfeezRs2JARI0Z4fN+6d+9Os2bNXD9b3bt3Jyoqiuuvv54XX3yxTMtyVU488US6devm8dgVV1xBVlaWazGPtm3bMnz4cObMmePqGHn11VfZt2+fVyvWvv7662RlZXmMwF5zzTVYluUx8udsi7/55pt9+gzVsXfvXm688UaOP/5413/LnP8W63Il8DfeeIPTTz+dhIQE1/vOnTu33PccNGiQRwteeHg4l112Gb/99ptrqsd7773HWWedRfPmzT1+Ts4//3wAn1oGRcStsLCQl156iSeeeMKjbXbdunW0atWK+fPnA+b/ZeVNqXGKioqiqKjI47EmTZqwe/dujw680rsWLFu2jNtuu42hQ4dy4oknEh0d7fM0hZq2Afft25fFixd7PPbJJ5/Qr18/n+pwUhuwiE06d+5c7j/2Bg0asH379kpfO3nyZOLj43nllVd45plnCA8P58wzz+TRRx+t9D8gAPv27QNwtROW1Lx5c9ecPOdxpecdVPRYReecNWsWd955JzfeeCMPPvggKSkphIeHc99995X7i1bp1pOoqKhKH69sa5OqPmtxcTEHDhyosuWxIo8++ihnn3024eHhpKSklAlLTqXff8+ePViWVeHX0dmK6qy/vPkqVc1h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G24gLy+Pxx57jIMHD/LII4/U6ftX5PTTT+f666/n6quvZtWqVZx55pnEx8eTnp7OV199xcknn8xf/vIXGjVqxKRJk3jooYe49tprueSSS9i+fbtrBdaqOFcp7d27N3/9619p3749e/bs4Z133uHZZ58lMTGRk046CYDnnnuOxMREYmJiaNOmDY0bN+app55i7Nix7N+/n4svvti1uvO6devIyMhwjZY/+OCDnHfeeQwePJg777yToqIiHn30UeLj4ysciaxNDzzwgGsO3v33309ycjLz58/n/fffL7MSLZh5hyNHjnRthfLAAw8QExPD5MmTAVx/4X7sscdISUmhdevWfPnll8ydO7fClX1XrVrl8T269957Oe6447jppptq/Pkq+rdccpTUadSoUcyfP5+hQ4dy++2306tXLyIjI9mxYweff/45F1xwASNHjuSZZ57hs88+Y9iwYbRs2ZKjR4+6Wkqdq1VWpnnz5vzpT39iypQppKWl8corr7B48WIeffTRMn8AGj16NJMnT2bp0qX87W9/q7BF2ck556tz584Vhv0RI0bwzjvvkJGRQf/+/RkzZgwPPfQQe/bsYfjw4URHR7NmzRri4uK49dZbXV/H1157jYULF9K2bVtiYmI4+eSTOe200+jYsSOTJk2isLCQRo0asWjRojIta506daJdu3b89a9/xbIskpOTeffdd8vMzaqOzz77rMzWOWDm8Du3a7rppptcK4I/+OCDpKWlsWnTpjKvSUlJ4eyzz+a+++5zrQb8yy+/eGxfM23aNBYvXky/fv247bbb6NixI0ePHmXLli188MEHPPPMM9WeQiBS11q2bOl1eJQgUOGyTCJSJ6pa/XHYsGFVrhj6xBNPWP369bNSUlKsqKgoq2XLltb48eOtLVu2eLxu8uTJVvPmza2wsDCPVS2LioqsRx991DrhhBOsyMhIKyUlxRo9erS1fft2j9cXFxdbDz30kNWiRQsrKirK6tq1q/Xee+9Z3bp181j9tLKVdPPy8qxJkyZZxx13nBUTE2P17NnTevvtt8usjOpcBfWxxx7zeH1F5/ZlFc23337b6t27txUTE2PFx8dbgwYNsr7++muv3qc83h7rXA04IyOj3OfnzZtn9e7d24qPj7diY2Otdu3aWVdddZW1atUq1zHFxcXWjBkzrOOPP971PXj33XfLrAJb3iqylmVZ69evty655BKrcePGrp+VcePGWUePHnUdM3v2bKtNmzZWeHh4mXN8+eWX1rBhw6zk5GQrMjLSOu6446xhw4aV+ezvvPOO1bVrV9d7PPLII67PXxXnasBVadWqlTVs2LByn/vxxx+tESNGWA0aNLCioqKsbt26lflaOL9vL7/8snXbbbdZTZo0saKjo63+/ft7fM0ty7J27NhhXXTRRVajRo2sxMRE67zzzrN++umnMv8WnT+Hn3zyiTVmzBirYcOGVmxsrDV06FBr06ZNZT5ndVYDtqyK/y2X/jmwLMsqKCiwHn/8catbt25WTEyMlZCQYHXq1Mm64YYbXDWtWLHCGjlypNWqVSsrOjraaty4sTVgwADrnXfeKffrW7rmYcOGWW+++aZ14oknWlFRUVbr1q3LrP5Y0rhx46yIiAhrx44dVZ7/7bfftgBr9uzZFR7z0UcfeayoXVRUZD355JPWSSedZEVFRVkNGjSw+vbta7377ruu12zZssUaMmSIlZiYWGbV9V9//dUaMmSIlZSUZDVp0sS69dZbrffff7/MasDr16+3Bg8ebCUmJlqNGjWyLrnkEmvbtm1lVsz1dTXgii7O1z/yyCNW69atrejoaKtz587Wv//973L/fQHWzTffbM2ZM8dq166dFRkZaXXq1MmaP39+mffOyMiwbrvtNqtNmzZWZGSklZycbJ1yyinWvffeax0+fNjjnFoNWOxQ2QqxElwq+147LKsexoJFJGhs3ryZTp068cADD3i0noiIlCc/P5/WrVtzxhln8Prrr9tdjogEiKNHj7J582batGnjsdq8BJ/KvtdqAxaRCq1bt44FCxbQr18/kpKS2LhxIzNnziQpKYnx48fbXZ6I+LGMjAw2btzI888/z549ezwWqxIREfGGwqqIVCg+Pp5Vq1Yxd+5cDh48SIMGDRg4cCAPP/xwhduuiIgAvP/++1x99dWkpaUxZ84cr7arERERKUltwCIiIiIi4lfUBhw6Kvtee7ecp4iIiIiIiEg9UlgVERERERERv6M5qyIiIiIiEhC2bdtGZmZmvb1fSkpKUO3r6nA4WLRoEX/+85/tLsUrCqsiIiIiIuL3tm3bRudOncg9cqTe3jMuNpYNv/zic2Bdvnw5/fv3Z/DgwXz00Uc+vbZ169ZMmDCBCRMm+PQ6f/Dzzz9z//338/3337N161aefPLJGn0OhVUREREREfF7mZmZ5B45wisjR9K5SZM6f78NGRmMXrSIzMxMn8PqvHnzuPXWW/nPf/7Dtm3bgmp0tjK5ubm0bduWSy65hDvuuKPG51NYFRERERGRgNG5SRN6pqXZXUaFcnJyeP3111m5ciW7d+/mhRde4P777/c45p133mHatGn89NNPJCQkcOaZZ/LWW28xcOBAtm7dyh133OEKe5ZlMWXKFN5++23Wrl3rOsfs2bOZPXs2W7ZsAWDlypXcc889rFmzhoKCArp3786TTz5Zr1uHnXbaaZx22mkAtbK/thZYEhERERERqSULFy6kY8eOdOzYkdGjR/P8889TcrfQ999/nwsvvJBhw4axZs0alixZwqmnngrAW2+9RYsWLZg2bRrp6emkp6d7/b7Z2dmMHTuWZcuW8c0339ChQweGDh1Kdna21+eYPn06CQkJlV6WLVvm/RejhjSyKiIiIiIiUkvmzp3L6NGjATjvvPM4fPgwS5Ys4ZxzzgHg4YcfZtSoUUydOtX1mm7dugGQnJxMeHg4iYmJNGvWzKf3Pfvssz3uP/vsszRq1Igvv/yS4cOHe3WOG2+8kUsvvbTSY4477jif6qoJhVUREREREZFasHHjRr777jveeustACIiIrjsssuYN2+eK6yuXbuW6667rtbfe+/evdx///189tln7Nmzh6KiInJzc9m2bZvX50hOTiY5ObnWa6suhVUREREREZFaMHfuXAoLCz1GHy3LIjIykgMHDtCoUSNiY2N9Pm9YWJhHKzFAQUGBx/1x48aRkZHB7NmzadWqFdHR0fTt25f8/Hyv32f69OlMnz690mM+/PBD+vfv733xNaCwKiIiIiIiUkOFhYW89NJLPPHEEwwZMsTjuYsuuoj58+dzyy230LVrV5YsWcLVV19d7nmioqIoKiryeKxJkybs3r0by7JwOBwAHostASxbtow5c+YwdOhQALZv3+7znrRqAxYREREREQky7733HgcOHGD8+PE0aNDA47mLL76YuXPncsstt/DAAw8waNAg2rVrx6hRoygsLOTDDz/k7rvvBsw+q0uXLmXUqFFER0eTkpLCwIEDycjIYObMmVx88cV89NFHfPjhhyQlJbneo3379rz88suceuqpZGVlcdddd/k8ilvTNuD8/HzWr1/vur1z507Wrl1LQkIC7du39/l8CqsiIiIiIhIwNmRk+OX7zJ07l3POOadMUAUzsjp9+nRWr17NwIEDeeONN3jwwQd55JFHSEpK4swzz3QdO23aNG644QbatWtHXl4elmXRuXNn5syZw/Tp03nwwQe56KKLmDRpEs8995zrdfPmzeP666+nR48etGzZkunTpzNp0qTqfwGqYdeuXfTo0cN1//HHH+fxxx9nwIABfPHFFz6fz2GVbn4WERERERGx0dGjR9m8eTNt2rQhJiYGgG3bttG5UydyjxyptzriYmPZ8MsvtGzZst7eM9SU97120siqiIiIiIj4vZYtW7Lhl198nodZEykpKQqqNlJYFRERERGRgNCyZUuFxxASZncBIiIiIiIiIqUprIqIiIiIiIjfUVgVERERERERv6OwKiIiIiIifkkblwS/yr7HCqsiIiIiIuJXwsPDAcjPz7e5Eqlrubm5AERGRpZ5TqsBi4iIiIiIX4mIiCAuLo6MjAwiIyMJC9MYW7CxLIvc3Fz27t1Lw4YNXX+gKMlhaWxdRERERET8TH5+Pps3b6a4uNjuUqQONWzYkGbNmuFwOMo8p7AqIiIiIiJ+qbi4WK3AQSwyMrLcEVUnhVURERERERHxO2r+FhEREREREb+jsCoiIiIiIiJ+R2FVRERERERE/I7CqoiIiIiIiPgdhVURERERERHxOyEdVpcuhREjoHlzcDjg7bd9P4dlweOPwwknQHQ0HH88TJ9e66WKiIiIiIiElAi7C7BTTg506wZXXw0XXVS9c9x+O3zyiQmsJ58Mhw5BZmbt1ikiIiIiIhJqtM/qMQ4HLFoEf/6z+7H8fPjb32D+fDh4EE46CR59FAYONM9v2ABdu8JPP0HHjjYULSIiIiIiEqRCug24KldfDV9/Da+9Bj/8AJdcAuedB5s2mefffRfatoX33oM2baB1a7j2Wti/39ayRUREREREAp7CagV+/x0WLIA33oD+/aFdO5g0Cc44A55/3hzzxx+wdas55qWX4IUX4Pvv4eKLbS1dREREREQk4IX0nNXKrF5tFk864QTPx/PyoHFjc7u42Nx/6SX3cXPnwimnwMaNag0WERERERGpLoXVChQXQ3i4GSkND/d8LiHBXKelQUSEZ6Dt3Nlcb9umsCoiIiIiIlJdCqsV6NEDiopg717TBlye00+HwkLTMtyunXns11/NdatW9VOniIiIiIhIMArp1YAPH4bffjO3e/SAWbPgrLMgORlatoTRo80CS088YZ7PzITPPjNb1AwdakZfTzvNjLTOnm3u33wzJCWZ7WxERERERESkekI6rH7xhQmnpY0daxZLKiiAhx4yc1J37jRzVfv2halTTWAF2LULbr3VhNP4eDj/fBNuk5Pr85OIiIiIiIgEl5AOqyIiIiIiIuKftHWNiIiIiIiI+B2FVREREREREfE7IbcacGFhIWvWrCE1NZWwMGV1EREREZFQVVxczJ49e+jRowcRESEXjfxeyH1H1qxZQ69evewuQ0RERERE/MR3333HaaedZncZUkrIhdXU1FTA/ECmpaXZXI2IiIiIiNglPT2dXr16uTKC+JeQC6vO1t+0tDRatGhhczUiIiIiImI3TQ/0T/quiIiIiIiIiN9RWBURERERERG/o7AqIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4HYVVERERERER8TsKqyIiIiIiIuJ3FFZFRERERETE7yisioiIiIiIiN9RWBURERERERG/o7AqIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4HYVVERERERER8TsKqyIiIiIiIuJ3FFZFRERERETE7yisioiIiIiIiN9RWPVTlgWrVkFOjk0FFBXB119Dbq5NBYiIiIiISChTWPVT33wDp50G/frZkBf37oVzz4UzzjAF7N5dzwWIiIiIiEioU1j1U7/9Zq5/+AFuusmMtNaLr7+GHj1gyRJzf906OP10+P33eipAREREREREYdVvHT3qvv3ii/Cf/9TDmz7zDAwYALt2QadO8N570LYt/PGHCazr1tVDESIiIiIiIgqrfuvIEXMdH2+ub7kFvv++Dt9wzx649VYzV/Xyy2HlShg2DL76Crp2Nc8PHAjp6XVYhIiIiIiIiKGw6qecYfWii+BPf4L8fLj4YsjOrqM3fOklKCyE3r1h/nxISDCPp6XBl1+awHrwIDz9dB0VICIiIiIi4qaw6qecbcCxsaYN+PjjYcsW+OSTOngzy3L3GV97LTgcns83bAj33GNuP/ss5OXVQREiIiIiIiJuCqt+yjmyGhtrsuKZZ5r7dbLO0ddfw6+/mp7jyy4r/5gLL4Tmzc1KwW+8UQdFiIiIiIiIuCms+ilnWI2JMddt25rrP/6ogzdzjqpedhkkJpZ/TGQk/OUv5vZTT9VBESIi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SZPgzBn42c+s5+lecw2sXQupqdb23Fzre/fr29faPncuvPgiJCfD88+338fWuN1u0tPTL31NvEgYqL9JS1Ffk5aiviYtRX1NglwqiJGwsRkTeOiRiIiIiIiISJvQutPhioiIiIiIiISgYFVERERERETaHAWrIiIiIiIi0uYoWBUREREREZE2R8FqmL300kv07dsXj8fDqFGj+OSTT+ot//HHHzNq1Cg8Hg/9+vXj5ZdfrlXmrbfeYujQobjdboYOHcqaNWuaq/nSjoS7r61cuRKbzVYrlZaWNufbkHagMX0tNzeXyZMnM2jQIOx2O3PmzAlZTuc1CSXcfU3nNalPY/rb22+/zW233UZiYiKxsbGkpaWxbt26WuV0bhMJLwWrYfTGG28wZ84cFixYQGZmJjfddBN33XUXR6o/f6eaQ4cO8a1vfYubbrqJzMxMfvKTn/Dwww/z1ltvBcp89tlnTJo0ialTp7Jz506mTp3KxIkT2bp1a0u9LWmDmqOvAcTGxpKbmxuUPB5PS7wlaaMa29fKyspITExkwYIFDB8+PGQZndcklOboa6DzmoTW2P72f//3f9x2222sXbuWjIwMxo8fz7333ktmZmagjM5tIs3ASNhcf/31ZtasWUF5gwcPNo8//njI8o8++qgZPHhwUN6PfvQjc+ONNwZeT5w40dx5551BZe644w7zgx/8IEytlvaoOfraihUrTFxcXNjbKu1bY/tadePGjTOPPPJIrXyd1ySU5uhrOq9JXS6nv/kNHTrUPP3004HXOreJhJ9GVsOkvLycjIwMbr/99qD822+/nU8//TTkPp999lmt8nfccQfbt2+noqKi3jJ11SlXvubqawBFRUWkpqbSq1cv7rnnnqBfjKXjaUpfawid16Sm5uproPOa1BaO/ubz+Th//jxdu3YN5OncJhJ+ClbDJC8vD6/XS1JSUlB+UlISJ06cCLnPiRMnQpavrKwkLy+v3jJ11SlXvubqa4MHD2blypW8++67rF69Go/Hw9ixY/nyyy+b541Im9eUvtYQOq9JTc3V13Rek1DC0d/+67/+i+LiYiZOnBjI07lNJPycrd2AK43NZgt6bYyplXep8jXzG1undAzh7ms33ngjN954Y2D72LFjGTlyJC+88ALPP/98uJot7VBznIN0XpNQwt0vdF6T+jS1v61evZqFCxfyzjvv0K1b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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = call_center_data.copy()\n", + "prob_1 = data[data['Actual'] == 1]['Predicted_Prob']\n", + "prob_0 = data[data['Actual'] == 0]['Predicted_Prob']\n", + "\n", + "fig, ax1 = plt.subplots(figsize=(10, 6))\n", + "\n", + "sns.histplot(prob_0, bins=20, color='blue', alpha=0.5, label=\"Actual = 0\", kde=True, ax=ax1)\n", + "ax1.set_xlabel(\"Predicted Probability\")\n", + "ax1.set_ylabel(\"Frequency (Actual = 0)\", color=\"blue\")\n", + "ax1.tick_params(axis='y', labelcolor=\"blue\")\n", + "\n", + "\n", + "ax2 = ax1.twinx()\n", + "\n", + "sns.histplot(prob_1, bins=20, color='red', alpha=0.5, label=\"Actual = 1\", kde=True, ax=ax2)\n", + "ax2.set_ylabel(\"Frequency (Actual = 1)\", color=\"red\")\n", + "ax2.tick_params(axis='y', labelcolor=\"red\")\n", + "\n", + "fig.suptitle(\"Histogram of Predicted Probabilities by Actual Label\")\n", + "fig.legend(loc=\"upper right\")\n", + "\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "py310", + "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.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/week2/capstone/capstone_queries.sql b/week2/capstone/capstone_queries.sql new file mode 100644 index 0000000..7875c7f --- /dev/null +++ b/week2/capstone/capstone_queries.sql @@ -0,0 +1,92 @@ +create table if not exists churn_data as +select * +from read_json( + "capstone_data/capstone.*.jsonl", + columns = {"id":"varchar", + "age":"int", + "tenure":"int", + "service_type":"varchar", + "avg_call_duration":"float", + "data_usage":"float", + "roaming_usage":"float", + "monthly_charge":"float", + "overdue_payments":"int", + "auto_payment":"bool", + "avg_top_up_count":"float", + "call_drops":"int", + "customer_support_calls":"int", + "satisfaction_score":"float", + "apps":"varchar", + "churn":"bool" + } + ); + +CREATE OR REPLACE TABLE churn_data as (SELECT a.*, + b.izlego, b.ritimgo, b.cuzdanx, b.hizlipazar, b.konusalim, + b.prepaid, b.postpaid, b.broadband +FROM churn_data a +LEFT JOIN ( + SELECT + id, + apps, + service_type, + CASE WHEN apps LIKE '%İzleGo%' THEN 1 ELSE 0 END AS izlego, + CASE WHEN apps LIKE '%RitimGo%' THEN 1 ELSE 0 END AS ritimgo, + CASE WHEN apps LIKE '%CüzdanX%' THEN 1 ELSE 0 END AS cuzdanx, + CASE WHEN apps LIKE '%HızlıPazar%' THEN 1 ELSE 0 END AS hizlipazar, + CASE WHEN apps LIKE '%Konuşalım%' THEN 1 ELSE 0 END AS konusalim, + CASE WHEN service_type = 'Prepaid' THEN 1 ELSE 0 END AS prepaid, + CASE WHEN service_type = 'Postpaid' THEN 1 ELSE 0 END AS postpaid, + CASE WHEN service_type = 'Broadband' THEN 1 ELSE 0 END AS broadband + FROM churn_data +) b +USING(id)); + +-- boş veriler için sorgular +SELECT + 'id' AS column_name, COUNT(*) - COUNT(id) AS null_count FROM churn_data +UNION ALL +SELECT + 'age', COUNT(*) - COUNT(age) FROM churn_data +UNION ALL +SELECT + 'tenure', COUNT(*) - COUNT(tenure) FROM churn_data +UNION ALL +SELECT + 'service_type', COUNT(*) - COUNT(service_type) FROM churn_data +UNION ALL +SELECT + 'avg_call_duration', COUNT(*) - COUNT(avg_call_duration) FROM churn_data +UNION ALL +SELECT + 'data_usage', COUNT(*) - COUNT(data_usage) FROM churn_data +UNION ALL +SELECT + 'roaming_usage', COUNT(*) - COUNT(roaming_usage) FROM churn_data +UNION ALL +SELECT + 'monthly_charge', COUNT(*) - COUNT(monthly_charge) FROM churn_data +UNION ALL +SELECT + 'overdue_payments', COUNT(*) - COUNT(overdue_payments) FROM churn_data +UNION ALL +SELECT + 'auto_payment', COUNT(*) - COUNT(auto_payment) FROM churn_data +UNION ALL +SELECT + 'avg_top_up_count', COUNT(*) - COUNT(avg_top_up_count) FROM churn_data +UNION ALL +SELECT + 'call_drops', COUNT(*) - COUNT(call_drops) FROM churn_data +UNION ALL +SELECT + 'customer_support_calls', COUNT(*) - COUNT(customer_support_calls) FROM churn_data +UNION ALL +SELECT + 'satisfaction_score', COUNT(*) - COUNT(satisfaction_score) FROM churn_data +UNION ALL +SELECT + 'apps', COUNT(*) - COUNT(apps) FROM churn_data +UNION ALL +SELECT + 'churn', COUNT(*) - COUNT(churn) FROM churn_data; diff --git a/week2/capstone/file_handling.ipynb b/week2/capstone/file_handling.ipynb new file mode 100644 index 0000000..70cf950 --- /dev/null +++ b/week2/capstone/file_handling.ipynb @@ -0,0 +1,118 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import duckdb\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "pd.set_option('future.no_silent_downcasting', True)\n", + "\n", + "conn = duckdb.connect(database=\"capstone.db\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "df = conn.execute(\"SELECT * FROM churn_data\").fetchdf()\n", + "df[[\"auto_payment\", \"churn\"]] = df[[\"auto_payment\", \"churn\"]].apply(lambda x: x.map({True: 1, False: 0}))\n", + "X, y = df.drop(columns=[\"churn\", \"apps\", \"service_type\"]), df[\"churn\"] \n", + "\n", + "X.loc[X['broadband'] == 1, ['roaming_usage', 'call_drops', 'avg_call_duration']] = X.loc[X['broadband'] == 1, ['roaming_usage', 'call_drops', 'avg_call_duration']].fillna(0)\n", + "X.loc[(X['broadband'] == 0) & (X['postpaid'] == 0), 'auto_payment'] = X.loc[(X['broadband'] == 0) & (X['postpaid'] == 0), 'auto_payment'].fillna(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=23, stratify=y)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "def fill_missing_values(df_train, df_test, condition_column, columns):\n", + "\n", + " for condition in condition_column:\n", + " \n", + " df_train_filtered = df_train[df_train[condition] == 1]\n", + " df_test_filtered = df_test[df_test[condition] == 1]\n", + "\n", + " for col in columns:\n", + " min_val, max_val = df_train_filtered[col].min(), df_train_filtered[col].max()\n", + "\n", + " \n", + " missing_train_idx = df_train_filtered[df_train_filtered[col].isnull()].index\n", + " missing_test_idx = df_test_filtered[df_test_filtered[col].isnull()].index\n", + "\n", + " train_random_values = np.random.uniform(min_val, max_val, size=len(missing_train_idx)).astype(np.float32)\n", + " test_random_values = np.random.uniform(min_val, max_val, size=len(missing_test_idx)).astype(np.float32)\n", + "\n", + " df_train.loc[missing_train_idx, col] = train_random_values\n", + " df_test.loc[missing_test_idx, col] = test_random_values\n", + "\n", + " return df_train, df_test\n", + "\n", + "X_train, X_test = fill_missing_values(X_train, X_test, ['broadband','prepaid','postpaid'], ['avg_call_duration', 'data_usage', 'monthly_charge'])\n", + "\n", + "X_train.drop(columns=['prepaid'], inplace=True) \n", + "X_test.drop(columns=['prepaid'], inplace=True) # dummy variable trap\n", + "\n", + "X_train.fillna({'auto_payment': 0}, inplace=True)\n", + "X_test.fillna({'auto_payment': 0}, inplace=True)\n", + "\n", + "X_train.fillna({'tenure': round(X_train['tenure'].mean())}, inplace=True)\n", + "X_test.fillna({'tenure': round(X_train['tenure'].mean())}, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "train_data = pd.concat([X_train, y_train], axis=1)\n", + "test_data = pd.concat([X_test, y_test], axis=1)\n", + "\n", + "train_data.to_parquet(\"train_data.parquet\", engine='pyarrow')\n", + "test_data.to_parquet(\"test_data.parquet\", engine='pyarrow')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "py310", + "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.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/week2/sunday/create_netflix.sql b/week2/sunday/create_netflix.sql index 7c29c11..5c3071b 100644 --- a/week2/sunday/create_netflix.sql +++ b/week2/sunday/create_netflix.sql @@ -1,4 +1,4 @@ create table rating as select * from read_csv('../../you_do_1/data/rating_*.txt', columns = {'MovieId': 'int', 'UserId': 'int', 'Date': 'date', 'Rate':'int'} ) ; -- This causes error because of fields containing , --- create table movie_title as select * from read_csv('../../you_do_1/data/movie_titles.csv', columns = {'MovieId':'int','PublishedYear':'int', 'Title':'varchar'}, header=false, delim=',', auto_detect=false); +-- create table movie_title as select * from read_csv('../../you_do_1/data/movie_titles.csv', columns = {'MovieId':'int','PublishedYear':'int', 'Title':'varchar'}, header=false, delim=',', auto_detect=false) \ No newline at end of file diff --git a/week2/sunday/test.py b/week2/sunday/test.py new file mode 100644 index 0000000..d8aa179 --- /dev/null +++ b/week2/sunday/test.py @@ -0,0 +1,5 @@ +import duckdb + +conn = duckdb.connect(database="you_do_1/data/my_database.db") + + diff --git a/you_do_1/SQL_Queries.sql b/you_do_1/SQL_Queries.sql new file mode 100644 index 0000000..c805742 --- /dev/null +++ b/you_do_1/SQL_Queries.sql @@ -0,0 +1,166 @@ +create table if not exists rating as +select * +from read_csv( + 'rating_*.txt', + columns = { 'MovieId': 'int', + 'UserId': 'int', + 'Date': 'date', + 'Rate' :'int' } + ); + +CREATE TABLE IF NOT EXISTS titles AS +SELECT * +FROM read_csv( + 'movie_titles_new.csv', + columns = { + "index": "int", + 'MovieId': 'int', + 'Year': 'varchar', + "Title" : 'text' + }, + delim = ',', + quote = '"', + null_padding = TRUE, + header = TRUE + ); + + +CREATE TABLE IF NOT EXISTS normalized_rates AS( + SELECT MovieId, UserId, Date, NormalizedRate + FROM ( + WITH user_info AS ( + SELECT UserId, AVG(Rate) as RateAVG, NULLIF(STDDEV(Rate),0) as RateSTD + FROM rating + GROUP BY UserId + ) + SELECT a.MovieId, a.UserId, a.Date, a.Rate AS OldRate, (a.Rate - b.RateAVG)/b.RateSTD AS NormalizedRate + FROM rating a + LEFT JOIN user_info b + USING(UserId) + ) +); + +-- cold start recommendation: + +-- izlenme sayısı düşük olan filmleri henüz eleyemedim ancak ilerlememi paylaşmak istedim. +-- Bu sorunu çözdükten sonra diğer 2 maddedeki talepler için geliştirmeye devam edeceğim. +SELECT a.Title, a.MovieId, AVG(b.NormalizedRate) AS NormalizedRateAVG, MEDIAN(b.NormalizedRate) AS NormalizedRateMEDIAN, COUNT(UserId) AS WatchCount +FROM titles a +LEFT JOIN normalized_rates b +USING(MovieId) +GROUP BY a.Title, a.MovieId +ORDER BY NormalizedRateMEDIAN DESC; + +-- normalize edilmiş film skorlarının güven aralığının alt sınırını hesaplayarak filmlerin ortalama skorlarını izlenme sayısına göre cezalandırdım. +SELECT a.Title, a.MovieId, COUNT(UserId) AS WatchCount, AVG(b.NormalizedRate) AS NormalizedRateAVG, AVG(b.NormalizedRate) -1.96 * (STDDEV(NormalizedRate) / SQRT(COUNT(UserId))) AS AdjustedScore +FROM titles a +LEFT JOIN normalized_rates b +USING(MovieId) +GROUP BY a.Title, a.MovieId +ORDER BY AdjustedScore DESC +LIMIT 30; + +WITH UserMap AS ( SELECT UserId, ROW_NUMBER() OVER (ORDER BY UserId) - 1 AS user_index FROM (SELECT DISTINCT UserId FROM rating) AS unique_users), +MovieMap AS (SELECT MovieId, ROW_NUMBER() OVER (ORDER BY MovieId) - 1 AS movie_index FROM (SELECT DISTINCT MovieId FROM rating) AS unique_movies) +SELECT r.MovieId, m.movie_index, r.UserId, u.user_index +FROM rating r +JOIN UserMap u ON r.UserId = u.UserId +JOIN MovieMap m ON r.MovieId = m.MovieId; + +-- churn veri setinin elde edilmesi +drop table churn_data; + +create table if not exists churn_data as +select * +from read_json( + "capstone_data/capstone.*.jsonl", + columns = {"id":"varchar", + "age":"int", + "tenure":"int", + "service_type":"varchar", + "avg_call_duration":"float", + "data_usage":"float", + "roaming_usage":"float", + "monthly_charge":"float", + "overdue_payments":"int", + "auto_payment":"bool", + "avg_top_up_count":"float", + "call_drops":"int", + "customer_support_calls":"int", + "satisfaction_score":"float", + "apps":"varchar", + "churn":"bool" + } + ); + +CREATE OR REPLACE TABLE churn_data as (SELECT a.*, + b.izlego, b.ritimgo, b.cuzdanx, b.hizlipazar, b.konusalim, + b.prepaid, b.postpaid, b.broadband +FROM churn_data a +LEFT JOIN ( + SELECT + id, + apps, + service_type, + CASE WHEN apps LIKE '%İzleGo%' THEN 1 ELSE 0 END AS izlego, + CASE WHEN apps LIKE '%RitimGo%' THEN 1 ELSE 0 END AS ritimgo, + CASE WHEN apps LIKE '%CüzdanX%' THEN 1 ELSE 0 END AS cuzdanx, + CASE WHEN apps LIKE '%HızlıPazar%' THEN 1 ELSE 0 END AS hizlipazar, + CASE WHEN apps LIKE '%Konuşalım%' THEN 1 ELSE 0 END AS konusalim, + CASE WHEN service_type = 'Prepaid' THEN 1 ELSE 0 END AS prepaid, + CASE WHEN service_type = 'Postpaid' THEN 1 ELSE 0 END AS postpaid, + CASE WHEN service_type = 'Broadband' THEN 1 ELSE 0 END AS broadband + FROM churn_data +) b +USING(id)); + +-- boş veriler için sorgular +SELECT + 'id' AS column_name, COUNT(*) - COUNT(id) AS null_count FROM churn_data +UNION ALL +SELECT + 'age', COUNT(*) - COUNT(age) FROM churn_data +UNION ALL +SELECT + 'tenure', COUNT(*) - COUNT(tenure) FROM churn_data +UNION ALL +SELECT + 'service_type', COUNT(*) - COUNT(service_type) FROM churn_data +UNION ALL +SELECT + 'avg_call_duration', COUNT(*) - COUNT(avg_call_duration) FROM churn_data +UNION ALL +SELECT + 'data_usage', COUNT(*) - COUNT(data_usage) FROM churn_data +UNION ALL +SELECT + 'roaming_usage', COUNT(*) - COUNT(roaming_usage) FROM churn_data +UNION ALL +SELECT + 'monthly_charge', COUNT(*) - COUNT(monthly_charge) FROM churn_data +UNION ALL +SELECT + 'overdue_payments', COUNT(*) - COUNT(overdue_payments) FROM churn_data +UNION ALL +SELECT + 'auto_payment', COUNT(*) - COUNT(auto_payment) FROM churn_data +UNION ALL +SELECT + 'avg_top_up_count', COUNT(*) - COUNT(avg_top_up_count) FROM churn_data +UNION ALL +SELECT + 'call_drops', COUNT(*) - COUNT(call_drops) FROM churn_data +UNION ALL +SELECT + 'customer_support_calls', COUNT(*) - COUNT(customer_support_calls) FROM churn_data +UNION ALL +SELECT + 'satisfaction_score', COUNT(*) - COUNT(satisfaction_score) FROM churn_data +UNION ALL +SELECT + 'apps', COUNT(*) - COUNT(apps) FROM churn_data +UNION ALL +SELECT + 'churn', COUNT(*) - COUNT(churn) FROM churn_data; + + diff --git a/you_do_1/file_handling.ipynb b/you_do_1/file_handling.ipynb new file mode 100644 index 0000000..cf4d186 --- /dev/null +++ b/you_do_1/file_handling.ipynb @@ -0,0 +1,499 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "#titles = pd.read_csv(\"data/movie_titles.csv\", encoding=\"latin1\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*72. satırda 3 sütun beklenirken 4 sütun bulunuyormuş. Dosya incelendiğinde içinde , bulunan film adlarının bu soruna sebep olduğunu anlıyoruz. 3. sütundan sonra , ile sütun ayırımasını engelleyecek şekilde veriyi okutmamız gerekiyor." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "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", + "
movie_idmovie_yearmovie_title
012003Dinosaur Planet
122004Isle of Man TT 2004 Review
231997Character
341994Paula Abdul's Get Up & Dance
452004The Rise and Fall of ECW
............
17765177662002Where the Wild Things Are and Other Maurice Se...
17766177672004Fidel Castro: American Experience
17767177682000Epoch
17768177692003The Company
17769177702003Alien Hunter
\n", + "

17770 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " movie_id movie_year movie_title\n", + "0 1 2003 Dinosaur Planet\n", + "1 2 2004 Isle of Man TT 2004 Review\n", + "2 3 1997 Character\n", + "3 4 1994 Paula Abdul's Get Up & Dance\n", + "4 5 2004 The Rise and Fall of ECW\n", + "... ... ... ...\n", + "17765 17766 2002 Where the Wild Things Are and Other Maurice Se...\n", + "17766 17767 2004 Fidel Castro: American Experience\n", + "17767 17768 2000 Epoch\n", + "17768 17769 2003 The Company\n", + "17769 17770 2003 Alien Hunter\n", + "\n", + "[17770 rows x 3 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titles = pd.read_csv(\n", + " \"data/movie_titles.csv\", \n", + " usecols=[0, 1, 2], \n", + " names=[\"movie_id\", \"movie_year\", \"movie_title\"], \n", + " header=None, \n", + " encoding=\"latin1\", \n", + " dtype={\"movie_id\": \"Int16\", \"movie_year\": \"Int16\", \"movie_title\": \"string\"},\n", + ")\n", + "titles" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
movie_idmovie_yearmovie_title
012003Dinosaur Planet
122004Isle of Man TT 2004 Review
231997Character
341994Paula Abdul's Get Up & Dance
452004The Rise and Fall of ECW
............
17765177662002Where the Wild Things Are and Other Maurice Se...
17766177672004Fidel Castro: American Experience
17767177682000Epoch
17768177692003The Company
17769177702003Alien Hunter
\n", + "

17770 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " movie_id movie_year movie_title\n", + "0 1 2003 Dinosaur Planet\n", + "1 2 2004 Isle of Man TT 2004 Review\n", + "2 3 1997 Character\n", + "3 4 1994 Paula Abdul's Get Up & Dance\n", + "4 5 2004 The Rise and Fall of ECW\n", + "... ... ... ...\n", + "17765 17766 2002 Where the Wild Things Are and Other Maurice Se...\n", + "17766 17767 2004 Fidel Castro: American Experience\n", + "17767 17768 2000 Epoch\n", + "17768 17769 2003 The Company\n", + "17769 17770 2003 Alien Hunter\n", + "\n", + "[17770 rows x 3 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titles" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "titles.to_csv(\"data/movie_titles_new.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
movie_iduser_idtimerating
0114888442005-09-063
118221092005-05-135
218850132005-10-194
31308782005-12-264
418235192004-05-033
...............
268475181777017901582005-11-014
268475191777016087082005-07-193
26847520177702342752004-08-071
26847521177702552782004-05-284
26847522177704535852005-03-102
\n", + "

100480507 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " movie_id user_id time rating\n", + "0 1 1488844 2005-09-06 3\n", + "1 1 822109 2005-05-13 5\n", + "2 1 885013 2005-10-19 4\n", + "3 1 30878 2005-12-26 4\n", + "4 1 823519 2004-05-03 3\n", + "... ... ... ... ...\n", + "26847518 17770 1790158 2005-11-01 4\n", + "26847519 17770 1608708 2005-07-19 3\n", + "26847520 17770 234275 2004-08-07 1\n", + "26847521 17770 255278 2004-05-28 4\n", + "26847522 17770 453585 2005-03-10 2\n", + "\n", + "[100480507 rows x 4 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "rating_1 = pd.read_csv(\"data/rating_1.txt\", delimiter=\",\", header=None, names=[\"movie_id\",\"user_id\",\"time\", \"rating\"])\n", + "rating_2 = pd.read_csv(\"data/rating_2.txt\", delimiter=\",\", header=None, names=[\"movie_id\",\"user_id\",\"time\", \"rating\"])\n", + "rating_3 = pd.read_csv(\"data/rating_3.txt\", delimiter=\",\", header=None, names=[\"movie_id\",\"user_id\",\"time\", \"rating\"])\n", + "rating_4 = pd.read_csv(\"data/rating_4.txt\", delimiter=\",\", header=None, names=[\"movie_id\",\"user_id\",\"time\", \"rating\"])\n", + "ratings = pd.concat([rating_1,rating_2,rating_3,rating_4])\n", + "ratings\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 0 0 0\n" + ] + } + ], + "source": [ + "#print(ratings[\"user_id\"].isna().sum(), ratings[\"movie_id\"].isna().sum(), ratings[\"rating\"].isna().sum(), ratings[\"time\"].isna().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "#ratings.to_parquet(\"data/ratings.parquet\", engine=\"pyarrow\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "py310", + "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.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/you_do_1/recommendation.ipynb b/you_do_1/recommendation.ipynb new file mode 100644 index 0000000..c1e9991 --- /dev/null +++ b/you_do_1/recommendation.ipynb @@ -0,0 +1,161 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\Kutay\\anaconda3\\envs\\py310\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import duckdb \n", + "from scipy.sparse import csr_matrix, coo_matrix\n", + "from implicit.als import AlternatingLeastSquares" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "conn = duckdb.connect(database=\"data/my_database.db\")\n", + "titles = pd.read_csv(\"data/movie_titles_new.csv\",index_col=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " MovieId UserId Date NormalizedRate\n", + "0 191 201694 2003-12-10 0.664982\n", + "1 191 572279 2005-07-19 1.036926\n", + "2 191 2402296 2004-09-12 0.252856\n", + "3 191 2573432 2004-02-19 -0.726728\n", + "4 191 2350141 2004-01-21 0.458321\n", + "5 191 1881794 2003-12-10 0.928037\n", + "6 191 846333 2003-12-22 0.518613\n", + "7 191 1486244 2004-07-14 1.343912\n", + "8 191 390194 2004-12-05 0.731430\n", + "9 191 1269373 2003-12-02 -0.208224\n", + " MovieId UserId Date NormalizedRate\n", + "7 191 1486244 2004-07-14 1.343912\n", + "1 191 572279 2005-07-19 1.036926\n", + "5 191 1881794 2003-12-10 0.928037\n", + "8 191 390194 2004-12-05 0.731430\n", + "0 191 201694 2003-12-10 0.664982\n", + "6 191 846333 2003-12-22 0.518613\n", + "4 191 2350141 2004-01-21 0.458321\n", + "2 191 2402296 2004-09-12 0.252856\n", + "9 191 1269373 2003-12-02 -0.208224\n", + "3 191 2573432 2004-02-19 -0.726728\n" + ] + } + ], + "source": [ + "print(conn.execute(\"select * from normalized_rates limit 10\").fetchdf())\n", + "print((conn.execute(\"select * from normalized_rates limit 10\").fetchdf()).sort_values(\"NormalizedRate\", ascending=False))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ratings = conn.execute(\"select Rate, UserId, MovieId from rating\").fetch_df()\n", + "\n", + "user_mapping = {id: i for i, id in enumerate(ratings[\"UserId\"].unique())}\n", + "movie_mapping = {id: i for i, id in enumerate(ratings[\"MovieId\"].unique())}\n", + "\n", + "ratings[\"user_idx\"] = ratings[\"UserId\"].map(user_mapping)\n", + "ratings[\"movie_idx\"] = ratings[\"MovieId\"].map(movie_mapping)\n", + "\n", + "rows = ratings[\"UserId\"].map(user_mapping).values\n", + "cols = ratings[\"MovieId\"].map(movie_mapping).values\n", + "data = ratings[\"Rate\"].values \n", + "\n", + "sparse_matrix = csr_matrix((data, (rows, cols)), shape=(len(user_mapping), len(movie_mapping)))\n", + "\n", + "train_matrix = sparse_matrix.copy() \n", + "train_matrix = train_matrix.astype(float)\n", + "test_size = int(train_matrix.nnz * 0.01) \n", + "test_indices = np.random.choice(train_matrix.nnz, size=test_size, replace=False)\n", + "\n", + "nonzero_row, nonzero_col = train_matrix.nonzero()\n", + "\n", + "test_size = int(len(nonzero_row) * 0.005)\n", + "test_indices = np.random.choice(len(nonzero_row), size=test_size, replace=False)\n", + "\n", + "test_dict = {}\n", + "for idx in test_indices:\n", + " row = nonzero_row[idx]\n", + " col = nonzero_col[idx]\n", + " rate = train_matrix[row, col]\n", + " test_dict[idx] = {'row': row, 'col': col, 'rate': rate}\n", + "\n", + "print(f\"Test setindeki öğe sayısı: {len(test_dict)}\")\n", + "\n", + "train_matrix=train_matrix.tocoo()\n", + "\n", + "train_matrix.data = np.delete(train_matrix.data, test_indices)\n", + "train_matrix.row = np.delete(train_matrix.row, test_indices) \n", + "train_matrix.col = np.delete(train_matrix.col, test_indices)\n", + "\n", + "train_matrix = train_matrix.tocsr()\n", + "\n", + "model = AlternatingLeastSquares(factors=50, regularization=0.1, iterations=5, random_state=42)\n", + "model.fit(train_matrix)\n", + "\"\"\"\n", + "recommended_items, scores = model.recommend(0, train_matrix, N=100, filter_already_liked_items=False)\n", + "a= movie_mapping[recommended_items[0]]\n", + "\n", + "print(a, recommended_items)\n", + "\"\"\"\n", + "hit_count = 0\n", + "total_test_items = len(test_dict)\n", + "\n", + "for _, entry in test_dict.items():\n", + " row, col = entry[\"row\"], entry[\"col\"]\n", + " \n", + " # Kullanıcı için öneri listesi al\n", + " recommended_items, _ = model.recommend(row, train_matrix, N=10, filter_already_liked_items=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "py310", + "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.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}