diff --git a/notebooks/modeling-logisticRegression.ipynb b/notebooks/modeling-logisticRegression.ipynb new file mode 100644 index 0000000..2dcc637 --- /dev/null +++ b/notebooks/modeling-logisticRegression.ipynb @@ -0,0 +1,866 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "2a2f3924", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import warnings\n", + "import sys\n", + "\n", + "import dvc.api\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import ElasticNet, LogisticRegression\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from fast_ml.model_development import train_valid_test_split\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "from urllib.parse import urlparse\n", + "import mlflow\n", + "import mlflow.sklearn\n", + "import logging" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2ff7fa2f", + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings('ignore')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "196c462d", + "metadata": {}, + "outputs": [], + "source": [ + "sys.path.append(os.path.abspath(os.path.join('../scripts')))\n", + "from ml import Ml\n", + "from preprocess import Preprocess" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9673a729", + "metadata": {}, + "outputs": [], + "source": [ + "ml = Ml()\n", + "preprocess = Preprocess()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ecfd9720", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
auction_idexperimentdatehourdevice_makeplatform_osbrowseryesno
00008ef63-77a7-448b-bd1e-075f42c55e39exposed2020-07-108Generic Smartphone6Chrome Mobile00
1000eabc5-17ce-4137-8efe-44734d914446exposed2020-07-0710Generic Smartphone6Chrome Mobile00
20016d14a-ae18-4a02-a204-6ba53b52f2edexposed2020-07-052E58236Chrome Mobile WebView01
300187412-2932-4542-a8ef-3633901c98d9control2020-07-0315Samsung SM-A705FN6Facebook00
4001a7785-d3fe-4e11-a344-c8735acacc2ccontrol2020-07-0315Generic Smartphone6Chrome Mobile00
..............................
8072ffea24ec-cec1-43fb-b1d1-8f93828c2be2exposed2020-07-057Generic Smartphone6Chrome Mobile00
8073ffea3210-2c3e-426f-a77d-0aa72e73b20fcontrol2020-07-0315Generic Smartphone6Chrome Mobile00
8074ffeaa0f1-1d72-4ba9-afb4-314b3b00a7c7control2020-07-049Generic Smartphone6Chrome Mobile00
8075ffeeed62-3f7c-4a6e-8ba7-95d303d40969exposed2020-07-0515Samsung SM-A515F6Samsung Internet00
8076fffbb9ff-568a-41a5-a0c3-6866592f80d8control2020-07-1014Samsung SM-G960F6Facebook00
\n", + "

8077 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " auction_id experiment date hour \\\n", + "0 0008ef63-77a7-448b-bd1e-075f42c55e39 exposed 2020-07-10 8 \n", + "1 000eabc5-17ce-4137-8efe-44734d914446 exposed 2020-07-07 10 \n", + "2 0016d14a-ae18-4a02-a204-6ba53b52f2ed exposed 2020-07-05 2 \n", + "3 00187412-2932-4542-a8ef-3633901c98d9 control 2020-07-03 15 \n", + "4 001a7785-d3fe-4e11-a344-c8735acacc2c control 2020-07-03 15 \n", + "... ... ... ... ... \n", + "8072 ffea24ec-cec1-43fb-b1d1-8f93828c2be2 exposed 2020-07-05 7 \n", + "8073 ffea3210-2c3e-426f-a77d-0aa72e73b20f control 2020-07-03 15 \n", + "8074 ffeaa0f1-1d72-4ba9-afb4-314b3b00a7c7 control 2020-07-04 9 \n", + "8075 ffeeed62-3f7c-4a6e-8ba7-95d303d40969 exposed 2020-07-05 15 \n", + "8076 fffbb9ff-568a-41a5-a0c3-6866592f80d8 control 2020-07-10 14 \n", + "\n", + " device_make platform_os browser yes no \n", + "0 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "1 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "2 E5823 6 Chrome Mobile WebView 0 1 \n", + "3 Samsung SM-A705FN 6 Facebook 0 0 \n", + "4 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "... ... ... ... ... .. \n", + "8072 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8073 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8074 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8075 Samsung SM-A515F 6 Samsung Internet 0 0 \n", + "8076 Samsung SM-G960F 6 Facebook 0 0 \n", + "\n", + "[8077 rows x 9 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('../data/AdSmartABdata.csv')\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aaf248b8", + "metadata": {}, + "outputs": [], + "source": [ + "# Get URL from DVC\n", + "# path = 'data/AdSmartABdata.csv'\n", + "# repo = 'https://github.com/jedisam/abtest-mlops'\n", + "# version = '6db449393c9626c4fbca44946dfa103660685a27'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1152816f", + "metadata": {}, + "outputs": [], + "source": [ + "# Load data from dvc using the dvc.api.Dataset class\n", + "# data_url = dvc.api.get_url(\n", + "# path=path,\n", + "# repo=repo,\n", + "# rev=version\n", + "# )\n", + "# data_url" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d15914fe", + "metadata": {}, + "outputs": [], + "source": [ + "# Read CSV file from remote repository\n", + "# data = pd.read_csv(data_url, sep=',')\n", + "# data" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "d08c96b9", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
auction_idexperimentdatehourdevice_makeplatform_osbrowseryesno
00008ef63-77a7-448b-bd1e-075f42c55e39exposed2020-07-108Generic Smartphone6Chrome Mobile00
1000eabc5-17ce-4137-8efe-44734d914446exposed2020-07-0710Generic Smartphone6Chrome Mobile00
20016d14a-ae18-4a02-a204-6ba53b52f2edexposed2020-07-052E58236Chrome Mobile WebView01
300187412-2932-4542-a8ef-3633901c98d9control2020-07-0315Samsung SM-A705FN6Facebook00
4001a7785-d3fe-4e11-a344-c8735acacc2ccontrol2020-07-0315Generic Smartphone6Chrome Mobile00
..............................
8072ffea24ec-cec1-43fb-b1d1-8f93828c2be2exposed2020-07-057Generic Smartphone6Chrome Mobile00
8073ffea3210-2c3e-426f-a77d-0aa72e73b20fcontrol2020-07-0315Generic Smartphone6Chrome Mobile00
8074ffeaa0f1-1d72-4ba9-afb4-314b3b00a7c7control2020-07-049Generic Smartphone6Chrome Mobile00
8075ffeeed62-3f7c-4a6e-8ba7-95d303d40969exposed2020-07-0515Samsung SM-A515F6Samsung Internet00
8076fffbb9ff-568a-41a5-a0c3-6866592f80d8control2020-07-1014Samsung SM-G960F6Facebook00
\n", + "

8077 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " auction_id experiment date hour \\\n", + "0 0008ef63-77a7-448b-bd1e-075f42c55e39 exposed 2020-07-10 8 \n", + "1 000eabc5-17ce-4137-8efe-44734d914446 exposed 2020-07-07 10 \n", + "2 0016d14a-ae18-4a02-a204-6ba53b52f2ed exposed 2020-07-05 2 \n", + "3 00187412-2932-4542-a8ef-3633901c98d9 control 2020-07-03 15 \n", + "4 001a7785-d3fe-4e11-a344-c8735acacc2c control 2020-07-03 15 \n", + "... ... ... ... ... \n", + "8072 ffea24ec-cec1-43fb-b1d1-8f93828c2be2 exposed 2020-07-05 7 \n", + "8073 ffea3210-2c3e-426f-a77d-0aa72e73b20f control 2020-07-03 15 \n", + "8074 ffeaa0f1-1d72-4ba9-afb4-314b3b00a7c7 control 2020-07-04 9 \n", + "8075 ffeeed62-3f7c-4a6e-8ba7-95d303d40969 exposed 2020-07-05 15 \n", + "8076 fffbb9ff-568a-41a5-a0c3-6866592f80d8 control 2020-07-10 14 \n", + "\n", + " device_make platform_os browser yes no \n", + "0 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "1 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "2 E5823 6 Chrome Mobile WebView 0 1 \n", + "3 Samsung SM-A705FN 6 Facebook 0 0 \n", + "4 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "... ... ... ... ... .. \n", + "8072 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8073 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8074 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "8075 Samsung SM-A515F 6 Samsung Internet 0 0 \n", + "8076 Samsung SM-G960F 6 Facebook 0 0 \n", + "\n", + "[8077 rows x 9 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# change the date column to datetime\n", + "# from preprocess import Preprocess\n", + "data = preprocess.convert_to_datetime(df, 'date')\n", + "data" + ] + }, + { + "cell_type": "markdown", + "id": "1957a950", + "metadata": {}, + "source": [ + "# Exploring the categorical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "da5d2e03", + "metadata": {}, + "outputs": [], + "source": [ + "numerical_column = preprocess.get_numerical_columns(df)\n", + "categorical_column = preprocess.get_categorical_columns(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1c3f08b8", + "metadata": {}, + "outputs": [], + "source": [ + "# drop auction_id from categorical_column\n", + "categorical_column.remove('auction_id')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "629b90a9", + "metadata": {}, + "outputs": [], + "source": [ + "# Get column names have less than 10 more than 2 unique values\n", + "to_one_hot_encoding = [col for col in categorical_column if df[col].nunique() <= 10 and df[col].nunique() > 2]\n", + "\n", + "# Get Categorical Column names thoose are not in \"to_one_hot_encoding\"\n", + "to_label_encoding = [col for col in categorical_column if not col in to_one_hot_encoding]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d0879922", + "metadata": {}, + "outputs": [], + "source": [ + "# Label encoding\n", + "label_encoded_columns = preprocess.label_encode(df, to_label_encoding)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "53dbecea", + "metadata": {}, + "outputs": [], + "source": [ + "# Copy our DataFrame to X variable\n", + "X = df.copy()\n", + "\n", + "# Droping Categorical Columns,\n", + "# \"inplace\" means replace our data with new one\n", + "# Don't forget to \"axis=1\"\n", + "X.drop(categorical_column, axis=1, inplace=True)\n", + "\n", + "# Merge DataFrames\n", + "X = pd.concat([X, label_encoded_columns], axis=1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "333fe00a", + "metadata": {}, + "outputs": [], + "source": [ + "# Select only rows with responses\n", + "X = X.query('yes == 1 | no == 1')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "cd31d7a8", + "metadata": {}, + "outputs": [], + "source": [ + "# Drop auction_id column\n", + "X.drop([\"auction_id\"], axis=1, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "385095bb", + "metadata": {}, + "outputs": [], + "source": [ + "X['target'] = [1] * X.shape[0]\n", + "X.loc[X['no'] == 1, 'target'] = 0\n", + "y = X['target']\n", + "X.drop([\"target\"], axis=1, inplace=True)\n", + "X.drop(['yes', 'no'], axis=1, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a1f1f6d7", + "metadata": {}, + "outputs": [], + "source": [ + "# Get the day of the week from the date column as a new column\n", + "X['day'] = X['date'].dt.dayofweek\n", + "X.drop([\"date\"], axis=1, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "id": "6fb870b8", + "metadata": {}, + "source": [ + "# Logistic Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "b51aee5c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Training Accuracy scores': array([0.55533199, 0.5694165 , 0.54124748, 0.55577889, 0.55879397]),\n", + " 'Mean Training Accuracy': 55.61137680353478,\n", + " 'Training Precision scores': array([0.55333333, 0.5721393 , 0.5046729 , 0.54255319, 0.56291391]),\n", + " 'Mean Training Precision': 0.5471225265572623,\n", + " 'Training Recall scores': array([0.18122271, 0.25164114, 0.11816193, 0.22270742, 0.18558952]),\n", + " 'Mean Training Recall': 0.19186454282247042,\n", + " 'Training F1 scores': array([0.27302632, 0.34954407, 0.19148936, 0.31578947, 0.27914614]),\n", + " 'Mean Training F1 Score': 0.28179907306784935,\n", + " 'Validation Accuracy scores': array([0.5502008 , 0.47791165, 0.5502008 , 0.53225806, 0.55645161]),\n", + " 'Mean Validation Accuracy': 53.34045860862806,\n", + " 'Validation Precision scores': array([0.52380952, 0.33333333, 0.55172414, 0.48 , 0.55 ]),\n", + " 'Mean Validation Precision': 0.48777339901477834,\n", + " 'Validation Recall scores': array([0.19298246, 0.13043478, 0.13913043, 0.21052632, 0.19298246]),\n", + " 'Mean Validation Recall': 0.17321128909229594,\n", + " 'Validation F1 scores': array([0.28205128, 0.1875 , 0.22222222, 0.29268293, 0.28571429]),\n", + " 'Mean Validation F1 Score': 0.2540341433634117,\n", + " 'Coefficients': []}" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "logistic_regression_model = LogisticRegression(random_state=0)\n", + "logistic_regression_result = ml.cross_validation(logistic_regression_model, X, y, 5)\n", + "logistic_regression_result" + ] + }, + { + "cell_type": "markdown", + "id": "248e3c8f", + "metadata": {}, + "source": [ + "### Plot Accuracy Result" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "76284cb6", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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TZvGXnvtxW233QaUpze+4hWvAEow/ra3vY0ZM2awzTbbcNJJJ63Mb+LEiSvTz5gxg8MOO4wddtiBN7zhDWQV8c+bN48ddtiB3Xbbjfe+970r8+0EW6glSZI05BYtWsSvfvUrxo0bx8MPP8zll1/O+PHjufjii/nIRz7Cd77znVXWufXWW7n00ktZsmQJ22+/Pe9+97tXGbru2muv5eabb2bzzTdn77335pe//CXTp0/nXe96F5dddhlbb701s2b1+fiTIWdALUmSpCH3mte8hnHjxgHw0EMP8Za3vIXf/e53RASPPfZYj+sceOCBrLvuuqy77ro8/elP57777mPKlClPSrPHHnusnDd16lQWLlzIxIkT2WabbVYOczdr1ixOOeWUYfx0T2aXD0mSJA259ddff+Xrj370o8ycOZObbrqJH/zgB70OSbfuuuuufD1u3DhWrFgxqDSdZkAtSZKkYfXQQw+xxRZbAHD66acPef7bb789d955JwsXLgTgnHPOGfJt9MWAWpIkScPqgx/8IMceeyzTpk0blhbl9dZbjy996Uvsv//+7LbbbkyaNIkNN9xwyLfTm8j+xkJZzU2fPj2vuuqqkS7GqNZ1x6zGHut+7LLuxy7rfs2zYMECdtxxx37TremPHl+6dCkTJ04kM3nPe97Dtttuy9FHHz3o/HrarxFxdWauMs6fLdSSJEka9U499VSmTp3Kc57zHB566CHe9a53dWzbjvIhSZKkUe/oo49u1CLdhC3UkiRJUgMG1JIkSVIDBtSSJElSAwbUkiRJUgMG1JIkSRq0mTNnctFFFz1p3uc//3ne/e5395h+xowZdA15fMABB/Dggw+ukmbOnDmceOKJfW73/PPP55Zbbln5/mMf+xgXX3zxAEs/NAyoJUmS1iQRPU6TNtig12V9Tv2YNWsWc+fOfdK8uXPnMmvWrH7XnTdvHhtttNGgPmZrQP3xj3+cf/7nfx5UXk0ZUEuSJGnQDjvsMC688EKWL18OwMKFC7n33ns5++yzmT59Os95znM47rjjelx3q6224oEHHgDg+OOPZ7vttuOFL3wht91228o0p556Krvvvju77LILr371q3nkkUf41a9+xQUXXMC///u/M3XqVH7/+98ze/ZszjvvPAAuueQSpk2bxs4778zb3vY2Hn300ZXbO+6449h1113ZeeedufXWW4dkHxhQS5IkadA23nhj9thjD370ox8BpXX6ta99LccffzxXXXUVN9xwAz//+c+54YYbes3j6quvZu7cuVx33XXMmzePK6+8cuWyQw89lCuvvJLrr7+eHXfckdNOO4299tqLgw46iM985jNcd911PPvZz16ZftmyZcyePZtzzjmHG2+8kRUrVvDlL3955fJNN92Ua665hne/+939ditplwG1JEmSGql3++jq7nHuueey6667Mm3aNG6++eYndc9odfnll3PIIYfwlKc8hQ022ICDDjpo5bKbbrqJffbZh5133pkzzzyTm2++uc+y3HbbbWy99dZst912ALzlLW/hsssuW7n80EMPBWC33XZj4cKFg/3IT2JALUmSpEYOPvhgLrnkEq655hoeeeQRNt54Y0488UQuueQSbrjhBg488ECWLVs2qLxnz57NySefzI033shxxx036Hy6rLvuugCMGzeOFStWNMqriwG1JEmSGpk4cSIzZ87kbW97G7NmzeLhhx9m/fXXZ8MNN+S+++5b2R2kN/vuuy/nn38+//jHP1iyZAk/+MEPVi5bsmQJm222GY899hhnnnnmyvmTJk1iyZIlq+S1/fbbs3DhQu644w4AzjjjDF70ohcN0SftmQG1JEmSGps1axbXX389s2bNYpdddmHatGnssMMOvP71r2fvvffuc91dd92V173udeyyyy68/OUvZ/fdd1+57BOf+AR77rkne++9NzvssMPK+Ycffjif+cxnmDZtGr///e9Xzp8wYQLf+MY3eM1rXsPOO+/MWmutxZFHHjn0H7gmMnNYNzDcpk+fnl1jGWpw5s+fz4wZM0a6GBoB1v3YZd2PXdb9mmfBggXsuOOO/aZbsmQJkyZN6kCJ1gw97deIuDozp7emtYVakiRJasCAWpIkSWrAgFqSJElqwIBakiRplBvt98Stbga6Pw2oJUmSRrEJEyawePFig+ohkpksXryYCRMmtL3O+GEsjyRJkobZlClTWLRoEffff3+f6ZYtWzagIHEsmzBhAlOmTGk7vQG1JEnSKLb22muz9dZb95tu/vz5TJs2rQMlGnvs8iFJkiQ1YEAtSZIkNWBALUmSJDVgQC1JkiQ1YEAtSZIkNWBALUmSJDVgQC1JkiQ1YEAtSZIkNWBALUmSJDVgQC1JkiQ1YEAtSZIkNdDRgDoi9o+I2yLijoj4cA/L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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Accuracy Result\n", + "model_name = \"Logistic Regression\"\n", + "ml.plot_result(model_name, \"Accuracy\", \"Accuracy scores in 5 Folds\", logistic_regression_result[\"Training Accuracy scores\"], logistic_regression_result[\"Validation Accuracy scores\"])" + ] + }, + { + "cell_type": "markdown", + "id": "27d8de35", + "metadata": {}, + "source": [ + "### Plot Precision Result" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "27134e4f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Precision Result\n", + "ml.plot_result(model_name, \"Precision\", \"Precision scores in 5 Folds\", logistic_regression_result[\"Training Precision scores\"], logistic_regression_result[\"Validation Precision scores\"])" + ] + }, + { + "cell_type": "markdown", + "id": "03e0f1a9", + "metadata": {}, + "source": [ + "### Recall Results plot" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "9fabddb7", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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6irmzZvHFltsweGHH/6CoetuueUW7rrrLl7ykpew++6786tf/YrJkydz2GGHcc011zBhwgSmTOn38SdDzoBakiRJQ+4tb3kLo0aNAuDxxx/n4IMP5ne/+x0RwTPPPNPrNvvssw8rr7wyK6+8Muuttx6PPPII48ePf16anXfeedGyiRMnMnv2bMaMGcOmm266aJi7KVOmcPrppw/j0T2fXT4kSZI05FZfffVF85/5zGfYY489uPPOO7nkkkv6HJJu5ZVXXjQ/atQoFi5cOKg0nWZALUmSpGH1+OOPs+GGGwJw1llnDXn+W2yxBQ888ACzZ88G4LzzzhvyffTHgFqSJEnD6pOf/CTHHnsskyZNGpYW5VVXXZVvfvOb7Lnnnuy4446MHTuWNddcc8j305fIgcZCWcpNnjw5Z8yYsaSLsUzruWNWI491P3JZ9yOXdb/8mTlzJltttdWA6Zb3R4/Pnz+fMWPGkJl88IMfZLPNNuOoo44adH69ndeIuCkzXzDOny3UkiRJWuadccYZTJw4kW222YbHH3+cww47rGP7dpQPSZIkLfOOOuqoWi3SddhCLUmSJNVgQC1JkiTVYEAtSZIk1WBALUmSJNVgQC1JkqRB22OPPbjsssuet+wrX/kKhx9+eK/pu7q66BnyeO+99+axxx57QZoTTjiBU045pd/9XnTRRdx9992LXh933HFcccUVbZZ+aBhQS5IkLU8iep3GrrFGn+v6nQYwZcoUpk2b9rxl06ZNY8qUKQNuO336dNZaa61BHWZzQH3iiSfyute9blB51WVALUmSpEE78MADufTSS3n66acBmD17Ng8//DDnnnsukydPZptttuH444/vddtNNtmEv/71rwCcdNJJbL755rziFa/g3nvvXZTmjDPOYKeddmL77bfnzW9+M08++STXX389F198MZ/4xCeYOHEi999/P1OnTuWCCy4A4Morr2TSpElst912HHLIITz11FOL9nf88cezww47sN1223HPPfcMyTkwoJYkSdKgrb322uy888787Gc/A0rr9Fvf+lZOOukkZsyYwe23387VV1/N7bff3mceN910E9OmTePWW29l+vTp3HjjjYvWHXDAAdx4443cdtttbLXVVnznO99ht912Y9999+WLX/wit956Ky996UsXpV+wYAFTp07lvPPO44477mDhwoWcdtppi9av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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Recall Result\n", + "ml.plot_result(model_name, \"Recall\", \"Recall scores in 5 Folds\", logistic_regression_result[\"Training Recall scores\"], logistic_regression_result[\"Validation Recall scores\"])\n" + ] + }, + { + "cell_type": "markdown", + "id": "eb84d852", + "metadata": {}, + "source": [ + "### f1 score result" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "ef123525", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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SZKkPlq2bBmbb755j2FazYsINt988157/GsZqCVJkoY4w/TA6uvzaaCWJElSvy1atIgJEyYwYcIEXvWqV7HVVlutuP3888/3eN9Zs2Zx/PHH97qNvffee6CaOygcQy1JkrQW6b5ztX/jpzN7Xr/55ptzxx13ADBt2jRGjhzJZz7zmRXrly9fzvDhjSPnpEmTmDRpUq9tuPHGG5tu7+pgD7UkSZIG1NSpU/noRz/K5MmTOfHEE7n55pt5wxvewMSJE9l7772ZN28eUJy98R3veAdQhPGjjz6ajo4Ott12W77xjW+sqG/kyJErynd0dHD44Yezww47cOSRR5Jl4p85cyY77LADe+yxB8cff/yKelvBHmpJkiQNuIULF3LjjTcybNgwnnrqKW644QaGDx/O1Vdfzcknn8xll122yn3uvfderr32WpYsWcL222/Pscceu8rUdbfffjtz5szh1a9+Nfvssw+/+c1vmDRpEh/5yEe4/vrrGT9+PFOm9Hj6kwFnoJYkSdKAe/e7382wYcMAWLx4MUcddRS///3viQheeOGFhvd5+9vfzvrrr8/666/PK1/5Sh599FHGjh37sjJ77bXXimUTJkxgwYIFjBw5km233XbFNHdTpkzh3HPPHcRH93IO+ZAkSdKA22ijjVZc/+IXv8j+++/P3XffzRVXXNHtlHTrr7/+iuvDhg1j+fLl/SrTagZqSZIkDarFixez1VZbAXD++ecPeP3bb789DzzwAAsWLADg4osvHvBt9MRALUmSpEF14oknctJJJzFx4sRB6VHeYIMN+Na3vsUBBxzAHnvswahRo9hkk00GfDvdiextLpQ13KRJk3LWrFmruxlDWtcRs2o/7vv25b5vX+77tc/cuXPZcccdey23tp96fOnSpYwcOZLM5GMf+xjbbbcdJ5xwQr/ra/S8RsStmbnKPH/2UEuSJGnIO++885gwYQI777wzixcv5iMf+UjLtu0sH5IkSRryTjjhhEo90lXYQy1JkiRVYKCWJEmSKjBQS5IkSRUYqCVJkqQKDNSSJEnqt/3335+rrrrqZcvOOussjj322IblOzo66Jry+KCDDuLJJ59cpcy0adM488wze9zu5Zdfzj333LPi9imnnMLVV1/dx9YPDAO1JEnS2iSi4WXUxht3u67HSy+mTJnC9OnTX7Zs+vTpTJkypdf7zpw5k0033bRfD7M+UJ922mm85S1v6VddVRmoJUmS1G+HH344V155Jc8//zwACxYs4OGHH+aiiy5i0qRJ7Lzzzpx66qkN7ztu3DieeOIJAE4//XRe+9rX8sY3vpF58+atKHPeeeex5557sttuu3HYYYfxzDPPcOONNzJjxgw++9nPMmHCBO6//36mTp3KpZdeCsA111zDxIkT2XXXXTn66KN57rnnVmzv1FNPZffdd2fXXXfl3nvvHZDnwEAtSZKkfttss83Ya6+9+NnPfgYUvdPvec97OP3005k1axazZ8/muuuuY/bs2d3WceuttzJ9+nTuuOMOZs6cyS233LJi3aGHHsott9zCnXfeyY477sh3vvMd9t57bw4++GDOOOMM7rjjDl7zmtesKL9s2TKmTp3KxRdfzF133cXy5cs555xzVqwfPXo0t912G8cee2yvw0qaZaCWJElSJbXDPrqGe1xyySXsvvvuTJw4kTlz5rxseEa9G264gXe9611suOGGbLzxxhx88MEr1t19993su+++7Lrrrlx44YXMmTOnx7bMmzeP8ePH89rXvhaAo446iuuvv37F+kMPPRSAPfbYgwULFvT3Ib+MgVqSJEmVHHLIIVxzzTXcdtttPPPMM2y22WaceeaZXHPNNcyePZu3v/3tLFu2rF91T506lbPPPpu77rqLU089td/1dFl//fUBGDZsGMuXL69UVxcDtSRJkioZOXIk+++/P0cffTRTpkzhqaeeYqONNmKTTTbh0UcfXTEcpDv77bcfl19+Oc8++yxLlizhiiuuWLFuyZIlbLnllrzwwgtceOGFK5aPGjWKJUuWrFLX9ttvz4IFC5g/fz4AP/zhD3nTm940QI+0MQO1JEmSKpsyZQp33nknU6ZMYbfddmPixInssMMOvO9972Offfbp8b677747733ve9ltt9048MAD2XPPPVes+/KXv8zkyZPZZ5992GGHHVYsP+KIIzjjjDOYOHEi999//4rlI0aM4Hvf+x7vfve72XXXXVlnnXX46Ec/OvAPuEZk5qBuYLBNmjQpu+YyVP90dnbS0dGxupuh1cB9377c9+3Lfb/2mTt3LjvuuGOv5ZYsWcKoUaNa0KK1Q6PnNSJuzcxJ9WXtoZYkSZIqMFBLkiRJFRioJUmSpAoM1JIkSUPcUD8mbk3T1+fTQC1JkjSEjRgxgkWLFhmqB0hm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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot F1-Score Result\n", + "ml.plot_result(model_name, \"F1\", \"F1 Scores in 5 Folds\", logistic_regression_result[\"Training F1 scores\"], logistic_regression_result[\"Validation F1 scores\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7eb38e7f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/modeling.ipynb b/notebooks/modeling.ipynb index 028f9f3..1cc5dfb 100644 --- a/notebooks/modeling.ipynb +++ b/notebooks/modeling.ipynb @@ -2,18 +2,10 @@ "cells": [ { "cell_type": "code", - "execution_count": 58, + "execution_count": 1, "id": "285e3e4a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ERROR! Session/line number was not unique in database. History logging moved to new session 68\n" - ] - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", @@ -42,7 +34,12 @@ "# To evaluate end result we have\n", "from sklearn.metrics import accuracy_score, confusion_matrix\n", "from sklearn.model_selection import LeaveOneOut\n", - "from sklearn.model_selection import cross_val_score\n" + "from sklearn.model_selection import cross_val_score\n", + "\n", + "from urllib.parse import urlparse\n", + "import mlflow\n", + "import mlflow.sklearn\n", + "import logging\n" ] }, {