{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\HardWorkingStation\\PyProjects\\uplift_lab\\venv\\lib\\site-packages\\pkg_resources\\__init__.py:116: PkgResourcesDeprecationWarning: reamlit is an invalid version and will not be supported in a future release\n",
" warnings.warn(\n"
]
}
],
"source": [
"from typing import Any\n",
"import pandas as pd\n",
"\n",
"from sklearn.model_selection import train_test_split, RandomizedSearchCV\n",
"from sklearn.preprocessing import OneHotEncoder, LabelEncoder\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"\n",
"import xgboost as xgb\n",
"from xgboost import XGBClassifier\n",
"\n",
"from sklift.datasets import fetch_hillstrom\n",
"from sklift.metrics import uplift_at_k, uplift_by_percentile, weighted_average_uplift\n",
"from sklift.viz import plot_uplift_preds, plot_qini_curve\n",
"from sklift.models import SoloModel, TwoModels, ClassTransformation\n",
"\n",
"from catboost import CatBoostClassifier\n",
"\n",
"from category_encoders import CatBoostEncoder\n",
"\n",
"import pickle"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"def get_data() -> tuple[Any, Any, Any]:\n",
"\t# получаем датасет\n",
"\tdataset = fetch_hillstrom(target_col='visit')\n",
"\tdataset, target, treatment = dataset['data'], dataset['target'], dataset['treatment']\n",
"\t# выбираем два сегмента\n",
"\tdataset = dataset[treatment != 'Mens E-Mail']\n",
"\ttarget = target[treatment != 'Mens E-Mail']\n",
"\ttreatment = treatment[treatment != 'Mens E-Mail'].map({\n",
"\t\t'Womens E-Mail': 1,\n",
"\t\t'No E-Mail': 0\n",
"\t})\n",
"\n",
"\treturn dataset, target, treatment"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [],
"source": [
"dataset, target, treatment = get_data()\n",
"\n",
"data_train_index = pd.read_csv('../data/data_train_index.csv')\n",
"data_test_index = pd.read_csv('../data/data_test_index.csv')\n",
"treatment_train_index = pd.read_csv('../data/treatment_train_index.csv')\n",
"treatment_test_index = pd.read_csv('../data/treatment_test_index.csv')\n",
"target_train_index = pd.read_csv('../data/target_train_index.csv')\n",
"target_test_index = pd.read_csv('../data/target_test_index.csv')\n",
"\n",
"# фиксируем выборки, чтобы результат работы ML был предсказуем\n",
"data_train = dataset.loc[data_train_index['0']]\n",
"data_test = dataset.loc[data_test_index['0']]\n",
"treatment_train = treatment.loc[treatment_train_index['0']]\n",
"treatment_test = treatment.loc[treatment_test_index['0']]\n",
"target_train = target.loc[target_train_index['0']]\n",
"target_test = target.loc[target_test_index['0']]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"models_results = {\n",
" 'approach': [],\n",
" 'uplift@30%': []\n",
"}"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": " recency history_segment history mens womens zip_code newbie channel\n26463 9 4) $350 - $500 458.66 1 0 Rural 0 Web\n16211 12 3) $200 - $350 276.23 1 0 Rural 0 Phone\n35863 8 1) $0 - $100 76.34 0 1 Urban 1 Phone\n11417 10 2) $100 - $200 165.05 1 0 Urban 1 Web\n27606 3 1) $0 - $100 39.30 1 0 Urban 0 Phone",
"text/html": "
\n\n
\n \n \n | \n recency | \n history_segment | \n history | \n mens | \n womens | \n zip_code | \n newbie | \n channel | \n
\n \n \n \n 26463 | \n 9 | \n 4) $350 - $500 | \n 458.66 | \n 1 | \n 0 | \n Rural | \n 0 | \n Web | \n
\n \n 16211 | \n 12 | \n 3) $200 - $350 | \n 276.23 | \n 1 | \n 0 | \n Rural | \n 0 | \n Phone | \n
\n \n 35863 | \n 8 | \n 1) $0 - $100 | \n 76.34 | \n 0 | \n 1 | \n Urban | \n 1 | \n Phone | \n
\n \n 11417 | \n 10 | \n 2) $100 - $200 | \n 165.05 | \n 1 | \n 0 | \n Urban | \n 1 | \n Web | \n
\n \n 27606 | \n 3 | \n 1) $0 - $100 | \n 39.30 | \n 1 | \n 0 | \n Urban | \n 0 | \n Phone | \n
\n \n
\n
"
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_train.head()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Обучим модель Random Forest Classifier из sklearn"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [],
"source": [
"enc = LabelEncoder()\n",
"\n",
"data_train_new = data_train.copy(deep=True)\n",
"data_test_new = data_test.copy(deep=True)\n",
"data_train_new['history_segment'] = enc.fit_transform(data_train['history_segment'])\n",
"data_test_new['history_segment'] = enc.transform(data_test_new['history_segment'])\n",
"\n",
"data_train_new['zip_code'] = enc.fit_transform(data_train['zip_code'])\n",
"data_test_new['zip_code'] = enc.transform(data_test_new['zip_code'])\n",
"\n",
"data_train_new['channel'] = enc.fit_transform(data_train['channel'])\n",
"data_test_new['channel'] = enc.transform(data_test_new['channel'])"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 114,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "iVBORw0KGgoAAAANSUhEUgAABJIAAAGrCAYAAACboL3dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABHOElEQVR4nO3de5hdVXn48e/LNSp3iDQSMFFRK5abQRBRIyg3ibEKCFgJiOaHRQWxKlVapmpbtFgEtFAqSGhRQFRIFK0IpqgIGBCVaw0kSCKXyB0pcnt/f+w1yckwM9kzmXOd7+d5znP2Ze193jXnZK+c96y1dmQmkiRJkiRJ0qqs0e4AJEmSJEmS1B1MJEmSJEmSJKkWE0mSJEmSJEmqxUSSJEmSJEmSajGRJEmSJEmSpFpMJEmSJEmSJKkWE0lSl4iIvoj4r7K8VUQ8FhFrjuI8n4qIr459hJLU2yJicUS8pU2vfU5EfK4svyEibhvlec6IiL8b2+gkqbsNd42NiFdExA0R8WhEfKR9US6PZ3pELGlYvykipo/iPKNuSyQTSVptJaHR/3g2Iv6vYf09Y/g6yy/wrRYRUyIiI2Ktdrz+QJn5u8xcLzOfGa7cwIamHPtPmfn+5kYoSaMTEYdExILShtwdEd+PiN3G4Lxta0PGWmb+JDNfsapyEXFYRPx0wLFHZuZnmxedJLVe+X/6ywZsW/4j7EgMco39BPDjzFw/M09t548Kg8nMbTJz/qrKDfwb1W1LpMGYSNJqKwmN9TJzPeB3wIyGbef1l+uUJEwn8G8hSc8VEccCXwL+Cdgc2Ar4N2BmC167Zddl2wBJ6iovBm5q1slHM8JAajcTSWqa/t4wEfHJiLgH+FpErBERx0XE7RFxf0RcGBGbNBzzzYi4JyIejogrI2Kbsn028B7gE+VX6nll++KI+HhE/Doi/hgRZ0XE5uUX7Ecj4kcRsXHD+XeJiKsi4qGI+FVjN9CImB8Rn42In5VjfxgRm5XdV5bnh8rrv26Q+vZFxEURcUE5/vqI2K5h/+Lyt/g18MeIWGsV8UyNiP8p57oM2Kxh30o9pCJik4j4WkT8PiIejIiLI+IFwPeBFzX0EHvRwF9nIuLtpUvsQ+Vv8OcDYv6b8vd9uNRtQtm3WUR8txz3QET8JCK8pkgalYjYEPgMcFRmfjsz/5iZT2XmvMz8eCmzbkR8qVzrfl+W1y37+tucj0XEfVH1Zjq87BuuDRl4XR7ymriK+M+JatjYZeW6/T8R8eKG/RkRR0XEb4Hflm37RTVc4qHSFmzbUH6H0o48GhEXABMa9g0c1rBlRHw7IpZF1bZ+ucR9BvC6UueHGuL8XMOxH4iIheU6PjciXjQg5iMj4rclxq9ERJR9Lyt1fDgi/lBilKSO1NBGfKpcsxbHECMnGq+xEXEF8Gbgy+Va+g2qHznmlfVPjPS1ynX49Ii4NCL+CLy5/B/9W+U6vigahtBFxPPKMQ9GxM3ATgNeb3kPqYhYs7zu7aX9uK60Ef3fZX5V4n73IG3Jn5d276HSDr59QMxfiYjvlfNeExEvLfsiIk6Oqu19JCJ+ExGvHuFbpC7jlz41258Bm1Bl8mcDHwbeAbwJeBHwIPCVhvLfB7YGXghcD5wHkJlnluUvlJ5OMxqOeRfwVuDlwIxyjk8BE6k+4x8BiIgtgO8Bnysx/Q3wrYiY2HCuQ4DDy+uvU8oAvLE8b1Re/+dD1Hcm8M1y/q8DF0fE2g37DwbeBmxE9Wv7cPF8HbiOKoH0WWDWEK8J8J/A84FtSuwnZ+YfgX2A3zf0EPt940ER8XLgG8AxVH+vS6kaxnUaih0I7A1MBbYFDivbPwYsKcdtTvU3z2FilKThvI4qWfKdYcp8GtgF2B7YDngtcHzD/j8DNgS2AI4AvhIRG6+iDWm8Lr+EVV8Th/Mequv1ZsAN5TUbvQPYGXhVROwAnA38P2BT4N+BuVEly9YBLqa6tm9C1a68a7AXjOqX7O8CdwJTSt3Pz8xbgCOBn5c6bzTIsbsD/0x1nZ9UznH+gGL7UX1p2baU26ts/yzwQ2BjYDJw2tB/FknqCH9GdX3egur/1WdGxLBDuzJzd+AnwIfKtfRgVh6B8YVRvtYhwD8C6wNXAfOAX5XyewDHRET/9fYE4KXlsRfDfyc4lqpd2xfYAHgf8Hhm9n+X2a7EvVLyv3xfmUd1XX8h1Xe28wbEfBDwD1TX/YUlfoA9qb4rvZyqDT4QuH+YGNUDTCSp2Z4FTsjMP2Xm/1H9p/bTmbkkM/8E9AH7R+lZk5lnZ+ajDfu2i+pX6uGclpn3ZuZSqgv9NZn5y8x8guoLyQ6l3F8Bl2bmpZn5bGZeBiygutD2+1pm/m+J9UKqLysjcV1mXpSZTwH/SvWlaJeG/adm5l3l/EPGExFbUf3H/e/K3+5Kqov7c0TEJKqE0ZGZ+WD5Bf9/asb7buB7mXlZifkk4HnArgNi/n1mPlBi2L5sf4rqi8eLy2v+JDNNJEkarU2BP2Tm08OUeQ/wmcy8LzOXUf2H9r0N+58q+5/KzEuBx4BVzf/QeF2uc00czvcy88rShn2aqjfQlg37/zkzHyivNRv498y8JjOfycw5wJ+o2oxdgLWBL5W6XAT8YojXfC3VDzMfL724nsjMnw5RdqD3AGdn5vUl5r8tMU9pKHNiZj6Umb8DfszKbcCLgReN8DUlqZ36/2/9P1Q/6B7Ypte6JDN/lpnPAn8BTMzMz2Tmk5l5B/AfVIkbynH/WNqPu4BTh3nN9wPHZ+ZtWflVZtZJ6uwCrEd1zX8yM6+g+pHi4IYy38nMa0s7fR4rtwfrA68EIjNvycy7a7ymupiJJDXbspLQ6fdi4Duly+RDwC3AM8DmpSvmiaUr5iPA4nLMZgzv3obl/xtkfb2G1z6g/7XL6+9GlQzpd0/D8uMNx9Z1V/9CaRiWUP0H/zn7VxHPi4AHS6+ifncO8ZpbAg9k5oMjjJXyOsvPW2K+i+rXkH5D/U3+herXiB9GxB0RcdwoXl+S+t0PbBbDzx+00jWrLDdeY+8fkIiqcx1vvC7XuSbWOldmPgY8wPBtwMcGtAFblvIvApYOSM4P1wbcuYoE3FAG1vcxqvehThvwCSCAa8sQiPeN4vUlaaw8Q5WAb7Q2VZKj32D/t34RzbGq1xrYHrxoQHvwKaoe/5TjGssP1R5A1SbcPop4XwTcVdq9xtdZZXtQkk5fphplcl9EnBkRG4wiBnURE0lqtoE9VO4C9snMjRoeE0pvokOohoa9hapb5JRyTAxxrpG6C/jPAa/9gsw8cRT1GMryX56jmi9oMtA4nKzxPMPFczewcVTzHPXbaojXvAvYJCI2GkXcv6dqvPpjjlKHpas4jtJz7GOZ+RLg7cCxEbHHqo6TpCH8nKpHzjuGKbPSNYvquvj7IcoONNT1sHH7qK+JRWMbsB7VsLTh2oB/HNAGPD8zv0HVBmxRXr/fcG3AVkMk4EbaBryAqmdYnTbgnsz8QGa+iGp43r/FgDsmSVIL/Y4V3x36TWXlpMtg/7eu24Y0qvO9YFWvNbA9WDSgPVg/M/tHTdxNQ/vC0O1B/7leWiO+gX4PbBkrz3e6FTXbv8w8NTNfA7yKaojbx0cRg7qIiSS12hnAP0aZgDQiJkZE/9141qf6EnE/1Xw//zTg2Hup5q8Yrf8CZkTEXqX304QyydzkGscuoxqmt6rXf01EvLP8h/4YqvpcPdJ4MvNOqmFu/xAR60R16+sZg52kdB39PtV/4jeOiLUjon8c9L3ApsMMD7wQeFtE7FHGRn+sxHzVKurZP0nsy8oXnYepfgl6dhWHSdKgMvNh4O+p5jV6R0Q8v1zP9omI/jkovgEcX9qOzUr5urd2rtOGjPqaWOwbEbuVOY4+C1xdhiEM5j+AIyNi5zJR6Qsi4m0RsT5VUu1p4CPlb/BOqiFsg7mW6kvGieUcEyLi9Q11njzMHE/fAA6PiO2jmrT8n6iGhy9eVUUj4oCG9vNBqi9FtgGS2uUCqvZhclQ393kL1f+dLxpQrv//1m+gmgPum6N4rbrfSeq+1rXAo1Hd/OF55XvBqyOif1LtC4G/Lf/Pn0w1f9FQvgp8NiK2Lm3LthGxaY24r6HqZfSJ0u5Mp/r7DZw37zkiYqfSlq0N/BF4AtuDnmciSa12CjCXajjUo1RJlp3LvnOpfjVYCtzMcxMwZ1FNUPpQRFw80hcu/5mfSdVVdBlVxv7j1Ph3kJmPU00o97Py+rsMUfQSqjk2HqSat+OdZZ6N0cRzCNXf5gGqSfbOHSbE91J13b0VuI8qiUVm3kr1ReGOEvdK3Xcz8zaquZpOA/5A1WDMyMwnh3mtflsDP6Kag+TnwL9l5o9rHCdJg8rML1JNFHo8K66LH6KaeBqqmxMsAH4N/Ibqpgyfe86JBrfKNmQ1r4lQ3SThBKrr9mvKuQaVmQuAD1ANB3iQaqjwYWXfk8A7y/oDVO3Kt4c4zzMlzpdR/SK/pJQHuILqltX3RMQfBjn2R8DfAd+iSka9lBVzcqzKTsA1EfEYVbt+dJnXQ5La4TNUSf+fUl1TvwC8JzNvbChzT9n3e6o5fo4s/1ceqX+mSlo9FBF/M0SZ2q9VruP7Uc05tIiq/fkq1QgNqOYDvLPs+yHVjRiG8q9UiacfAo9QtX3PK/v6gDkl7pXmhirtzgyqeVf/APwbcGjNv88GVD+OPFjivJ9qCgz1sEjnxpXGRET0AS/LzCG/OEiSelNEnAMsyczjV1VWktRapYfNf2VmnZEIXfNaUrvYI0mSJEmSJEm1mEiSJEmSJElSLQ5tkyRJkiRJUi32SJIkSZIkSVIta7U7gNWx2Wab5ZQpU9odhiR1nOuuu+4PmTmx3XG0m+2EJA3OdqJiOyFJgxuunejqRNKUKVNYsGBBu8OQpI4TEXe2O4ZOYDshSYOznajYTkjS4IZrJxzaJkmSJEmSpFpMJEmSJEmSJKkWE0mSJEmSJEmqpavnSJLU+5566imWLFnCE0880e5QOtKECROYPHkya6+9drtDkaRavK63lu2EJNUzXtun0bQTJpIkdbQlS5aw/vrrM2XKFCKi3eF0lMzk/vvvZ8mSJUydOrXd4UhSLV7XW8d2QpLqG4/t02jbCYe2SepoTzzxBJtuuum4uZiPRESw6aabjrtfTSR1N6/rrWM7IUn1jcf2abTthIkkSR1vPF3MR8q/jaRu5LWrdfxbS1J94/GaOZo6m0iSJEmSJElSLc6RJKmrzJs3tuebMWP4/ffffz977LEHAPfccw9rrrkmEydOBODaa69lnXXWGfFrzp8/n3XWWYddd911RMdNmTKFBQsWsNlmm434NSWpUy1a1Dem55s6ddXniwiOPfZYvvjFLwJw0kkn8dhjj9HXN/SxF198MS9/+ct51ateNaJ9ozHa86233no89thjYxKDJI13ffP7xvZ801d9vsWLF7Pffvtx4403rjiur4/11luPv/mbvxn0mHPOOYcFCxbw5S9/mTPOOIPnP//5HHroodx6660cdNBBRAQXXXQR11xzDYcccsiY1MUeSZI0jE033ZQbbriBG264gSOPPJKPfvSjy9fXWWcdnn766RGfc/78+Vx11VVNiFaSVMe6667Lt7/9bf7whz/UPubiiy/m5ptvHvG+0bQTw51PkqShHHnkkRx66KFA1Zbsv//+/PKXv+Suu+7i61//+pi9jokkSRqhww47jCOPPJKdd96ZT3ziE9x+++3svffevOY1r+ENb3gDt956KwDz5s1j5513ZocdduAtb3kL9957L4sXL+aMM87g5JNPZvvtt+cnP/kJy5Yt413vehc77bQTO+20Ez/72c+AqjfUnnvuyTbbbMP73/9+MrOd1ZaknrHWWmsxe/ZsTj755OfsW7x4Mbvvvjvbbrste+yxB7/73e+46qqrmDt3Lh//+MfZfvvtuf3225eXH2zf9OnTOeaYY5g2bRqnnHIK1113HW9605t4zWtew1577cXdd98NwH/8x3+w0047sd122/Gud72Lxx9/fNDzDdXOLFq0iNe97nX8xV/8Bccff3xr/niSpLaYPn06Rx99NNtvvz2vfvWrufbaa59Tpq+vj5NOOolLL72UL33pS5x++um8+c1v5rjjjuMnP/kJ22+//aBt30g5tE2SRmHJkiVcddVVrLnmmuyxxx6cccYZbL311lxzzTX89V//NVdccQW77bYbV199NRHBV7/6Vb7whS/wxS9+kSOPPHKl7qmHHHIIH/3oR9ltt9343e9+x1577cUtt9zCP/zDP7Dbbrvx93//93zve9/jrLPOanOtJal3HHXUUWy77bZ84hOfWGn7hz/8YWbNmsWsWbM4++yz+chHPsLFF1/M29/+dvbbbz/233//lcrvuuuug+578sknWbBgAU899RRvetObuOSSS5g4cSIXXHABn/70pzn77LN55zvfyQc+8AEAjj/+eM466yw+/OEPP+d8Q7UzRx99NB/84Ac59NBD+cpXvtLkv5gkqd0ef/xxbrjhBq688kre9773rTQErtG+++670neO+fPnc9JJJ/Hd7353TOIwkSRJo3DAAQew5ppr8thjj3HVVVdxwAEHLN/3pz/9CaiSTe9+97u5++67efLJJ5k6deqg5/rRj3600hCGRx55hMcee4wrr7ySb3/72wC87W1vY+ONN25ijSRpfNlggw049NBDOfXUU3ne8563fPvPf/7z5dfe9773vc9JNNX17ne/G4DbbruNG2+8kbe+9a0APPPMM0yaNAmAG2+8keOPP56HHnqIxx57jL322us55xmunfnZz37Gt771reWxfvKTnxxVrJKkzjDUHdT6tx988MEAvPGNb+SRRx7hoYcealVoKzGRJEmj8IIXvACAZ599lo022ogbbrjhOWU+/OEPc+yxx/L2t7+d+fPnDzmJ67PPPsvVV1/NhAkTmhixJGmgY445hh133JHDDz98zM/d305kJttssw0///nPn1PmsMMO4+KLL2a77bbjnHPOYf78+c8pM1w7A+PzVtWS1Ks23XRTHnzwwZW2PfDAA8t/kB54zW9XG+AcSZK0GjbYYAOmTp3KN7/5TaD6wvCrX/0KgIcffpgtttgCgDlz5iw/Zv311+fRRx9dvr7nnnty2mmnLV/v/7Lwxje+cfmkeN///vef06hIklbPJptswoEHHrjS0OFdd92V888/H4DzzjuPN7zhDcBzr92N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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"params = {\n",
" 'n_estimators': 100,\n",
" 'max_depth': 5,\n",
" 'n_jobs': -1,\n",
" 'random_state': 25\n",
"}\n",
"\n",
"rfc = RandomForestClassifier(**params)\n",
"\n",
"sm = SoloModel(rfc)\n",
"sm.fit(data_train_new, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_new)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"# Получим условные вероятности выполнения целевого действия при взаимодействии для каждого объекта\n",
"sm_trmnt_preds = sm.trmnt_preds_\n",
"# И условные вероятности выполнения целевого действия без взаимодействия для каждого объекта\n",
"sm_ctrl_preds = sm.ctrl_preds_\n",
"\n",
"# Отрисуем распределения вероятностей и их разность (uplift)\n",
"plot_uplift_preds(trmnt_preds=sm_trmnt_preds, ctrl_preds=sm_ctrl_preds);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 115,
"outputs": [
{
"data": {
"text/plain": "0.07633703300434361"
},
"execution_count": 115,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 116,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 117,
"outputs": [],
"source": [
"rfc = RandomForestClassifier(**params)\n",
"\n",
"sm = ClassTransformation(rfc)\n",
"sm.fit(data_train_new, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_new)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 118,
"outputs": [
{
"data": {
"text/plain": "0.0766094349415975"
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 119,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAecAAAEGCAYAAABfFV1zAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABHMElEQVR4nO3dd3hUZfbA8e+ZdEggPaQAoQpIJ/RqBxRQUESxo6yFXXfd/dHsuquoqwJ2RF1QEVFBQQErKF167xB6LyEBUuf9/TE3IYGUIclkJsn5PM88ufe9Zc5cEs7ce997XjHGoJRSSinPYXN3AEoppZTKS5OzUkop5WE0OSullFIeRpOzUkop5WE0OSullFIextvdAZREeHi4iY+Pd3cYSilVrqxcufK4MSbC3XGogrk0OYtIIpAMZAGZxpgEEQkFvgTigURgoDHmlIgIMA7oDZwD7jPGrCps//Hx8axYscJ1H0AppSogEdnj7hhU4crisvZVxpiWxpgEa34k8KsxpgHwqzUP0AtoYL2GAu+VQWxKKaWUx3HHPed+wCRrehJwc672ycZhKRAsItFuiE8ppZRyK1cnZwP8JCIrRWSo1RZljDlkTR8GoqzpWGBfrm33W215iMhQEVkhIiuOHTvmqriVUkopt3F1h7AuxpgDIhIJ/CwiW3IvNMYYEbms+qHGmAnABICEhAStPaqUUqVg5cqVkd7e3hOBpuiTPGXBDmzIzMx8sE2bNkcvXujS5GyMOWD9PCoiM4B2wBERiTbGHLIuW2cHdQComWvzOKtNKaWUi3l7e0+sUaNG44iIiFM2m01PfFzMbrfLsWPHmhw+fHgi0Pfi5S77diQiVUUkKHsauB7YAMwE7rVWuxf4zpqeCdwjDh2ApFyXv5VSSrlW04iIiDOamMuGzWYzERERSTiuVFzClWfOUcAMxxNSeANTjDFzRWQ5ME1EhgB7gIHW+rNxPEa1A8ejVPe7MDallFJ52TQxly3reOd7kuyy5GyM2QW0yKf9BHBNPu0GeMxV8SilVEWwcs9J1u06xD3dGuPlpbeGKyr9l1VKlQupGVnsOpZC/MgfWLX3lLvDcYtfNh3h/Q/eotf8G/nm83fdHY5LfPrpp8Ei0mb16tX+2W3ff/990FVXXVU/93oDBgyI/+STT0IA0tLS5NFHH42tXbt20yZNmjRu2bJlo2nTplUraSyjRo2qUatWrabx8fFNv/nmm3z3t2XLFt/mzZs3qlWrVtMbb7yxbmpqqgAMGTKkZqNGjZo0atSoSXx8fNOgoKCWl/PempyVUuVCo6fncvXrvwPQ/93FbD2cTPzIH3Jex1PSyMyyk5Fld3OkrjFxzhJSv7ibD33f4JQJ4rRPDXeH5BJTp04Nbd26dcrkyZNDnd3mH//4R8zhw4d9tmzZsnHTpk2bZ82atePMmTNeJYlj5cqV/tOnTw/dunXrxrlz5277+9//XiszM/OS9Z544om4YcOGHdm7d++G6tWrZ44bNy4c4KOPPtq3ZcuWTVu2bNn00EMPHe3Zs+fpy3l/Tc5KKY939evzL2m7YewfeeaHTFpB/Sfn0ODJOew7ea6MIit959IvSgDGwKpPuW1pf66zreLVjIFMT/ichwYNcE+ALpSUlGRbvnx54CeffJI4Y8YMp5JzcnKybcqUKRETJ07cGxAQYABq1qyZ+eCDD5bo8srXX38d3L9//5MBAQGmUaNG6bVr106bP39+1dzr2O12lixZEnT//fefAnjggQdOzJo1KziffYXeeeedJy/n/cv1wBdKqYrFbjfUHT07Z37B8KvYcTSFXcfOAnBnu1pc3ySK+/63/JJt1+47nTPd9dV5/P5/PQip6ktKaiYxwQEuj700PDhpOb9sPsp1TaL48J4Elq1cgf/cJ2iRsZYtphGjMh5kl4khsW9zl8bxf1+vrbntcHKV0txnwxpB5167tcW+wtaZMmVKcI8ePZKaN2+eFhISkrlgwYIqXbt2LfSb1qZNm/yio6PTQ0NDi7xkMmTIkJqLFi0Kuri9f//+J1966aXDudsOHDjg26FDh5Ts+ZiYmPR9+/b5Amez244cOeIdFBSU5ePjA0B8fHz6kSNHfHPvZ9u2bb779+/37dOnz5mi4stNk7NSyiNc/d/57Dp+Nk9b11fn5Uxf2ziSO9rVyrN82tCOZNkN3649wJfL8/6/3/21+Xnm37+rDT2buvdScHJqBj9tPMItrWKx2SSn/VDSeTq+/FvO/G+bDvLaM48xTKaRgRejM4fwRdZVDOlSj99uauKO0MvEtGnTQv/2t78dBRgwYMDJTz/9NLRr167nCipWdblFrD766KNCvxy4wqRJk0J79+59ytv78tKtJmellFvY7YZ7Pv6TK2OqcUvr2EsS88Uev6ZhzvSsYV3yLLurfW1qhzpO9LrUD6fvO4su2f7hz1YSEeTHkpFX413GvZyTzmUQ5O9Ns+d+AmDSkkRmDuuCMYZhX6zmh3UXSjo0kURe8ZlAM1siP2W14emM+zmC4wrvyF6NyiTeos5wXeHIkSNeS5cuDdq6dWvAsGHDyMrKEhExdrt9f2RkZGZSUlKefHXq1CnviIiIzCZNmqQdOnTI9+TJk7aizp4v58w5NjY2+0wZgIMHD/rWrFkzPfc6UVFRmcnJyV4ZGRn4+PiQmJjoGxUVlWed6dOnh44fP/6yRwHT5KyUypfdbpi6fB/9W8fi71OivjX5WrrrBAt3HGfhjuN88MeunPavH+6In7cXmw+dYfg36wCY/kinIvfXtcGF4YnH3t6Sv3+5hta1ghnRsxF//WI1R5PTOJacxseLdjO0Wz02HkzicFIq1zSOKmSvJffzpiM8NDnv0Lbr9icRP/KHPG1+pPNM0CzuyPyWE/ZAHkl/nDn2dqx86joy7Yb0THuZf6koS59++mnILbfccnLKlCk5iaxt27ZX/Pjjj4E9evQ4e+TIEZ9Vq1b5t27dOnXbtm2+W7ZsCejQocP5oKAg+6BBg44PHTq01meffbbH39/fHDx40Hvu3LlBDzzwQJ77zpdz5jxgwIDTgwcPrvvMM88c2bNnj09iYqJ/jx498nyDtNlsdOjQIfmTTz4JGTp06KmPP/447KabbjqdvXz16tX+Z86c8brmmmsK/+aZj4r7L62UukRqRhZD/reczYeKvv31n9mbGT1jPXd8uLTU43h3/g7unLjskvaZj3XGz9vxRaBhVBA3NY/mg7va4HOZSaleRCCzhnXh+b5NqeLrzdjbW+Yse2n2FuJH/sCN4xcyZNIKUtIyefu37TnHJMtuSqXH985jKTw2ZdUliTmhdsgl67aXzayNfJ7BGd9ga3kHE5p9wZqg7qx99gbCAv2IquZPzdBSvQXscb766qvQ/v3750mm/fr1O/XZZ5+FBgQEmE8++WTX/fffH9+oUaMm/fv3r/fOO+/sCQsLywIYO3bsgfDw8MyGDRte2aBBgyt79uxZv3r16lkliSchISH15ptvPtmwYcMre/bs2fCNN97Yk31punv37vUTExN9AF5//fX9b731Vo1atWo1PXXqlPfjjz9+PHsfn376aWi/fv1O2myXn2rFUfujfEpISDArVqwoekWlKonFO4/Tvk4Yb/22nbG/bOezIe3p0iCcA6fP03nMb3nWHdy+Fp8v28vqp68jpKrvJfsaNGEJS3fl7WDa88oavH93G9Iz7fh4Cfd+spxhV9WnXR3nnnpp/tyPnEm99HEUgH9c25CrG0U6+UmLp8/bC51ed8qD7flj+/ECLyVvOJDEze8sIi4kgHn/6oFVDZGnvl3PZ0v3XrJ+cIAPrWoF88R1V/DvHzaxbPdJqnGWr+rN5YoD32BC4pE+46Buj2J9tsshIiuNMQm529auXZvYokWL4wVto1xj7dq14S1atIi/uF2Ts1IVxCeLdvP8rE2XtD9zUxNe+P7S9otFBPlxLDmNv15dny71w7l9Qv5nzHd3qM2nS/PeQkscc2OR+99/6hxdXpmXp23WsC5k2Q0paZlUD/Apch8llZqRxW0fLAHgsR71eWf+jiK3ebh7vXwTdO7L0u3qhPLn7oKflBmYUJO7O9TO01YtcS4xi5/C+/xxpOMw6DEKfMvm7FiTs+fQ5KxUBZaSlknTZ38scr2oan4cOZN2WfueNrQjAycsKXK99wa3RgR6XBF5yT1qYwx1Rs3O0/bZkPZlkpAvlpqRRXJqJhFBfpw6l86T326gZVx1Zq0reJydVwY0Y0DrOLy9bGTZDf3fXcTa/UkFrl8zJAC7gT4tYmhbO4TIajnFrvA+d4SYxc9QPXEOpkYzpO9bENOqVD9jUTQ5ew5NzkpVUNuPJHPdm3kLcjSPrc7wno2466ML93UTaofwbJ8rWbvvNE99twGAR7rX473fdxa4728e7oSvt+N+2bn0zJyz6Zjq/vRtGcvcDYdIPJH3MdTwQD+Opzi+AGx+oSdv/LyVDxfszll+cU9rT3bxZfDEMTfmOWN+qGtdPlywK886d7Wvxe1t8z7yBYAxhGydSvSf/8FmT0d6jISOw8Cr7L+gaHL2HJqclaqA9pw4m+d53q/+0jHPWWuW3fH37ZXrmdqCHE1OJaSKb6Gdr7KT1ZQH2xPk70gqGVl2+r+32Kl4X7+tBQ2jLnmSxWOlpGZyx8QLl/cbR1fL05nuq790JNNu8Pe2FdqT2jcpkdiFIwg8tAQT3wXpMx7C6rk09sJocvYcBSVnfZRKqXIsd2LO74zUmaScLTLIv8h1XhvQnEy7yUnMAD5eNr76S0fOpmWyZt9pxv66/ZLtujUIJ9NuylViBgj09+a7xzrzytwtLN55Iicxh1TxYfID7YvegT2T8PUTiFo1FvH2hT7jkVZ3QzF676rKRZOzUuXUrmM5lQUZ1LZmmbxno+j8B/rx9/HC38eLqxpFsvnQGbo0iODKmGr8vOkIvZtFl0lsrmIT4YnrGrJ4p+O+e2SQH+8NblPkdv7H1xO3YAQBJzZgGt2E9P4vVCvfx0KVHU3OSpUzs9cfYtWeU3y75gAAf+lWl5uax7g5KgebCMOubpAzX94TczY/by+n75VL5nmiVr1J+PoPoWo4DPwUadLXxRFWDF5eXm0aNGhwPisrS2rWrJk2bdq03eHh4SV6Xhlg/PjxYStWrKg6efLkS59x81B6bUWpciTx+Fke/XwVExfu5niKo0pgr6YVIwFWBFUPLqLh9OuJWPc+0uou5LE/QROz0/z8/OxbtmzZtH379o3BwcGZr732WkTRW1VMmpyVKkf+9dXaPPN3tK15WfeVlWvY0k4T+8dw6s6+Ax9vL7h3FvQdDwHB7g6t3OrQocPZAwcO+ALMmzevSsuWLRs1bty4SatWrRqtXbvWDxxnxNdff329rl27Nqhdu3bThx9+OC57+3HjxoXFx8c3bdasWePFixcHZrdv3brVt0OHDg0bNmzYpGPHjg23b9/uCzBgwID4wYMH12rRokWjuLi4Zt9//33QbbfdFl+3bt0rBwwYEF/GH18vaytVnuy+aHCIO9vXLmBNVSaMoVriHGKXPIPX+RPQ+e9Ij5HgUz6GqCzQt4/V5Oim0q2IEtnkHDe/41Rt68zMTObNmxc0ZMiQ4wAtWrRIXb58+RYfHx++/fbboOHDh8f9+OOPOwE2bdpUZe3atZsCAgLs9evXb/qvf/3riI+PD2PGjIlZuXLl5tDQ0KxOnTpd0bRp03MAjzzySK3Bgwef+Otf/3pi7NixYY888kjNX375ZSdAUlKS9+rVq7dMmTIleNCgQfV/++23LW3atDnfvHnzxosXLw7o1KnT+VI9JoXQ5KxUOWCM4bs1BzlxNp2aIQG8emsLyvNjkBWB99nDxCx+mup7fsREt0Du/hqiW7g7rHItLS3N1qhRoyZHjhzxqVevXurNN998BuDkyZNet99+e53ExER/ETEZGRk5l4u6dOlyJrvGdv369VN37tzpd/ToUe8OHTokx8TEZIJj1Klt27b5A6xevbrqnDlzdgI88sgjJ59//vmcs+0bb7zxtM1mo3Xr1ufCwsIy2rVrdx6gYcOG53fu3OnnUclZRKoA/wRqGWMeEpEGwBXGmO9dHp1SCmMMzZ77iZQ0R03qB7vWJdBPv1e7jbETsvULov98CZs9A657AenwGHhVoH8TJ89wS1v2Pefk5GRbjx49GowZMybyqaeeOjpixIjY7t27J//88887t27d6nv11Vdfkb2Nr69vzrdULy+vPIn7cvn7+xtrP3n2a7PZyMzMLNP7R87cc/4ESAM6WvMHgH+7LCKlVA673VH2MjsxA7SudemoRqps+Cbtou7sQcQtHIUtthXyyGLo/HjFSsweICgoyD5+/Pi97777blRGRgZnzpzxiouLSwf44IMPwovavlu3bmeXLVsWdPjwYa+0tDSZMWNGzh9Nq1atzk6cODHE2ldoQkJCSsF7ch9nfqPqGWNuF5E7AIwx5yR7+BWlVInNXHuQNXtP80yfJjltxhjSMu2M/eVCQY/3BrcmuMqlo0epMmDPIGLdB0SuHof4+EPft5FWd4H+V+gynTt3Pt+oUaPzEyZMCB0xYsThBx98sM4rr7wSc911150uatvatWtnjBgx4mCHDh0aBwUFZWXfbwZ4//33995zzz3x48aNqxEWFpY5efLkRFd+juIqsnyniCwGrgEWGWNai0g94AtjTLuyCLAwWr5TVQTZtZrXPHMd+06eZ8D7i0nPvHQ84fJUk7oiCTi2ltgFIwg4uQma9INer0FQlLvDKhEt3+k5SlK+81lgLlBTRD4HOgP3lWp0SlVSe05c6H3d8oWfC1zvq790LHCZcg3JOEfUqjcI3zARAqPg9s+h8U3uDktVEkUmZ2PMzyKyCugACPC4MUa/XSlVCvq+vajAZf4+Nj59oP0lwy8q16t6YAFxC0fhm7wX2twP1z0P/tXdHZaqRJztxRALeFnrdxMRjDHTXReWUpVD0vmMPPMd6obyZO8mbDyYRKMa1bTASBnzSj1NjWUvErr9K0xofbhvNsR3dndYZcVut9vFZrPpM3plxG63C3DpPSyce5TqY6A5sDHXTgygyVmpEjiclApAkJ83z/RpwpwNh/n7NY661FfG6FlamTKG6ru/J2bJs3ilnYau/0S6DQefokfqqkA2HDt2rElERESSJmjXs9vtcuzYserAhvyWO3Pm3MEY06To1ZRSzjLG0OHlXwFoUTOYRjWq0ahG/iM+KdfyPnuI2EVPUm3vL5jolki/b6FGM3eHVeYyMzMfPHz48MTDhw83RUs7lwU7sCEzM/PB/BY6k5yXiEgTY8ym0o1Lqcpr4AdLcqYf7l7PjZFUYsZO6ObPqbH8ZWwmC67/D9L+4Ur7zHKbNm2OAjpKh4dw5rdwMo4EfRhHMRIBjDGmuUsjU6qCyrIblieeAqB7wwiqB/i4OaLKx+/0DmIXjKDqkeWYuj2Qm8ZCaB13h6VUDmeS80fA3cB6CrhxrZRyTkaWnR6vzQcgoXYIT1zX0L0BVTKSlU74uveJWj0efKtAv3eRlndqMRHlcZxJzseMMTOL+wYi4gWsAA4YY24SkTrAVCAMWAncbYxJFxE/HGfpbYATwO3GmMTivq9SnqjBk3NypoddVR+bJoUyE3B0DXELh+N/cgtc2R96vQKBke4OS6l8OXPTf7WITBGRO0Skf/brMt7jcWBzrvlXgDeNMfWBU8AQq30IcMpqf9NaT6kKYd/JczmVwAAaRAYSFujnxogqD8k4R/TSF6g362b8Ms7AoC/gtk80MSuP5kxyDsBxr/l6oI/1cqpMjojEATcCE615Aa4GvrZWmQTcbE33s+axll+jNbxVRfD7tmN0fXVezvyA1rG8MbCl+wKqRAL3/0HD6dcRvmEi0uZ+5LFl0Ki3u8NSqkjOVAi7vwT7HwsMB4Ks+TDgtDEme4id/TgKnGD93Ge9Z6aIJFnr56lGJiJDgaEAtWrVKkFoSrnel8v3MuKb9Tnz/j427uukHY9czSv1FNHLXiBk+zeYsAZw/1yorSVQVfnhTBGSOOAtHDW1ARbgKOG5v4jtbgKOGmNWikiPEsaZwxgzAZgAjoEvSmu/SpW2tMysPIl58v3tCKmqo0q5lDFU3zWTmCXP4ZWeBN3+D+n6r8pWTERVAM50CPsEmALcZs3fZbVdV8R2nYG+ItIb8AeqAeOAYBHxts6e43CMD431syawX0S8geo4OoYpVe5kZtm54qm5OfOv39ZCE7OL+aQcJGbRaKrt+w0T0wbp9xZEXenusJQqFmfuOUcYYz4xxmRar/8BEUVtZIwZZYyJM8bEA4OA34wxg4F5wK3WavcC31nTM615rOW/maLGs1TKQ43/bUfO9PRHOtEwKqiQtVWJGDuhmybR8JtrCDq8FG54GXnwZ03Mqlxz5sz5hIjcBXxhzd9Byc5oRwBTReTfwGocz1Fj/fxURHYAJ3EkdKXKnR1HUxj/63bAcSnbx0srIbqK36ltxC4cQdUjKzH1rnYUEwmp7e6wlCoxZ5LzAzjuOb+JY8CLxcBldRIzxswH5lvTu4B2+ayTyoVL50qVSyfPpnPtG7/nzOulbNeQrHQi1r5L5Jq3wa8q3PIB0vx2LSaiKgxnemvvQeutKuWUf39/oQT9jEc6uTGSiivg6CriFgzH/9Q2aHor9BwDgUXeaVOqXCnyepuITBKR4FzzIdYwkkqpXNIys5i+2tG/8ZuHO+Gtl7NLlS3jLNFLnqXezFvwyzoLd06DWz/SxKwqJGcuazc3xpzOnjHGnBKRVq4LSany6YY3/wDgyphq+HprYi5NgfvmE7doFN4pB5F2D8E1z4CfdrJTFZczydkmIiHGmFMAIhLq5HZKVRpbDyeTeOIcAE/11uHPS4tX6kmilzxPyM4ZmPArkIE/Qq327g5LKZdzJsm+jmPIyK+s+duAl1wXklLlS2pGFjeMdZw1t6kdQqC/fnctMWMI3vkt0Uufxys9GbqPRLo+Ad5aj1xVDs50CJssIitw1MQG6G+M2VTYNkpVBgdPn+eLP/dSo/qF6lPP9dFna0vKJ3k/sYueJGj/PExsAtL3LYjSqxGqcnGmfOenxpi7gU35tClVKX28cDcvfJ/3O+r7g9u4KZoKwp5F2KZJ1FjxKiICvV5F2j4INi93R6ZUmXPm+lueUwFrfGb9X0hVGufSM1m99zSDJy4rdL3YkIAyiqji8Tu1lbgFI6hydBWm/rXITW9CsA5soyqvApOziIwCRgMBInIGyH66Px1r4AmlKjpjDE2e+bHI9e5sp4mkOCQrjYg17xC59h1H7+v+HyLNbtNiIqrSKzA5G2NeBl4WkZeNMaPKMCalPMbMtQfzbe/aIJzhNzRi0Y7jjJm7hRuurFHGkZV/VY6sIHbBcPxP74Dmt8MNL0HVcHeHpZRHcOay9hwR6XZxozHmDxfEo5RHWLf/NH3fXpSn7d07W1MztEqets71w5k1rEtZhlbu2dJTiFrxKmGbJkH1WBj8NTQoapA7pSoXZ5Lz/+Wa9sdRF3slF3pvK1VhHD2TSkSQ3yWJWRNw6Qja+yuxi5/EO+UQ0v4vcPXT4Bfo7rCU8jjOPErVJ/e8iNQExroqIKXc5aXZm5nwx65L2p++sbEboqlYvM4fJ2bp8wTv/A4T0Ri5fTLUbOvusJTyWMWplrAf0P+tVIVhjKHOqNmXtPt4CRlZhrbxoW6IqoIwhuAd04lZ+jy2jLPQYzTS5R/graN1KVUYZ55zfgvHUJHgGCijJbDKhTEpVab6vbMo3/bpj3Qu40gqFp/kfcQuHEXQgT8wce2RvuMhspG7w1KqXHDmzHlFrulM4AtjTP7/mylVzpxJzWDd/iQA/n1zU1rEBXM8JY1QHYe5+OxZhG36hBorXkNsXtD7v0jCELDpYCBKOcuZe86TRMQXaGg1bXVtSEqVjXfm7eC1Hy/8OreICwYgPFDrNxeX38ktxC0YTpVjazANbkBuegOqx7k7LKXKHWcua/cAJgGJOAqR1BSRe/VRKlWePTdzI/9bnJgz/+kD7dwXTAUgmalErnmbiHXvgn8wDPgIaTpAi4koVUzOjkp1vTFmK4CINAS+QEt4qnLqwOnzlyTm4Cp6Gbu4qhz+k7iFI/E7vQNa3OEoJlJFO9EpVRLOJGef7MQMYIzZJiI+LoxJKZc4mpzKGz9t44d1h3LaZj7W2THIgrpstvRkaix/hbDNkzHVa8Jd30D9a90dllIVglMdwkRkIvCZNT+YvJ3ElCoX2v3n1zzzWlik+IL2/OwoJnLuKHR4DLlqtBYTUaoUOZOcHwEeA/5mzS8A3nVZREqVsv2nzvH2bzvytNWP0ERSHN7njhG95FmCd3+PiWyC3DEF4vQOl1KlzZne2mnAG9ZLqXJly+Ez9By7IGe+c/1wOtYNo1sDHWDhshhD8PaviVn2ArbM83D1U0inx7WYiFIuUpwKYUqVG79tOZpnfmRPLYJxuXzO7CFu0SgCDyzE1OzoKCYS0bDoDZVSxabJWVVoHy/cDUA1f28+uCvBzdGUM/ZMwjd8TNSq/yI2b7jxdaTNA1pMRKkyoMlZVUipGVlsPHiG4ynphFbxZZI+x3xZ/E9sInbBcKocX4dp2BO58Q3H8I5KqTJRYHIWkVlcqKl9CWNMX5dEpFQJ2e2GVi/8zPmMLADu6xzv3oDKEclMJXL1eCLWvw8BIXDrJ8iVt2gxEaXKWGFnzv8tsyiUKqGPFu7mxe83ARBT3T8nMQN0ra+dv5xR5dAy4haOwC9pF7QcDNf/W4uJKOUmBSZnY8zvZRmIUsVljMlJzAAHk1IBCPL35uN72+LtpfdIC2NLP0ONP18mbMvnmODacPe3UO8qd4elVKXmTG3tBsDLQBPAP7vdGFPXhXEp5bT8xmIGmPJghzKOpPwJ2vMTsYuexPv8Mej0V6THKPCt6u6wlKr0nOkQ9gnwLPAmcBVwP45xnZVyq3G/bOfNX7blzI8f1IqU1AxGf7uBh7rqd8fCeJ87SsySZ6i+ezYm6kpk8FSIbe3usJRSFmeSc4Ax5lcREWPMHuA5EVkJPFPYRiLiD/wB+Fnv87Ux5lkRqQNMBcKAlcDdxph0EfEDJuMYUOMEcLsxJrG4H0xVfLkT853talEn3HHGp2U5C2EMIdumEb3s39iyUuGaZ5BOfwMvLZevlCdxJjmniYgN2C4iw4ADgDO1D9OAq40xKdZAGQtFZA7wBPCmMWaqiLwPDAHes36eMsbUF5FBwCvA7cX4TKoSOHk2PWe6SXQ17mhXy43RlA++ZxKJXTiSwIOLMbU6IX3fgvD67g5LKZUPZy5PPw5UwVFbuw1wF3BPURsZhxRr1sd6GeBq4GurfRJwszXdz5rHWn6N6HBBKh/GGFq/+DMAA1rH8cqA5m6OyMPZMwlf9z4Npl9P1RPr4aaxyH0/aGJWyoM5c+Ycb4xZDqTguN+MiNwGLCtqQxHxwnHpuj7wDrATOG2MybRW2Q9kVzaIBfYBGGMyRSQJx6Xv4xftcygwFKBWLT1bqkxOnk3nwwW7eG/+zpy2W9vEuTEiz+d/fANxC4cTcHwD5oreyI2vQ7UYd4ellCqCM8l5FPCVE22XMMZkAS1FJBiYAZS4sLExZgIwASAhIaHAIimq4sk+W8723uDWBPppkbv8SGYqkaveJGL9BKgSBgMnI437ajERpcqJwiqE9QJ6A7EiMj7XompAZv5b5c8Yc1pE5gEdgWAR8bbOnuNw3MPG+lkT2C8i3kB1HB3DlAIgNjiAA6fPA45CI7HBAW6OyDNVPbiE2IUj8DuTCK3uhutfdFT7UkqVG4Xdcz4IrABScVyazn7NBG4oasciEmGdMSMiAcB1wGZgHnCrtdq9wHfW9ExrHmv5b8YYPTNWAJxJzchJzAAf3J2AdknIy5aWROyC4dSdfTu+XgL3zIR+b2tiVqocKqxC2FpgrYhMMcZkFGPf0cAk676zDZhmjPleRDYBU0Xk38Bq4CNr/Y+AT0VkB3ASGFSM91QV1Jz1hwB4tEc9ejWNdnM0nqfa7jnELnkar/MnoPPjSPeR4FvF3WEppYrJmRt27UTkOaC2tb7g6IxdaJUHY8w6oFU+7buAS4YIMsakArc5EY+qhCYu2E31AG96XlnD3aF4FO+zh4lZ8izVE+dgajRD7voKYlq6OyylVAk5k5w/Av6B45J2VhHrKlXqvltzgO1HU6gTXlUvZWczhpCtXxD950vY7Olw7fNIx8e0mIhSFYQzyTnJGDPH5ZEoVYDHp64B0A5gFt+k3Y5iIoeWYOK7IH3GQ1g9d4ellCpFziTneSLyGjAdR9UvAIwxq1wWlVKWOqN+yJm+v1O8+wLxBPYMwtd/SNSqsYi3L/QZj7S+Rx+PUqoCciY5t7d+JuRqy670pVSpO5eeyeQlexgzZ0tO2z+va0hkNf9CtqrY/I+vJ27BcAJObMQ07ov0fg2C9P67UhVVkcnZGKMDu6oyNXTyShbuuFAYbthV9elxRaQbI3IfyTxP1Mo3CN8wEapGwO2fIY37uDsspZSLFVlbW0SiROQja9AKRKSJiAxxfWiqMvl50xEGfrCELLvJk5iviArihkraQ7vqwUU0nH49Ees/QFrdhTy2DDQxK1UpOHNZ+384xnR+0prfBnzJheeTlSq2FYknSc2w89DkFQDUGz07Z1lkkB//va2Fu0JzG1vaaaKX/YfQbV9iQuvCvd9Dna7uDkspVYacSc7hxphpIjIKcgal0EeqVIll2Q23vr8k32X/u68tYYF+ZRyRmxlDtcTZxC5+Bq/Uk9DlH0j3EeCjvdSVqmycSc5nRSQMRycwRKQDkOTSqFSlMGTS8nzbuzYIr3SJ2fvsYWIWP0X1PT9holsgfadDtA6FqVRl5UxyfgJH3et6IrIIiOBCbWylim3+1mMA2ARubVOT29rEsfVwMi1qBrs3sLJk7IRumUKN5S9js2fCdS8iHR4FLx1tS6nKzJne2qtEpDtwBY7SnVuLWWtbqRzfrNwPOO4rf3Rv25z2ypSYfU/vJG7hSKoeXoap0w3pMw5CC62Kq5SqJIpMztbAFb2BeGv960UEY8wbLo5NVUBz1h/ikc8v1K8ZmFDTjdG4iT2DiHUfELl6HOLjD/3eQVoO1mIiSqkczlw7m4Vj2Mj1gN214aiKLDPLnicxA1zbOMpN0bhHwLG1xC4YTsDJzdDkZuj1KgRVrmOglCqaM8k5zhijPVNUsdjthiemreHbNQcvWda+TihetspxtigZ54haZRUTCYyCQVOg0Y3uDksp5aGcSc5zROR6Y8xPLo9GVTg/bTp8SWJ+qGtdNh5MYvgNjdwUVdkK3P8HsYtG45u8FxIegGufA//q7g5LKeXBnEnOS4EZImIDMrgwnnM1l0amKoSHP8t7GXtEz0Z0qR9O3xYxboqo7HilniZ62QuEbP8aE1of7psN8Z3dHZZSqhxwJjm/AXQE1htjjIvjURXI3hPncqZnDevixkjKmDFU3zWLmKXP4ZV2Grr+C+n2f+BTeQfuUEpdHmeS8z5ggyZmdTmy7IZur80D4N83N3VzNGXH++whYhc9SbW9v2BiWiF9v4UazdwdllKqnHEmOe8C5lsDX+Qez1kfpVIFGmrVygZoERfsvkDKirETuvkzaiwfg81kwfX/QTo8AjYvd0emlCqHnEnOu62Xr/VSqlCpGVn8uuUoAM/2aeLmaFzP7/QOYhcMp+qRFZi6VyE3vQmhddwdllKqHHOmQtjzACJSxRhzrqj1lWr94s850wm1Q90YiWtJVjrh694navV48K0CN7+HtLhDi4kopUrMmQphHXEMDxkI1BKRFsBfjDGPujo4VT6dS3cMWvav669wcySuE3B0DXELh+N/cgtc2R96vQKBke4OSylVQThzWXsscAOOwS8wxqwVkW6uDEqVT1l2w+ZDZ/DxEm5qHkP3hhHuDqnU2TLOErXyv4Rt+BiCouGOqXBFL3eHpZSqYJwa+sYYs0/yXqrT8ZzVJeqNnp0zHR5Y8bonBO7/ndiFo/BN2Q9tH4RrngV/fdxfKVX6nHqUSkQ6AUZEfIDHgc2uDUuVN4t3Hs8z36NhxbnE65V6iuilzxOyYzomrCHcNhdqd3R3WEqpCsyZ5PwwMA6IBQ4APwGPuTIoVb6cPJvOnR8uy5n/S7e6VAvwcWNEpcQYqu+aScyS5/BKT4Juw5Gu/9RiIkoplys0OVvDRY4zxgwuo3hUOXLqbDonzqbx0uwtOW0zH+uMVIDeyj4pB4hZ9CTV9v2GiWmD9HsLoq50d1hKqUqi0ORsjMkSkdoi4muMSS+roFT50CrXI1MAbw5sWf4Ts7ETtmkyNVa8gmCg5xik3VAtJqKUKlPOVghbJCIzgbPZjVohrHLbcTQ5z3znemHUjwx0UzSlw+/UNuIWjKDK0ZWYetc4iomE1HZ3WEqpSsiZ5LzTetmAINeGo8qDrYeTuWHsHwDYBOpHBjKiZ/kd/lGy0olY+w6Ra94GvyC4ZQLSfKAWE1FKuY3TFcKUypadmAG+HNoRf5/ye8m3ypGVxC4cgf+pbdDsNrjhZQiseM9nK6XKF1tRK4jIzyISnGs+RER+dGK7miIyT0Q2ichGEXncag+19rnd+hlitYuIjBeRHSKyTkRal+BzKRfIyLITP/KHnPn2dULLbWK2pacQvfgZ6s7qj1/WWbjzKxgwUROzUsojOHNZO8IYczp7xhhzSkSceYg1E/inMWaViAQBK0XkZ+A+4FdjzBgRGQmMBEYAvYAG1qs98J71U3mIsb9sy5l+vs+VtKgZ7L5gSiBw3zziFo3GO+Wgo7PXNU87LmcrpZSHcCY5Z4lILWPMXgARqQ0UObazMeYQcMiaThaRzTiele4H9LBWmwTMx5Gc+wGTrXGjl4pIsIhEW/tRHuCdeTsBCKniQ+vaIW6O5vJ5nT9B9NIXCNk5AxN+BTLwR6il3/+UUp7HmeT8JLBQRH4HBOgKDL2cNxGReKAVsAyIypVwDwNR1nQssC/XZvuttjzJWUSGZr9/rVq1LicMVQInUhxDeceHVeGtO8rZHQdjCN4xg+hlz+OVngLdRyJdnwBvP3dHppRS+XKmQ9hc6/5vB6vp78aY44Vtk5uIBALfWNudyf0crDHGiEiRZ+EXxTMBmACQkJBwWduq4vvrF6sBuK1NTTdHcnl8kvcTu2g0QfvnY2LbOoqJRDZ2d1hKKVUopwa+APyAk9b6TUQEY8wfRWyDVYv7G+BzY8x0q/lI9uVqEYkGjlrtB4Dc//PHWW3KAyzeeQKArg3C3RyJk+xZhG2aRI0VrzoKo/R6FWn7oBYTUUqVC86M5/wKcDuwEbBbzQYoNDmL4xT5I2DzRQVLZgL3AmOsn9/lah8mIlNxdARL0vvNnmHKsr0ABPp5l4sKYH6nthK3YDhVjq7G1L/OUUwkuHyd8SulKjdnzpxvBq4wxqRd5r47A3cD60VkjdU2GkdSniYiQ4A9wEBr2WygN7ADOAfcf5nvp1xk9Iz1ANzT0bOrZUlWGhFr3iZy7buOoRz7T0Sa3arFRJRS5Y6z5Tt9gMtKzsaYhTg6kOXnmnzWN+hoVx5n/f6knOleTaPdGEnhqhxZQeyC4fif3gHNb3cUE6ka5u6wlFKqWJxJzueANSLyK7kStDHmby6LSnkEu93Q5+2FAHSs65mJzpaeQo0VrxC6aTJUj4XB30CDa90dllJKlYgzyXmm9VKVwNwNh3j4s1V8OqQdj36+Kqd9VC/Pq50dtPdXYheNxvvsYaT9w3D1U+BXvgffUEopcO5RqkllEYhyP7vd8PBnjoR890d/5rRPvCfBozqCeZ0/TsyS5wjeNRMT2QS54zOIS3B3WEopVWoKTM4iMs0YM1BE1pNPRTBjTHOXRqbK3IHT5y9pu7NdLaKq+bshmnwYQ/COb4hZ+gK2zHNw1ZNI57+Dt6+7I1NKqVJV2Jnz49bPm8oiEOV+gyYsBWBgQk2mrdhH87jq3N7WMx5B8kneS+zC0QQd+AMT1x7pOx4iPe9Su1JKlYYCk3P2M8bGmD1lF45yl6TzGTlnzoPb1+LuDh7y2JQ9i7CNn1Bj5WuIzQt6/xdJGAK2IgdUU0qpcsvZCmGqAjmblsm4X7fzx7ZjbDmczKxhXXJ6ZT/ZuzE2D7m/7H9iM7ELh1Pl2FpMgxuQm96A6nHuDksppVxOk3MlNP7X7Uz4Y1fOfHZiBujgAY9MSWYqkWveImLde+AfDAM+QpoO0GIiSqlKo8Brg9ZzzdnlO1UFYYzh581H8l02+f52ZRzNpaocXkaDGb2IXPMW0uw2ZNhy0CpfSqlKprAz52gR6QT0tepd5/nf0RizKv/NlCe79f0l7Dp2FoDxg1oS4OvNQ5NX0LFuGCFV3dfr2ZaeTI3lYwjb/CkmuBbcNR3qX1JITimlKoXCkvMzwNM4Rod646JlBrjaVUGp0meMYczcLazccwqA+zrFUyfcUbBjTP9m1Aqt4rbYgvb8ROzip/A+dxQ6DkOuGg2+Vd0Wj1JKuVthvbW/Br4WkaeNMS+WYUyqFNnthsETl7Fk14mctltaxTKg9YWOVVfGVHdHaHifO0b0kmcJ3v29VUxkCsS1cUssSinlSZypEPaiiPQFullN840x37s2LFVaPl+2J09iBkdhEbcyhuDtXxOz7AVsmefh6qeQTo9rMRGllLI4M57zy0A74HOr6XER6WSMGe3SyFSpePq7jTnTUx/qQFU/93bQ9zmzh7iFIwk8uAhTqyPSZzxENHRrTEop5Wmc+Z/6RqClMcYOICKTgNU4xmZWHuxMakbO9KxhXdwYCWDPJHzDx0St+i9i84Yb30Da3K/FRJRSKh/OnkYFAyetaffcoFSX7Vfrkakx/Zu5NQ7/E5uIXTCcKsfXYa7ohfR+3TG8o1JKqXw5k5xfBlaLyDwcj1N1A0a6NCpVKt76dQcAtUPd0/NZMlOJXD2OiHXvQ5VQuO1/SJOb9ZllpZQqgjMdwr4QkflAW6tphDHmsEujUiX27eoD7Dp+lroRVQn0L/v7zFUPLSV24Qj8knZDy7vg+hcdCVoppVSRnPpf2xoEY6aLY1GlxBjD379cA8AT15ZtZytb+hlq/PkSYVumYELi4e5vod5VZRqDUkqVd1pbuwJ6Z57jcvatreOoHVZ2l7SrJf5IzOIn8T5/HDr9FekxGnzdV9xEKaXKK03OFUxyagb//WkbALe2KZsRnLzPHSVm8dNUT5yDiWqK3DUNYlqVyXsrpVRFVGhyFhEvYKMxRke1Lwey7IZmz/0EQMuawa5/ptkYQrZ9SfSy/2DLSoVrnkU6/RW8fFz7vkopVcEV+r+3MSZLRLaKSC1jzN6yCkoVz2dL9+RMP3tTE5e+l29SIrELRxJ4aDGmViek71sQXt+l76mUUpWFM6dWIcBGEfkTOJvdaIzp67Ko1GVJScuk6bM/5sy/dEszvL1cVNzDnkn4holErXwD8faBm8Yire/VYiJKKVWKnEnOT7s8ClUij31+YfTOIZ3r0CzWNXVi/I9vIG7BcAJObMA0utFRTKRatEveSymlKjNnnnP+XURqAw2MMb+ISBXAy/WhqaJ8t+YAIVV8+X3bMQBiqvvTp0VMqb+PZKYSteoNwtd/CFXDYeBkpEm/Un8fpZRSDs4MfPEQMBQIBeoBscD7wDWuDU0VJjPLzuNT1+TMh1b15YO7E0r9faoeXEzswpH4nUmEVnc7iokEhJT6+yillLrAmcvaj+EYlWoZgDFmu4hEujQqVaQ1+07nmf93v6alun9b2mmi/3yJ0K1TMSF14J6ZULd7qb6HUkqp/DmTnNOMMeli1UMWEW/AuDQqVajHp67muzUHAWhfJ5TB7WtTM7T0in1U2z2b2CXP4HX+BHR+HOkxCnwCSm3/SimlCudMcv5dREYDASJyHfAoMMu1YamC/O2L1cxcezBn/qkbS++RKe+zh4lZ/AzV98zF1GiO3PUVxLQstf0rpZRyjjPJeSQwBFgP/AWYDUx0ZVAqr+xxmbcfSclJzB/c1YYa1f1L5w2MnZCtU4n+8yVs9nS49nmk4zDw0gJySinlDs701raLyCQc95wNsNUYo5e1y1Bzq+pXbjHBpXOZ2TdpN3ELR1D10FJMfFekzzgIq1cq+1ZKKVU8zvTWvhFH7+ydOMZzriMifzHGzCliu4+Bm4CjxpimVlso8CUQDyQCA40xp8RxQ3sc0Bs4B9xnjFmV334rmz0nzuaZH9y+Fv1axJZ8x/YMItZPIHLVWMTbD/q+hbS6W8daVkopD+DMdcvXgauMMTsARKQe8ANQaHIG/ge8DUzO1TYS+NUYM0ZERlrzI4BeQAPr1R54z/pZaZ06m0731+ZxJjUTgPoRgdzZvhZt40s+JrL/8XXELRhBwImNmMZ9kd6vQVCNEu9XKaVU6XAmOSdnJ2bLLiC5qI2MMX+ISPxFzf2AHtb0JGA+juTcD5hsXS5fKiLBIhJtjSNd6RxOSqXDy7/maXtjYAukhGe1knmeqJVvEL7hQ6gaCbd/hjTuU6J9KqWUKn0FJmcR6W9NrhCR2cA0HPecbwOWF/P9onIl3MNAlDUdC+zLtd5+q+2S5CwiQ3EURaFWrVrFDMOz5U7ML93clGZxwSXeZ9UDC4lbOBLf5L3Q5j649nkIKPl+lVJKlb7Czpxzn1IdAbIrUBwDStwbyRhjROSyO5YZYyYAEwASEhIqXMe0UdPX5UzPeKRTiQewsKWdJnrZvwndNg0TWg/u+wHiu5Q0TKWUUi5UYHI2xtzvgvc7kn25WkSigaNW+wGgZq714qy2SmXPibN88afjAsJnQ9qXLDEbQ7XdPxC75Fm8Uk9ClyeQ7sO1mIhSSpUDzvTWrgP8FUcP65z1izlk5EzgXmCM9fO7XO3DRGQqjo5gSZXtfvNrP27hnXk7AUfVr+oBPsXel6OYyFNU3/MTJrol0nc6RDcvrVCVUkq5mDMdwr4FPsJRFczu7I5F5Ascnb/CRWQ/8CyOpDxNRIYAe4CB1uqzcTxGtQPHo1SuOGv3WI9+vpLZ6w/nzI/u3bh4OzJ2Qrd8To3lY7DZM+G6F5EOj2oxEaWUKmec+V871Rgz/nJ3bIy5o4BFl4xmZfXSfuxy36MiSE7NyEnML93SrNhjMfue3ukoJnL4T0yd7kifsRBatxQjVUopVVacSc7jRORZ4CcgLbtRi4SUjtd/2pYzXazEbM8gYu37RK4Zj/gEQL93kJaDtZiIUkqVY84k52bA3cDVXLisbax5VUKbDp0B4H/3tb3sbQOOrSVuwf/hf3ILNLkZer0KQVFFbqeUUsqzOZOcbwPqGmPSXR1MZZORZefP3ScBCAv0c3o7yThH1MrXCd/4EQRGwaAp0OhGV4WplFKqjDmTnDcAwVx47EmVgvX7k/hm1X4A6oRXdXq7wP1/ELtoFL7J+yBhCFz7LPgX7z61Ukopz+RMcg4GtojIcvLecy7Oo1QKMMbQ5+2FOfPP97myyG28Uk8RvexFQrZ/jQmtD/fPgdqdXBmmUkopN3EmOT/r8igqmTqjZudMt68TSkhV34JXNobqu2YRs/Q5vNJOQ9d/Id3+D3xKaSxnpZRSHseZ8Zx/L4tAKoNjyWkcOZOaM//fW1twRY2gAtf3STlIzKInqbbvV0xMa6Tvd1CjaVmEqpRSyo2cqRCWjKN3NoAv4AOcNcZUc2VgFY3dbmj7n19y5hvXCCo4MRs7oZs/cxQTwQ43vIS0fxhsXmUUrVJKKXdy5sw5J4OIY8zCfkAHVwZV0bzx8zbG/7o9T9ugtvmPqOV3ajuxC0dQ9cgKTN2rHMVEQuJdH6RSSimPcVl1Ha1KXt9aRUlGuiakimP/qXN0eWVenrY3B7YkLTOLK2Py9rCWrHQi1r1H5Oq3wK8q3Pw+0mKQFhNRSqlKyJnL2v1zzdqABCC1gNVVLrkTc5CfN68PbEF09UtHhQo4upq4BcPxP7UVmg6AnmMgMLIsQ1VKKeVBnDlzzj2ucyaQiOPStsrHh3/s4voro9hyODmn7YYmUTzUrS5+3nnvGdsyzhK14jXCNn4CQdFwx5dwRc+yDlkppZSHceaec6UaIaq43pu/k1fmbgHgP7M357S/NagV8fkUGQnc/zuxC0fhm7If2j4E1zwD/trHTimlVCHJWUSeKWQ7Y4x50QXxlEt/bDuWk5hzC/TzviQxe6WeJHrpC4TsmI4JawgDf4Ra2r9OKaXUBYWdOZ/Np60qMAQIAzQ5A4nHz3LPx38CcG3jSLo3jCQyyI+dx1LoXD/8worGUH3nd45iIunJ0H0E0vWf4O18TW2llFKVQ4HJ2Rjzeva0iAQBjwP3A1OB1wvarrIZ+8uFIR8fv6ZhznRM8IWOXz4pB6xiIr9hYhOQvm9BVJMyjVMppVT5Ueg9ZxEJBZ4ABgOTgNbGmFNlEVh58e2agwBMur/dpQvtWYRt/pQaK15BAHqOQdoN1WIiSimlClXYPefXgP7ABKCZMSalzKLyUMYYMrIMGVl2qvp587cvVucsC72oPrbfqa3ELRhJlaMrMfWuQW56E0Jql3XISimlyqHCzpz/iWMUqqeAJ+VCMQzB0SGs0nQtTjqXwY5jKQx4b3G+y/9+TYOcaclKI2LNO0SufQf8guCWCUjzgVpMRCmllNMKu+dsK8tAPJXdbmjxwk8FLu9YN4xrGkcBUOXISmIXDsf/1HZodpujmEjV8AK3VUoppfJzWeU7K5Ojyam0+8+vha7z1V864u/jhS09hagVrxK2aRJUi4E7v4KG15dRpEoppSoaTc4FuDgx39sxnv6tY7GJkJKaid0Y/H28CNr3G7GLRuOdcsjR2euapx2Xs5VSSqli0uTshBE9G9El1zPLgf7eeJ0/Qcy85wne+S0mohFy+ySomU+PbaWUUuoyaXK+SEpaJk2f/TFnfuZjnZHcnbmMIXjHDKKXPY9Xegr0GIV0+YcWE1FKKVVqNDlfZMbqAznTD3evlycx+yTvJ3bRaIL2z8fEtXMUE4ls5I4wlVJKVWCanC/yxbK9ALwyoDlNoq2nxexZhG36HzVWvIbYbNDrNaTtEC0mopRSyiU0OeeSZTdsOnQGICcx+53cStzC4VQ5uhpT/zpHMZHgmu4MUymlVAWnyTmX52dtBKBZbHWrmMjbRK591zGU44CPkKYDtJiIUkopl9PkbFmw/RiTl+wB4PmWyTSY0Qu/0zug+SC44SWoGubmCJVSSlUWlT457z1xjqW7TjD8m3UEco7h3l/S+tefMdVrwuBvoMG17g5RKaVUJVOpk/N3aw7w+NQ1AFxtW8W/fT4mWk5Bh0eRq54Ev0D3BqiUUqpS8qjkLCI9gXGAFzDRGDPGle83d8NhwkjiWZ/J9PVagolsgvT9CuISXPm2SimlVKE8JjmLiBfwDnAdsB9YLiIzjTGbXPF+J1PSqLJpGr/5f0aQLR3TbbRVTMS36I2VUkopF/KY5Ay0A3YYY3YBiMhUoB9Q6sl548Z1nJj6KK/7rmdXQFOqP/AxRFxR2m+jlFJKFYsnDQsZC+zLNb/fastDRIaKyAoRWXHs2LFivdEfMz6glW0HT2XcT8w/5mtiVkop5VE8KTk7xRgzwRiTYIxJiIiIKNY+1sTdxXVpr9Liln/i7+tTyhEqpZRSJeNJl7UPALlLb8VZbaXuxf6tmLQkhP6t41yxe6WUUqpEPOnMeTnQQETqiIgvMAiY6Yo3iqzmz//d0Agvm1b7Ukop5Xk85szZGJMpIsOAH3E8SvWxMWajm8NSSimlypzHJGcAY8xsYLa741BKKaXcyZMuayullFIKTc5KKaWUx9HkrJRSSnkYTc5KKaWUh9HkrJRSSnkYTc5KKaWUhxFjjLtjKDYROQbsKebm4cDxUgynotHjUzA9NgXTY1MwTzo2tY0xxat/rMpEuU7OJSEiK4wxOnBzAfT4FEyPTcH02BRMj426HHpZWymllPIwmpyVUkopD1OZk/MEdwfg4fT4FEyPTcH02BRMj41yWqW956yUUkp5qsp85qyUUkp5JE3OSimllIeplMlZRHqKyFYR2SEiI90dT1kRkUQRWS8ia0RkhdUWKiI/i8h262eI1S4iMt46RutEpHWu/dxrrb9dRO511+cpCRH5WESOisiGXG2ldixEpI11rHdY20rZfsKSKeD4PCciB6zfnzUi0jvXslHWZ90qIjfkas/3b01E6ojIMqv9SxHxLbtPVzIiUlNE5onIJhHZKCKPW+36+6NKjzGmUr0AL2AnUBfwBdYCTdwdVxl99kQg/KK2V4GR1vRI4BVrujcwBxCgA7DMag8Fdlk/Q6zpEHd/tmIci25Aa2CDK44F8Ke1rljb9nL3Zy6F4/Mc8K981m1i/R35AXWsvy+vwv7WgGnAIGv6feARd3/myzg20UBrazoI2GYdA/390VepvSrjmXM7YIcxZpcxJh2YCvRzc0zu1A+YZE1PAm7O1T7ZOCwFgkUkGrgB+NkYc9IYcwr4GehZxjGXmDHmD+DkRc2lciysZdWMMUuNMQaYnGtf5UIBx6cg/YCpxpg0Y8xuYAeOv7N8/9ass8Crga+t7XMfa49njDlkjFllTScDm4FY9PdHlaLKmJxjgX255vdbbZWBAX4SkZUiMtRqizLGHLKmDwNR1nRBx6kiH7/SOhax1vTF7RXBMOvS7MfZl225/OMTBpw2xmRe1F7uiEg80ApYhv7+qFJUGZNzZdbFGNMa6AU8JiLdci+0vqXrs3XosSjAe0A9oCVwCHjdrdG4mYgEAt8AfzfGnMm9TH9/VElVxuR8AKiZaz7OaqvwjDEHrJ9HgRk4LjsesS6jYf08aq1e0HGqyMevtI7FAWv64vZyzRhzxBiTZYyxAx/i+P2Byz8+J3Bc2vW+qL3cEBEfHIn5c2PMdKtZf39UqamMyXk50MDqLeoLDAJmujkmlxORqiISlD0NXA9swPHZs3uJ3gt8Z03PBO6xepp2AJKsS3Y/AteLSIh1WfN6q60iKJVjYS07IyIdrPur9+TaV7mVnXgst+D4/QHH8RkkIn4iUgdogKNDU75/a9ZZ5TzgVmv73Mfa41n/ph8Bm40xb+RapL8/qvS4u0eaO144ek9uw9GT9El3x1NGn7kujt6ya4GN2Z8bx/2/X4HtwC9AqNUuwDvWMVoPJOTa1wM4Ov3sAO5392cr5vH4Asel2Qwc9/SGlOaxABJwJK+dwNtY1fjKy6uA4/Op9fnX4Ug40bnWf9L6rFvJ1bO4oL816/fxT+u4fQX4ufszX8ax6YLjkvU6YI316q2/P/oqzZeW71RKKaU8TGW8rK2UUkp5NE3OSimllIfR5KyUUkp5GE3OSimllIfR5KyUUkp5GE3OqlwRESMir+ea/5eIPFdK+/6fiNxa9JpO7290ae2riPfpISKdirFdooiEuyImpVTJaHJW5U0a0N/Tkkquale5XXZyFhGvYrx9D+Cyk7NSynNpclblTSYwAfjHxQsuPvMVkRTrZw8R+V1EvhORXSIyRkQGi8if1pi59XLt5loRWSEi20TkJmt7LxF5TUSWW4M+/CXXfheIyExg00WxjAECxDHu8edW27fWoCMbcw08goikiMjrIrIW6CgiQ6z3/1NEPhSRt631IkTkGyuO5SLS2Rp44WHgH9Z7dc1vPWv7MBH5yXr/iTiKYyilPFB+3/aV8nTvAOtE5NXL2KYF0BjHMIi7gInGmHYi8jjwV+Dv1nrxOGpG1wPmiUh9HOUTk4wxbUXED1gkIj9Z67cGmhrHUIk5jDEjRWSYMaZlruYHjDEnRSQAWC4i3xhjTgBVcYzx+08RiQE+s/abDPyGo6obwDjgTWPMQhGphaPUY2MReR9IMcb8F0BEply8nvXZnwUWGmNeEJEbcVT9Ukp5IE3OqtwxxpwRkcnA34DzTm623FjD+YnITiA7ua4Hrsq13jTjGNhhu4jsAhrhqHncPNdZeXUc9aPTgT8vTsyF+JuI3GJN17T2cQLIwjGIAji+GPxujDlpxfoV0NBadi3QxFFuGYBq4hgZ6WIFrdcN6A9gjPlBRE45GbdSqoxpclbl1VhgFfBJrrZMrFs1ImIDfHMtS8s1bc81byfv38HF9WwNjsu/fzXG5BngQ0R6AGedCdZa91qgozHmnIjMB/ytxanGmCwndmMDOhhjUi/ad3HXU0p5KL3nrMol68xyGnkvzSYCbazpvoBPMXZ9m4jYrPvQdXEM5PAj8Ig4hglERBqKY2SvomRkb4PjbPuUlZgbAR0K2GY50N0aqcgbGJBr2U84LsFjxdHSmkwGgpxY7w/gTqutFxDixGdQSrmBJmdVnr0O5O61/SGOxLYW6IiTZ7UX2YtjtKQ5wMPW2edEHB2+VonIBuADnLvqNAHHvfHPgbmAt4hsBsYAS/PbwDjG3H7JimERji8cSdbivwEJVqe0TTg6ggHMAm7J7hBWyHrPA91EZCOOy9t7nTkgSqmyp6NSKeVhRCTQGJNinTnPAD42xsxwd1xKqbKjZ85KeZ7nRGQNjvF8dwPfujUapVSZ0zNnpZRSysPombNSSinlYTQ5K6WUUh5Gk7NSSinlYTQ5K6WUUh5Gk7NSSinlYf4f+MCVKL/d/HUAAAAASUVORK5CYII=\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 127,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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Qx9av7711luzbt26ER9z8eLF/PSnP21AtJKkemyzzTZceumlPPDAA3Xvc9lll3HrrbeOeNto2onhjidJ0lCOPfZYjjzySKBqSw455BB+/vOfc8899/C1r31tzF7HRJIkjdBRRx3Fsccey957783HPvYx7rjjDt785jfz0pe+lFe/+tX8+te/BmDRokXsvffe7LXXXrz+9a/nvvvu46677uKcc87hjDPOYM899+RHP/oRq1at4u1vfzsve9nLeNnLXsZPfvIToOoN9cY3vpHdd9+d9773vWRmK09bkjrGlltuybx58zjjjDOesu2uu+5iv/3248UvfjH7778/v/3tb/npT3/KwoUL+ehHP8qee+7JHXfcsb7+YNtmzZrFCSecQG9vL2eeeSY33HADr33ta3npS1/Km970JlauXAnAf/zHf/Cyl72MPfbYg7e//e089thjgx5vqHZm2bJlvOIVr+Av//IvOeWUU5rz5kmSWmLWrFkcf/zx7LnnnrzoRS/i+uuvf0qdvr4+Tj/9dK644go+97nPcfbZZ/O6172Ok08+mR/96Efsueeeg7Z9I+XQNkkaheXLl/PTn/6ULbbYgv33359zzjmHmTNnct111/FXf/VXXH311ey7775ce+21RARf+tKX+Od//mc++9nPcuyxx27UPfWII47gQx/6EPvuuy+//e1vedOb3sRtt93G3/3d37Hvvvvyt3/7t3znO9/h3HPPbfFZS1LnOO6443jxi1/Mxz72sY3KP/CBDzB37lzmzp3Leeedxwc/+EEuu+wyDj74YA466CAOOeSQjeq/8pWvHHTbE088wZIlS3jyySd57Wtfy+WXX86kSZO46KKL+OQnP8l5553H2972Nt73vvcBcMopp3DuuefygQ984CnHG6qdOf7443n/+9/PkUceyRe/+MUGv2OSpFZ77LHHuOmmm7jmmmt4z3ves9EQuFoHHnjgRt85Fi9ezOmnn863v/3tMYnDRJIkjcKhhx7KFltswaOPPspPf/pTDj300PXb/vCHPwBVsukd73gHK1eu5IknnqCnp2fQY/3gBz/YaAjDww8/zKOPPso111zDpZdeCsBb3vIWdtxxxwaekSR1l+23354jjzySs846i6c//enry3/2s5+tv/a++93vfkqiqV7veMc7ALj99tu55ZZbeMMb3gDAH//4R6ZMmQLALbfcwimnnMJDDz3Eo48+ypve9KanHGe4duYnP/kJ3/zmN9fHetJJJ40qVklSexjqDmr95e985zsBeM1rXsPDDz/MQw891KzQNtKwRFJEvAC4qKboOcDfAueX8hnAXcBhmbkmqnfmTOBA4DHgqMy8sVHxSdLmeOYznwnAn/70JyZOnMhNN930lDof+MAHOPHEEzn44INZvHjxkJO4/ulPf+Laa69lwoQJDYxYkjTQCSecwEte8hKOPvroMT92fzuRmey+++787Gc/e0qdo446issuu4w99tiDr3zlKyxevPgpdYZrZ6A7b1UtSZ1q5513Zs2aNRuVPfjgg+t/kB54zW9VG9CwOZIy8/bM3DMz9wReSpUc+hZwMnBVZs4ErirrAAcAM8tjHnB2o2KTpLGy/fbb09PTwze+8Q2g+sLwi1/8AoC1a9cydepUABYsWLB+n+22245HHnlk/fob3/hGPv/5z69f7/+y8JrXvGb9pHjf/e53n9KoSJI2z0477cRhhx220dDhV77ylVx44YUAXHDBBbz61a8GnnrtrjXcthe84AWsWrVqfSLpySef5Fe/+hUAjzzyCFOmTOHJJ5/kggsuGPR4w7Uzr3rVqzaKVZI0vm277bZMmTKFq6++GqiSSN/73vfYd999Abjooqqvzo9//GN22GEHdthhh7qOO1w7NRrNGtq2P3BHZt4dEXOAWaV8AbAYOAmYA5yf1Wyy10bExIiYkpkrmxSjpHFg9uxWR/BUF1xwAe9///v59Kc/zZNPPsnhhx/OHnvsQV9fH4ceeig77rgj++23H8uWLQNg9uzZHHLIIVx++eV8/vOf56yzzlo/V8e6det4zWtewznnnMOpp57KO9/5TnbffXde+cpXMn369BafqSSNvZ6evpa+/oc//GG+8IUvrF///Oc/z9FHH82//Mu/MGnSJL785S8DcPjhh/O+972Ps846i0suuYTnPve56/cZuK3W1ltvzSWXXMIHP/hB1q5dy7p16zjhhBPYfffd+dSnPsXee+/NpEmT2Hvvvdd/yB94vKHamTPPPJMjjjiCz3zmM8yZM6cJ75YkdY++WX0ted3zzz+f4447jhNPPBGAU089dX2bM2HCBPbaay+efPJJzjvvvLqP+eIXv5gtttiCPfbYg6OOOooPfehDmxVjNOMuQBFxHnBjZn4hIh7KzImlPIA1mTkxIr4N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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tm = TwoModels(\n",
" estimator_trmnt=RandomForestClassifier(**params),\n",
" estimator_ctrl=RandomForestClassifier(**params),\n",
" method='vanilla'\n",
")\n",
"\n",
"tm.fit(data_train_new, target_train, treatment_train)\n",
"\n",
"uplift_tm = tm.predict(data_test_new)\n",
"pd.Series(uplift_tm, index=data_test_new.index).to_csv('tm_rfc.csv')\n",
"\n",
"tm_score = uplift_at_k(y_true=target_test, uplift=uplift_tm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"plot_uplift_preds(trmnt_preds=tm.trmnt_preds_, ctrl_preds=tm.ctrl_preds_);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 121,
"outputs": [
{
"data": {
"text/plain": "0.0809735247171586"
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 122,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 123,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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9ab++f3je7zZaz7ePffcw957781tt63soEl/fz8bbrghH/3oR4fd57zzzmPBggV86Utf4swzz+R5z3sehx56KL/+9a856KCDiAguvfRSbrrpJg4++OBxORd7JEnSCCZPnsytt97KrbfeypFHHsmHP/zhlevrr78+K1asGPUx58+fz/XXX9+EaCVJjdhggw341re+xe9///uG97nsssu4/fbbR71tLO3ESMebQLbMzPvL8gPAlmV5GnBfTb3Fpaxe+bNExLyIWBARC5YuXTq+UUtSGx155JEceuihQNWW7LfffvzsZz/jvvvu42tf+9q4vY+JJEkapcMOO4wjjzySnXbaiY9//OPcddddvPWtb+WVr3wlr3vd6/j1r38NwMDAADvttBM77rgjb3rTm3jwwQe55557OPPMMznllFPYYYcd+NGPfsTSpUt55zvfyate9Spe9apX8ZOf/ASoekO95S1vYdttt+W9730v1ZevkqS1te666zJv3jxOOeWUZ22755572G233dhuu+3Yfffd+e1vf8v111/PFVdcwcc+9jF22GEH7rrrrpX1h9s2e/ZsjjnmGGbNmsWpp57KLbfcwhve8AZe+cpXsscee3D//VV+5D/+4z941atexfbbb8873/lOnnzyyWGPV6+dWbRoEa95zWv4m7/5G0444YTWXLw2KL2Pxq0RzMyzMnNWZs4a7GUsSZ1u9uzZHH300eywww68/OUv5+abb35Wnf7+fk4++WSuvPJKvvjFL3LGGWfwxje+keOPP54f/ehH7LDDDsO2faPl0DZJGoPFixdz/fXXs84667D77rtz5plnss0223DTTTfxt3/7t1xzzTXsuuuu3HjjjUQEZ599Np///Of5whe+wJFHHrla99SDDz6YD3/4w+y666789re/ZY899uCOO+7gH/7hH9h11135+7//e7773e9yzjnntPmsJal3HHXUUWy33XZ8/OMfX638gx/8IHPnzmXu3Lmce+65fOhDH+Kyyy5jn332Ye+992a//fZbrf4uu+wy7Lann36aBQsW8Mwzz/CGN7yByy+/nClTpnDxxRfzqU99inPPPZd3vOMdvO997wPghBNO4JxzzuGDH/zgs45Xr505+uijef/738+hhx7Kl7/85SZfsZZ7MCKmZub9ZejaQ6V8CbBVTb3ppWwJq4bCDZbPb0GcktQyTz75JLfeeivXXXcd73nPe1YbAldrr732Wu0zx/z58zn55JP5zne+My5xmEiSpDHYf//9WWeddXjiiSe4/vrr2X///Vdu++Mf/whUyaYDDzyQ+++/n6effpq+vr5hj/XDH/5wtSEMjz32GE888QTXXXcd3/rWtwB429vexmabOWeoJI2XjTfemEMPPZTTTjuN5z73uSvLb7jhhpX33kMOOeRZiaZGHXjggQDceeed3Hbbbbz5zW8G4E9/+hNTp04F4LbbbuOEE07gkUce4YknnmCPPfZ41nFGamd+8pOf8M1vfnNlrMcdd9yYYu1QVwBzgZPKz8tryj8QERdRTaz9aEk2/RfwTzUTbL8F+ESLY5aktVLvCWqD5e9617sAeP3rX89jjz3GI4880qrQVmMiSZLG4PnPfz4Af/7zn9l000259dZbn1Xngx/8IMceeyz77LMP8+fPrzuJ65///GduvPFGJk2a1MSIJUlDHXPMMbziFa/g8MMPH/djD7YTmcm2227LDTfc8Kw6hx12GJdddhnbb7895513HvPnz39WnZHaGeiNR1VHxNepehNtERGLqZ6+dhJwSUQcAdwLHFCqXwnsBSwEngQOB8jMhyPiM8D/lHqfHpx4W5K6xeTJk1m+fPlqZQ8//PDKL6SH3vPb1QY4R5IkrYWNN96Yvr4+vvGNbwDVB4af//znADz66KNMm1bN83n++eev3GejjTbi8ccfX7n+lre8hdNPP33l+uCHhde//vUrJ8X73ve+96xGRZK0djbffHMOOOCA1YYO77LLLlx00UUAXHjhhbzuda8Dnn3vrjXStpe+9KUsXbp0ZSLpmWee4Ve/+hUAjz/+OFOnTuWZZ57hwgsvHPZ4I7Uzr33ta1eLtVtl5rsyc2pmrpeZ0zPznMxclpm7Z+Y2mfmmwaRQVo7KzBdn5t9k5oKa45ybmVuX11fad0aSNDYbbrghU6dO5ZprrgGqJNL3v/99dt11VwAuvvhiAH784x+zySabsMkmmzR03JHaqbGwR5KkrjJnTrsjeLYLL7yQ97///Xz2s5/lmWee4aCDDmL77benv7+f/fffn80224zddtuNRYsWATBnzhz2228/Lr/8ck4//XROO+20lXN1rFixgte//vWceeaZnHjiibzrXe9i2223ZZdddmHGjBltPlNJGn99ff1tff+PfOQjfOlLX1q5fvrp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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tm = TwoModels(\n",
" estimator_trmnt=RandomForestClassifier(**params),\n",
" estimator_ctrl=RandomForestClassifier(**params),\n",
" method='ddr_control'\n",
")\n",
"\n",
"tm.fit(data_train_new, target_train, treatment_train)\n",
"\n",
"uplift_tm = tm.predict(data_test_new)\n",
"\n",
"tm_score = uplift_at_k(y_true=target_test, uplift=uplift_tm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"plot_uplift_preds(trmnt_preds=tm.trmnt_preds_, ctrl_preds=tm.ctrl_preds_);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 124,
"outputs": [
{
"data": {
"text/plain": "0.08304902844609915"
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 125,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Обучим XGBoost"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 147,
"outputs": [],
"source": [
"data_train_xgb = data_train.copy(deep=True)\n",
"data_test_xgb = data_test.copy(deep=True)\n",
"\n",
"data_train_xgb['history_segment'] = data_train_xgb['history_segment'].astype('category')\n",
"data_train_xgb['zip_code'] = data_train_new['zip_code'].astype('category')\n",
"data_train_xgb['channel'] = data_train_xgb['channel'].astype('category')\n",
"\n",
"data_test_xgb['history_segment'] = data_test_xgb['history_segment'].astype('category')\n",
"data_test_xgb['zip_code'] = data_test_new['zip_code'].astype('category')\n",
"data_test_xgb['channel'] = data_test_xgb['channel'].astype('category')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 201,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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v/oVc+bM4Z/+6Z+YMmUKd91114r6fW2bOnUqxx13HF1dXZx22mnceOONvOlNb2LnnXdmr732YunSpQB885vf5LWvfS077LAD73rXu3jyySf7PF5/7czChQt53etex9/+7d9y4okntubitc804K7MvAc4AJhdymcD7yjLBwDnZuU6YNOIGNfySCWpCaZOncpHPvIRpkyZwmte8xpuuOGG59Wp1WqccsopXH755Xz1q1/ljDPO4M1vfjMnnHACP//5z5kyZUqfbd9gObRNktbA4sWL+dWvfsU666zDtGnTOPPMM5k8eTLXX389H/jAB7jqqqvYfffdue6664gIvvWtb/GlL32JL3/5yxxzzDGrdE89/PDD+ehHP8ruu+/OH/7wB/baay9uv/12/uVf/oXdd9+df/7nf+ZHP/oRZ511Vpt/a0kaOY499li23357PvGJT6xS/qEPfYgZM2YwY8YMzj77bD784Q9z6aWXsv/++7Pffvtx4IEHrlL/9a9/fZ/bnnnmGebNm8ezzz7Lm970Ji677DLGjh3LhRdeyGc+8xnOPvts3vnOd/K+970PgBNPPJGzzjqLD33oQ887Xn/tzEc+8hHe//73c8QRR/CNb3yjyVes7Q4Fzi/LW2Xm0rJ8H7BVWd4auLdun8WlbGldGRExk6rHEhMmTGhWvJI05J588knmz5/PNddcwz/8wz+sMgSu3r777rvKZ465c+dyyimn8MMf/nBI4jCRJElr4KCDDmKdddbhiSee4Fe/+hUHHXTQim1PP/00UCWbDjnkEJYuXcozzzzDpEmT+jzWz372s1WGMDz22GM88cQTXHPNNXz/+98H4O1vfzubbbZZE38jSRpdNt54Y4444ghOP/10XvjCF64ov/baa1fce9/znvc8L9HUqEMOOQSAO++8k1tuuYW3vvWtADz33HOMG1d1krnllls48cQTeeSRR3jiiSfYa6+9nnecgdqZX/7yl1xyySUrYv3kJz+5RrF2uohYH9gf+FTvbZmZETGoLruZOQuYBdDV1WV3X0kdo78nqPWUH3bYYQDssccePPbYYzzyyCOtCm0VJpIkaQ28+MUvBuAvf/kLm266KfPnz39enQ996EMcf/zx7L///sydO7ffSVz/8pe/cN111zFmzJgmRixJ6u24445jp5124qijjhryY/e0E5nJdtttx7XXXvu8Okce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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"params_xgb = {\n",
" 'n_estimators': 100,\n",
" 'max_depth': 3,\n",
" 'tree_method': 'gpu_hist',\n",
" 'enable_categorical': True,\n",
" 'use_label_encoder': False\n",
"}\n",
"\n",
"xgb_clf = XGBClassifier(**params_xgb)\n",
"\n",
"sm = SoloModel(xgb_clf)\n",
"sm.fit(data_train_xgb, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_xgb)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"pd.Series(uplift_sm, index=data_test_new.index).to_csv('sm_xgb.csv')\n",
"\n",
"# Получим условные вероятности выполнения целевого действия при взаимодействии для каждого объекта\n",
"sm_trmnt_preds = sm.trmnt_preds_\n",
"# И условные вероятности выполнения целевого действия без взаимодействия для каждого объекта\n",
"sm_ctrl_preds = sm.ctrl_preds_\n",
"\n",
"# Отрисуем распределения вероятностей и их разность (uplift)\n",
"plot_uplift_preds(trmnt_preds=sm_trmnt_preds, ctrl_preds=sm_ctrl_preds);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 199,
"outputs": [
{
"data": {
"text/plain": "0.07574276359180297"
},
"execution_count": 199,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 200,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 187,
"outputs": [
{
"data": {
"text/plain": "0.06503898703944364"
},
"execution_count": 187,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xgb_clf = XGBClassifier(**params_xgb)\n",
"\n",
"sm = ClassTransformation(xgb_clf)\n",
"sm.fit(data_train_xgb, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_xgb)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 188,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 192,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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xcc//nHuvPNO9ttvP/bYYw9e97rXcfvttwOwePFi9tprL3bbbTfe9KY3cf/993P33XdzzjnncMYZZ7Drrrvyox/9iDVr1vDOd76TV73qVbzqVa/iJz/5CVD1hnrLW97CzjvvzHvf+14ys5WnLUkdY9NNN2XevHmcccYZz9l29913s++++/LKV76SWbNmce+99/LTn/6URYsW8Td/8zfsuuuu3Hnnnevq97Vt5syZnHjiicyYMYMzzzyTG264gTe84Q3ssccevPWtb2X16tUA/Md//AevetWr2GWXXXjnO9/JE0880efx+mtnli9fzqtf/Wr+8i//kk996lPN+eE1UWauAk4H7qVKIK0FbgAeycyeDN1KYEpZngKsKPs+U+pP6H3ciJgXEUsjYumaNWsaexKSNEJmzpzJhz/8YXbddVde8YpX8LOf/ew5dbq7uzn99NO5/PLL+cIXvsDZZ5/NG9/4Rk455RR+9KMfseuuu/bZ9g1Vw4a29XI4cGFZnpSZq8vyfcCksrzuwl/0NAqra8qIiHlUPZaYNm1ao+KVpAGtXLmSn/70p2yyySbMmjWLc845h+nTp3P99dfzgQ98gKuuuop99tmH6667jojgK1/5Cv/yL//C5z//eY477rgNuqceeeSRfOQjH2Gfffbh3nvv5a1vfSu33XYb//AP/8A+++zD3//93/Pd736Xc889t8VnLUmd4/jjj+eVr3wlH//4xzcoP+GEE5g7dy5z587lvPPO40Mf+hCXXnopBx10EAceeCAHH3zwBvVf85rX9LntqaeeYunSpTz99NO84Q1v4LLLLmPixIlcfPHFfPKTn+S8887jHe94B+973/sA+NSnPsW5557LCSec8Jzj9dfOfPjDH+b9738/Rx11FF/+8pcb/BNrvojYlurL5i7gEeCbwH4be9zMnA/MB5gxY4bf0kgaNZ544gluvPFGrrnmGt7znvdsMASu1gEHHLDBZ44lS5Zw+umn81//9V8jEkfDE0ll8ruDgE/03paZGRFDunh74ZfUDg455BA22WQTHn/8cX76059yyCGHrNv2hz/8AaiSTYcddhirV6/mqaeeoqurq89j/fCHP9xgCMOjjz7K448/zjXXXMO3v/1tAN72trex7bbbNvCMJGls2XrrrTnqqKM466yzeP7zn7+u/Nprr1137X33u9/9nERTvQ47rJqa5ze/+Q0333wzb37zmwH44x//yOTJVaf7m2++mU996lM88sgjPP7447z1rW99znEGamd+8pOf8K1vfWtdrCeffPKwYm1jbwKWZ+YagIj4NvBaqpELm5ZeR1OBVaX+KmAHYGUZCrcN8GDzw5ak4elvNG5P+RFHHAHA61//eh599FEeeeSRZoW2gWb0SNof+EVm3l/W74+IyZm5ugxde6CU91z4e9Q2CpLUVl74whcC8OyzzzJ+/HhuvPHG59Q54YQTOOmkkzjooINYsmRJv5O4Pvvss1x33XWMGzeugRFLkno78cQT2X333TnmmGNG/Ng97URmsvPOO3Pttdc+p87RRx/NpZdeyi677MLXvvY1lixZ8pw6A7Uz0PG3qr4X2DsiXgD8H9V0GUuBq4GDgYuAucBlpf6isn5t2X5VOi5c0igyYcIEHn744Q3KHnrooXVfSPe+5reqDWjGHElHsH5YG6y/wMNzL/xHRWVvYG3NEDhJaktbb701XV1dfPOb3wSqDwy/+tWvAFi7di1TplTTNixYsGDdPltttRWPPfbYuvW3vOUtfPGLX1y33vNh4fWvf/26SfG+973vPadRkSRtnO22245DDz10g6HDr3nNa7jooosAuOCCC3jd614HPPfaXWugbS972ctYs2bNukTS008/zS233ALAY489xuTJk3n66ae54IIL+jzeQO3Ma1/72g1i7TSZeT3VpNm/AH5N9dllPnAycFJELKOaA6nnF3guMKGUn8T6m/pI0qiw5ZZbMnnyZK666iqgSiJ9//vfZ5999gHg4osvBuDHP/4x22yzDdtss01dxx2onRqOhvZIiogXAm8G/rqm+DTgkog4FrgHOLSUX051K89lVHd4G/mvhiSNerNntzqC57rgggt4//vfz2c+8xmefvppDj/8cHbZZRe6u7s55JBD2Hbbbdl3331Zvnw5ALNnz+bggw/msssu44tf/CJnnXXWurk6nnnmGV7/+tdzzjnncOqpp3LEEUew884785rXvMZ54SR1pK6u7pa+/kc/+lG+9KUvrVv/4he/yDHHHMO//uu/MnHiRL761a8CcPjhh/O+972Ps846i4ULF/LiF7943T69t9XafPPNWbhwIR/60IdYu3YtzzzzDCeeeCI777wzn/70p9lrr72YOHEie+2117o3+b2P1187c+aZZ3LkkUfyuc99jjlz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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xgb_clf = XGBClassifier(**params_xgb)\n",
"xgb_clf_2 = XGBClassifier(**params_xgb)\n",
"\n",
"sm = TwoModels(xgb_clf, xgb_clf_2, method='vanilla')\n",
"sm.fit(data_train_xgb, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_xgb)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"# Получим условные вероятности выполнения целевого действия при взаимодействии для каждого объекта\n",
"sm_trmnt_preds = sm.trmnt_preds_\n",
"# И условные вероятности выполнения целевого действия без взаимодействия для каждого объекта\n",
"sm_ctrl_preds = sm.ctrl_preds_\n",
"\n",
"# Отрисуем распределения вероятностей и их разность (uplift)\n",
"plot_uplift_preds(trmnt_preds=sm_trmnt_preds, ctrl_preds=sm_ctrl_preds);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 193,
"outputs": [
{
"data": {
"text/plain": "0.0601440452077943"
},
"execution_count": 193,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 194,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 195,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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I0mSJEmSJEl12bDVATwf2267bU6bNq3VYUhS27npppt+n5mTWh1Hq9lOSFL/bCcqthOS1L/B2okxnUiaNm0aixYtanUYktR2IuK+VsfQDmwnJKl/thMV2wlJ6t9g7YRD2yRJkiRJklQXE0mSJEmSJEmqi4kkSZIkSZIk1WVMz5EkqfM988wzLFu2jKeeeqrVobSlTTfdlKlTp7LRRhu1OhRJqovX9eaynZCk+ozX9mkk7YSJJEltbdmyZWyxxRZMmzaNiGh1OG0lM3n44YdZtmwZ06dPb3U4klQXr+vNYzshSfUbj+3TSNsJh7ZJamtPPfUUEydOHDcX8+GICCZOnDjufjWRNLZ5XW8e2wlJqt94bJ9G2k6YSJLU9sbTxXy4fG8kjUVeu5rH91qS6jcer5kjOWcTSZIkSZIkSaqLcyRJGlN6ekb3eLNnD7794YcfZtasWQA88MADbLDBBkyaNAmAG2+8kY033njYr7lw4UI23nhjXve61w1rv2nTprFo0SK23XbbYb+mJLWrJUu6R/V406cPfbyI4IQTTuCLX/wiAKeeeipPPPEE3d0D73vppZfyspe9jB133HFY20ZipMfbfPPNeeKJJ0YlBkka77oXdo/u8WYOfbx7772XAw44gNtuu23dft3dbL755nz84x/vd5/zzjuPRYsW8dWvfpWzzz6bF73oRRx55JHcddddHHbYYUQECxYs4IYbbuCII44YlXOxR5IkDWLixInccsst3HLLLRx33HF89KMfXbu+8cYbs2bNmmEfc+HChfz85z9vQLSSpHpssskmXHLJJfz+97+ve59LL72UO+64Y9jbRtJODHY8SZIGctxxx3HkkUcCVVty8MEH88tf/pKlS5fyzW9+c9Rex0SSJA3T0UcfzXHHHccee+zBJz/5Se6++2723XdfXv3qV/OGN7yBu+66C4Cenh722GMPdt11V97ylrfw4IMPcu+993L22Wdz2mmnscsuu/CTn/yElStX8s53vpPXvOY1vOY1r+FnP/sZUPWGetvb3sZOO+3Ee9/7XjKzlactSR1jww03ZO7cuZx22mnP2Xbvvfey995786pXvYpZs2Zx//338/Of/5zLL7+cT3ziE+yyyy7cfffda+v3t23mzJl85CMfoauri9NPP52bbrqJN73pTbz61a9mn332YcWKFQD8x3/8B695zWvYeeedeec738mTTz7Z7/EGameWLFnCa1/7Wv76r/+ak046qTlvniSpJWbOnMmHP/xhdtllF175yldy4403PqdOd3c3p556KldccQVf/vKXOeuss3jzm9/MiSeeyE9+8hN22WWXftu+4XJomySNwLJly/j5z3/OBhtswKxZszj77LOZMWMGN9xwA3/3d3/H1VdfzV577cX1119PRPC1r32Nf/3Xf+WLX/wixx133HrdU4844gg++tGPstdee3H//fezzz77cOedd/IP//AP7LXXXvz93/893//+9znnnHNafNaS1DmOP/54XvWqV/HJT35yvfIPfvCDHHXUURx11FGce+65fOhDH+LSSy/lwAMP5IADDuDggw9er/7rXve6frc9/fTTLFq0iGeeeYY3velNXHbZZUyaNImLLrqIz372s5x77rm84x3v4H3vex8AJ510Eueccw4f/OAHn3O8gdqZD3/4w7z//e/nyCOP5Mwzz2zwOyZJarUnn3ySW265hWuvvZa//du/XW8IXK39999/ve8cCxcu5NRTT+V73/veqMRhIkmSRuCQQw5hgw024IknnuDnP/85hxxyyNptf/zjH4Eq2fSud72LFStW8PTTTzN9+vR+j/XjH/94vSEMjz32GE888QTXXnstl1xyCQBvf/vb2XrrrRt4RpI0vmy55ZYceeSRnHHGGbzwhS9cW37dddetvfa+5z3veU6iqV7vete7APjNb37Dbbfdxlvf+lYA/vSnPzF58mQAbrvtNk466SQeffRRnnjiCfbZZ5/nHGewduZnP/sZ3/nOd9bG+qlPfWpEsUqS2sNAd1DrLT/88MMBeOMb38hjjz3Go48+2qzQ1mMiSZJGYLPNNgPg2WefZcKECdxyyy3PqfPBD36QE044gQMPPJCFCxcOOInrs88+y/XXX8+mm27awIglSX195CMfYbfdduOYY44Z9WP3thOZyU477cR11133nDpHH300l156KTvvvDPnnXceCxcufE6dwdoZGJ+3qpakTjVx4kRWrVq1Xtkjjzyy9gfpvtf8VrUBzpEkSc/DlltuyfTp0/n2t78NVF8YfvWrXwGwevVqpkyZAsD8+fPX7rPFFlvw+OOPr11/29vexle+8pW1671fFt74xjeunRTvBz/4wXMaFUnS87PNNttw6KGHrjd0+HWvex0XXnghABdccAFveMMbgOdeu2sNtu3lL385K1euXJtIeuaZZ7j99tsBePzxx5k8eTLPPPMMF1xwQb/HG6ydef3rX79erJKksW3zzTdn8uTJXH311UCVRPrhD3/IXnvtBcBFF10EwE9/+lO22morttpqq7qOO1g7NRL2SJI0psye3eoInuuCCy7g/e9/P5///Od55plnOOyww9h5553p7u7mkEMOYeutt2bvvfdmyZIlAMyePZuDDz6Yyy67jK985SucccYZa+fqWLNmDW984xs5++yzOfnkkzn88MPZaaedeN3rXscOO+zQ4jOVpNE3fXp3S1//Yx/7GF/96lfXrn/lK1/hmGOO4d/+7d+YNGkSX//61wE47LDDeN/73scZZ5zBggULeMlLXrJ2n77bam288cYsWLCAD33oQ6xevZo1a9bwkY98hJ122onPfe5z7LHHHkyaNIk99thj7Yf8vscbqJ05/fTTOeKII/jCF77AnDlzmvBuSdL40T2zuyWve/7553P88cdzwgknAHDyySevbXM23XRTdt11V5555hnOPffcuo/5qle9ig022ICdd96Zo48+mo9+9KPPK8YYy3cB6urqykWLFrU6DKmlenrWLbdjkuX5uvPOO/mrv/qrVofR1vp7jyLipszsalFIbcN2Qu1kyZLutcutTp60ktf15hvL7UREfBR4L5DAr4FjgMnAhcBE4CbgPZn5dERsApwPvBp4GHhXZt472PFtJ9Qpuhd2r1tuUQJkrGv39mnmzJmceuqpdHWN/qV7uO2EQ9skSZIktZ2ImAJ8COjKzFcCGwCHAV8ATsvMlwKrgGPLLscCq0r5aaWeJGmUmUiSxpmennUPqRki4tyIeCgibqsp+7eIuCsibo2I70bEhJptn46IxRHxm4jYp6Z831K2OCJObPJpSJJaY0PghRGxIfAiYAWwN9A7hnA+cFBZnlPWKdtnhbORS+oQCxcubEhvpJEwkSSp7Y3lIbiNNkbem/OAffuUXQm8MjNfBfwP8GmAiNiR6tfmnco+/x4RG0TEBsCZwH7AjsDhpa6kMWiMXLs6wlh+rzNzOXAqcD9VAmk11VC2RzNzTam2DJhSlqcAS8u+a0r9iX2PGxFzI2JRRCxauXJlY09C0pgylq+ZIzWSczaRJKmtbbrppjz88MPj8qI+lMzk4YcfZtNNN211KIPKzGuBR/qU/ajmS8D1wNSyPAe4MDP/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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xgb_clf = XGBClassifier(**params_xgb)\n",
"xgb_clf_2 = XGBClassifier(**params_xgb)\n",
"\n",
"sm = TwoModels(xgb_clf, xgb_clf_2, method='ddr_control')\n",
"sm.fit(data_train_xgb, treatment_train, target_train)\n",
"\n",
"uplift_sm = sm.predict(data_test_xgb)\n",
"\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"# Получим условные вероятности выполнения целевого действия при взаимодействии для каждого объекта\n",
"sm_trmnt_preds = sm.trmnt_preds_\n",
"# И условные вероятности выполнения целевого действия без взаимодействия для каждого объекта\n",
"sm_ctrl_preds = sm.ctrl_preds_\n",
"\n",
"# Отрисуем распределения вероятностей и их разность (uplift)\n",
"plot_uplift_preds(trmnt_preds=sm_trmnt_preds, ctrl_preds=sm_ctrl_preds);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 196,
"outputs": [
{
"data": {
"text/plain": "0.05577107700232985"
},
"execution_count": 196,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sm_score"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 197,
"outputs": [
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_qini_curve(target_test, uplift_sm, treatment_test, perfect=False);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Обучим Catboost"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Single model"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"cbr = CatBoostClassifier(iterations=500, task_type=\"GPU\", random_state=42, silent=True, )\n",
"\n",
"sm = SoloModel(cbr)\n",
"sm.fit(data_train, treatment_train, target_train, estimator_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']})\n",
"\n",
"uplift_sm = sm.predict(data_test)\n",
"pd.Series(uplift_sm, index=data_test.index).to_csv('sm_cbc.csv')\n",
"sm_score = uplift_at_k(y_true=target_test, uplift=uplift_sm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"models_results['approach'].append('SoloModel')\n",
"models_results['uplift@30%'].append(sm_score)\n",
"\n",
"# Получим условные вероятности выполнения целевого действия при взаимодействии для каждого объекта\n",
"sm_trmnt_preds = sm.trmnt_preds_\n",
"# И условные вероятности выполнения целевого действия без взаимодействия для каждого объекта\n",
"sm_ctrl_preds = sm.ctrl_preds_\n",
"\n",
"# Отрисуем распределения вероятностей и их разность (uplift)\n",
"plot_uplift_preds(trmnt_preds=sm_trmnt_preds, ctrl_preds=sm_ctrl_preds);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"from sklift.viz import plot_uplift_by_percentile\n",
"\n",
"plot_uplift_by_percentile(target_test, uplift_sm, treatment_test)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"sm_fi = pd.DataFrame({\n",
" 'feature_name': sm.estimator.feature_names_,\n",
" 'feature_score': sm.estimator.feature_importances_\n",
"}).sort_values('feature_score', ascending=False).reset_index(drop=True)\n",
"\n",
"sm_fi"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Class transform"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"from sklift.models import ClassTransformation\n",
"\n",
"\n",
"ct = ClassTransformation(CatBoostClassifier(iterations=500, task_type='GPU', random_state=42, silent=True))\n",
"ct.fit(data_train, target_train, treatment_train, estimator_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']})\n",
"\n",
"uplift_ct = ct.predict(data_test)\n",
"pd.Series(uplift_ct, index=data_test.index).to_csv('ct_cbc.csv')\n",
"ct_score = uplift_at_k(y_true=target_test, uplift=uplift_ct, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"models_results['approach'].append('ClassTransformation')\n",
"models_results['uplift@30%'].append(ct_score)\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"ct.estimator.save_model('models/ct_cbc.cbm')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Two independent models"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"tm = TwoModels(\n",
" estimator_trmnt=CatBoostClassifier(iterations=500, task_type='GPU', random_state=42, silent=True),\n",
" estimator_ctrl=CatBoostClassifier(iterations=500, task_type='GPU', random_state=42, silent=True),\n",
" method='vanilla'\n",
")\n",
"tm.fit(\n",
" data_train, target_train, treatment_train,\n",
" estimator_trmnt_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']},\n",
" estimator_ctrl_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']}\n",
")\n",
"\n",
"uplift_tm = tm.predict(data_test)\n",
"pd.Series(uplift_tm, index=data_test.index).to_csv('tm_independend_cbc.csv')\n",
"\n",
"tm_score = uplift_at_k(y_true=target_test, uplift=uplift_tm, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"models_results['approach'].append('TwoModels')\n",
"models_results['uplift@30%'].append(tm_score)\n",
"\n",
"plot_uplift_preds(trmnt_preds=tm.trmnt_preds_, ctrl_preds=tm.ctrl_preds_);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"tm.estimator_ctrl.save_model('models/tm_ctrl_cbc.cbm')\n",
"tm.estimator_trmnt.save_model('models/tm_trmnt_cbc.cbm')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Two dependend models"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"tm_ctrl = TwoModels(\n",
" estimator_trmnt=CatBoostClassifier(iterations=500, task_type='GPU', random_state=42, silent=True),\n",
" estimator_ctrl=CatBoostClassifier(iterations=500, task_type='GPU', random_state=42, silent=True),\n",
" method='ddr_control'\n",
")\n",
"\n",
"tm_ctrl = tm_ctrl.fit(\n",
" data_train, target_train, treatment_train,\n",
" estimator_trmnt_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']},\n",
" estimator_ctrl_fit_params={'cat_features': ['womens', 'mens','channel', 'zip_code', 'history_segment', 'newbie']}\n",
")\n",
"\n",
"uplift_tm_ctrl = tm_ctrl.predict(data_test)\n",
"pd.Series(uplift_tm_ctrl, index=data_test.index).to_csv('tm_dependend_cbc.csv')\n",
"\n",
"tm_ctrl_score = uplift_at_k(y_true=target_test, uplift=uplift_tm_ctrl, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"models_results['approach'].append('TwoModels_ddr_control')\n",
"models_results['uplift@30%'].append(tm_ctrl_score)\n",
"\n",
"plot_uplift_preds(trmnt_preds=tm_ctrl.trmnt_preds_, ctrl_preds=tm_ctrl.ctrl_preds_);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"pd.read_csv('model_predictions/ct_cbc.csv')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"pd.Series(uplift_tm_ctrl, index=data_test.index).to_csv('tm_dependend_cbc.csv')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"tm.estimator_ctrl.save_model('models/tm_dependend_ctrl_cbc.cbm')\n",
"tm.estimator_trmnt.save_model('models/tm_dependend_trmnt_cbc.cbm')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.preprocessing import OrdinalEncoder\n",
"from sklearn.pipeline import make_pipeline\n",
"\n",
"pipeline_ctrl = make_pipeline(\n",
" OrdinalEncoder(categories=['channel', 'zip_code', 'history_segment']),\n",
" RandomForestClassifier(n_estimators=100, max_depth=5, random_state=42)\n",
")\n",
"\n",
"pipeline_trtmnt = make_pipeline(\n",
" OrdinalEncoder(categories=['channel', 'zip_code', 'history_segment']),\n",
" RandomForestClassifier(n_estimators=100, max_depth=5, random_state=42)\n",
")\n",
"\n",
"tm_ctrl = TwoModels(\n",
" estimator_trmnt=pipeline_ctrl,\n",
" estimator_ctrl=pipeline_trtmnt,\n",
" method='ddr_control'\n",
")\n",
"\n",
"tm_ctrl = tm_ctrl.fit(\n",
" data_train, target_train, treatment_train\n",
")\n",
"\n",
"uplift_tm_ctrl = tm_ctrl.predict(data_test)\n",
"\n",
"tm_ctrl_score = uplift_at_k(y_true=target_test, uplift=uplift_tm_ctrl, treatment=treatment_test, strategy='by_group', k=0.3)\n",
"\n",
"models_results['approach'].append('TwoModels_ddr_control')\n",
"models_results['uplift@30%'].append(tm_ctrl_score)\n",
"\n",
"plot_uplift_preds(trmnt_preds=tm_ctrl.trmnt_preds_, ctrl_preds=tm_ctrl.ctrl_preds_);"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"pd.DataFrame([tm_ctrl.trmnt_preds_, uplift_tm_ctrl])"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Results"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"pd.DataFrame(data=models_results).sort_values('uplift@30%', ascending=False)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"from sklift.viz import plot_uplift_by_percentile\n",
"\n",
"# line plot\n",
"plot_uplift_by_percentile(target_test, uplift_ct, treatment_test, strategy='overall', kind='bar');"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 40,
"outputs": [
{
"data": {
"text/plain": " approach uplift@30%\n0 SoloModel 0.077602\n3 TwoModels_ddr_control 0.073417\n2 TwoModels 0.073161\n1 ClassTransformation 0.066895",
"text/html": "\n\n
\n \n \n | \n approach | \n uplift@30% | \n
\n \n \n \n 0 | \n SoloModel | \n 0.077602 | \n
\n \n 3 | \n TwoModels_ddr_control | \n 0.073417 | \n
\n \n 2 | \n TwoModels | \n 0.073161 | \n
\n \n 1 | \n ClassTransformation | \n 0.066895 | \n
\n \n
\n
"
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(data=models_results).sort_values('uplift@30%', ascending=False)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 41,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"P:\\uplift_lab\\venv\\lib\\site-packages\\numpy\\core\\fromnumeric.py:3156: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n",
" return asarray(a).ndim\n"
]
},
{
"data": {
"text/plain": "