{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lead scoring for e-commerce customers \n", "\n", "```\n", "HKU Space / AI and ML with Business and Financial Applications\n", "CHAN TSZ CHUN / Eric\n", "2025-01-04\n", "Continous assignment\n", "```\n", "\n", "## Business goal \n", "\n", "Predict the likelihood of a customer to convert. Marketing can focus resources on the hot leads in retargeting. \n", "\n", "### Solution\n", "\n", "Bineary classification to classify hot leads and cold leads. \n", "\n", "Machine learning algorithm used: Random Forest Classifier. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import standard random forest library \n", "import pandas as pd\n", "import numpy as np\n", "\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score, precision_score, recall_score, confusion_matrix, ConfusionMatrixDisplay, classification_report\n", "from sklearn.model_selection import RandomizedSearchCV, GridSearchCV, train_test_split \n", "from joblib import dump, load\n", "from scipy.stats import randint\n", "\n", "from sklearn.tree import export_graphviz\n", "from IPython.display import Image\n", "\n", "import os" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/eric/Documents/studies/hkuspace-ml-business/continuous-assignment/lead-scoring/notebook\n" ] } ], "source": [ "save_dir = \"../src/model/\" \n", "\n", "print(os.getcwd())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data preparation 1\n", "\n", "### Data overview \n", "\n", "Dataset source: https://archive.ics.uci.edu/dataset/468/online+shoppers+purchasing+intention+dataset " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 12330 entries, 0 to 12329\n", "Data columns (total 18 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Administrative 12330 non-null int64 \n", " 1 Administrative_Duration 12330 non-null float64\n", " 2 Informational 12330 non-null int64 \n", " 3 Informational_Duration 12330 non-null float64\n", " 4 ProductRelated 12330 non-null int64 \n", " 5 ProductRelated_Duration 12330 non-null float64\n", " 6 BounceRates 12330 non-null float64\n", " 7 ExitRates 12330 non-null float64\n", " 8 PageValues 12330 non-null float64\n", " 9 SpecialDay 12330 non-null float64\n", " 10 Month 12330 non-null object \n", " 11 OperatingSystems 12330 non-null int64 \n", " 12 Browser 12330 non-null int64 \n", " 13 Region 12330 non-null int64 \n", " 14 TrafficType 12330 non-null int64 \n", " 15 VisitorType 12330 non-null object \n", " 16 Weekend 12330 non-null bool \n", " 17 Revenue 12330 non-null bool \n", "dtypes: bool(2), float64(7), int64(7), object(2)\n", "memory usage: 1.5+ MB\n" ] } ], "source": [ "\n", "# Load the dataset \n", "data = '../src/data/online_shoppers_intention.csv'\n", "df_raw = pd.read_csv(data)\n", "\n", "# Data exploration\n", "df_raw.info()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Administrative 0\n", "Administrative_Duration 0\n", "Informational 0\n", "Informational_Duration 0\n", "ProductRelated 0\n", "ProductRelated_Duration 0\n", "BounceRates 0\n", "ExitRates 0\n", "PageValues 0\n", "SpecialDay 0\n", "Month 0\n", "OperatingSystems 0\n", "Browser 0\n", "Region 0\n", "TrafficType 0\n", "VisitorType 0\n", "Weekend 0\n", "Revenue 0\n", "dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_raw.isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: No null values. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Administrative Administrative_Duration Informational \\\n", "count 12330.000000 12330.000000 12330.000000 \n", "mean 2.315166 80.818611 0.503569 \n", "std 3.321784 176.779107 1.270156 \n", "min 0.000000 0.000000 0.000000 \n", "25% 0.000000 0.000000 0.000000 \n", "50% 1.000000 7.500000 0.000000 \n", "75% 4.000000 93.256250 0.000000 \n", "max 27.000000 3398.750000 24.000000 \n", "\n", " Informational_Duration ProductRelated ProductRelated_Duration \\\n", "count 12330.000000 12330.000000 12330.000000 \n", "mean 34.472398 31.731468 1194.746220 \n", "std 140.749294 44.475503 1913.669288 \n", "min 0.000000 0.000000 0.000000 \n", "25% 0.000000 7.000000 184.137500 \n", "50% 0.000000 18.000000 598.936905 \n", "75% 0.000000 38.000000 1464.157214 \n", "max 2549.375000 705.000000 63973.522230 \n", "\n", " BounceRates ExitRates PageValues SpecialDay \\\n", "count 12330.000000 12330.000000 12330.000000 12330.000000 \n", "mean 0.022191 0.043073 5.889258 0.061427 \n", "std 0.048488 0.048597 18.568437 0.198917 \n", "min 0.000000 0.000000 0.000000 0.000000 \n", "25% 0.000000 0.014286 0.000000 0.000000 \n", "50% 0.003112 0.025156 0.000000 0.000000 \n", "75% 0.016812 0.050000 0.000000 0.000000 \n", "max 0.200000 0.200000 361.763742 1.000000 \n", "\n", " OperatingSystems Browser Region TrafficType \n", "count 12330.000000 12330.000000 12330.000000 12330.000000 \n", "mean 2.124006 2.357097 3.147364 4.069586 \n", "std 0.911325 1.717277 2.401591 4.025169 \n", "min 1.000000 1.000000 1.000000 1.000000 \n", "25% 2.000000 2.000000 1.000000 2.000000 \n", "50% 2.000000 2.000000 3.000000 2.000000 \n", "75% 3.000000 2.000000 4.000000 4.000000 \n", "max 8.000000 13.000000 9.000000 20.000000 \n" ] } ], "source": [ "print(df_raw.describe())" ] }, { "cell_type": "code", "execution_count": 6, "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", "
AdministrativeAdministrative_DurationInformationalInformational_DurationProductRelatedProductRelated_DurationBounceRatesExitRatesPageValuesSpecialDayMonthOperatingSystemsBrowserRegionTrafficTypeVisitorTypeWeekendRevenue
000.000.010.0000000.200.200.00.0Feb1111Returning_VisitorFalseFalse
100.000.0264.0000000.000.100.00.0Feb2212Returning_VisitorFalseFalse
200.000.010.0000000.200.200.00.0Feb4193Returning_VisitorFalseFalse
300.000.022.6666670.050.140.00.0Feb3224Returning_VisitorFalseFalse
400.000.010627.5000000.020.050.00.0Feb3314Returning_VisitorTrueFalse
\n", "
" ], "text/plain": [ " Administrative Administrative_Duration Informational \\\n", "0 0 0.0 0 \n", "1 0 0.0 0 \n", "2 0 0.0 0 \n", "3 0 0.0 0 \n", "4 0 0.0 0 \n", "\n", " Informational_Duration ProductRelated ProductRelated_Duration \\\n", "0 0.0 1 0.000000 \n", "1 0.0 2 64.000000 \n", "2 0.0 1 0.000000 \n", "3 0.0 2 2.666667 \n", "4 0.0 10 627.500000 \n", "\n", " BounceRates ExitRates PageValues SpecialDay Month OperatingSystems \\\n", "0 0.20 0.20 0.0 0.0 Feb 1 \n", "1 0.00 0.10 0.0 0.0 Feb 2 \n", "2 0.20 0.20 0.0 0.0 Feb 4 \n", "3 0.05 0.14 0.0 0.0 Feb 3 \n", "4 0.02 0.05 0.0 0.0 Feb 3 \n", "\n", " Browser Region TrafficType VisitorType Weekend Revenue \n", "0 1 1 1 Returning_Visitor False False \n", "1 2 1 2 Returning_Visitor False False \n", "2 1 9 3 Returning_Visitor False False \n", "3 2 2 4 Returning_Visitor False False \n", "4 3 1 4 Returning_Visitor True False " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_raw.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Feature engineering " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "VisitorType object\n", "Weekend bool\n", "Revenue bool\n", "Month_Aug bool\n", "Month_Dec bool\n", "Month_Feb bool\n", "Month_Jul bool\n", "Month_Jun bool\n", "Month_Mar bool\n", "Month_May bool\n", "Month_Nov bool\n", "Month_Oct bool\n", "Month_Sep bool\n", "Month_Jan bool\n", "Month_Apr bool\n", "dtype: object\n" ] } ], "source": [ "# One-hot encoding for Month\n", "df = pd.get_dummies(df_raw, columns=['Month'], prefix='Month') \n", "\n", "# Define all possible months\n", "all_months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n", "\n", "# Add columns for missing months with initial values of 0\n", "for month in all_months:\n", " if f'Month_{month}' not in df.columns:\n", " df[f'Month_{month}'] = False \n", " \n", "print(df.dtypes) " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Returning_Visitor' 'New_Visitor' 'Other']\n", "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "Weekend bool\n", "Revenue bool\n", "Month_Aug bool\n", "Month_Dec bool\n", "Month_Feb bool\n", "Month_Jul bool\n", "Month_Jun bool\n", "Month_Mar bool\n", "Month_May bool\n", "Month_Nov bool\n", "Month_Oct bool\n", "Month_Sep bool\n", "Month_Jan bool\n", "Month_Apr bool\n", "VisitorType_New_Visitor bool\n", "VisitorType_Other bool\n", "VisitorType_Returning_Visitor bool\n", "dtype: object\n" ] } ], "source": [ "unique_values = df['VisitorType'].unique()\n", "print(unique_values)\n", "\n", "# One-hot encoding for VisitorType\n", "df = pd.get_dummies(df, columns=['VisitorType']) \n", "\n", "# Define all possible visitor \n", "all_visitors = ['Returning_Visitor' 'New_Visitor' 'Other']\n", "\n", "# Add columns for missing visitor with initial values of False\n", "if 'VisitorType_Returning_Visitor' not in df.columns:\n", " df['VisitorType_Returning_Visitor'] = False \n", "if 'VisitorType_New_Visitor' not in df.columns:\n", " df['VisitorType_New_Visitor'] = False \n", "if 'VisitorType_Other' not in df.columns:\n", " df['VisitorType_Other'] = False \n", " \n", "print(df.dtypes) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Split data" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Split data into features (X) and target (y)\n", "X = df.drop(['Revenue'], axis=1)\n", "y = df['Revenue']\n", "\n", "# Split data into training and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modelling 1\n", "\n", "### Hyperparameter tuning" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RandomForestClassifier(max_depth=8, n_estimators=238, random_state=42)\n" ] } ], "source": [ "param_dist = {'n_estimators': randint(50,500), 'max_depth': randint(1,20)}\n", "\n", "# Create a random forest classifier\n", "rf = RandomForestClassifier(random_state=42)\n", "\n", "# Use random search to find the best hyperparameters\n", "random_search = RandomizedSearchCV(rf, param_distributions = param_dist, n_iter=5, cv=5, random_state=42)\n", "\n", "# Fit the random search object to the data\n", "random_search.fit(X_train, y_train)\n", "\n", "# Print the best estimator\n", "print(random_search.best_estimator_)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Save best parameters in variables \n", "best_estimator = random_search.best_estimator_ \n", "max_depth = best_estimator.max_depth\n", "n_estimators = best_estimator.n_estimators\n", "random_state = best_estimator.random_state" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model fitting " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(max_depth=8, n_estimators=238, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "RandomForestClassifier(max_depth=8, n_estimators=238, random_state=42)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rf = RandomForestClassifier(max_depth=max_depth, n_estimators=n_estimators, random_state=random_state)\n", "rf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['../src/model/lead-scoring-rf-v01.joblib']" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Save the trained model to the specified directory\n", "dump(rf, os.path.join(save_dir, \"lead-scoring-rf-v01.joblib\")) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model evaluating " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.89\n", "Precision: 0.81\n", "Recall: 0.44\n", " precision recall f1-score support\n", "\n", " False 0.90 0.98 0.94 2055\n", " True 0.81 0.44 0.57 411\n", "\n", " accuracy 0.89 2466\n", " macro avg 0.85 0.71 0.75 2466\n", "weighted avg 0.88 0.89 0.88 2466\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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k5Oj3r17a9CgQfrhhx8kSa+99ppmzZql2bNna/v27YqOjq73RX22hx9+WPPmzdOjjz6qvXv36tVXX1VkZKSkui91SVq/fr0KCgr0+uuvS5KWLl2qmTNnavbs2dq3b5/mzJmjRx99VMuXL5cklZeXa/jw4erSpYtycnKUkZGhGTNmuPwzadWqlZ577jnt3r1by5cv1wcffKAHH3zQoc+pU6c0e/ZsLV++XP/+979VWlqqsWPH2s+/++67+u///m9NnTpVe/fu1ZIlS5SZmWlPegC0EAbghcaPH2/ccsst9tdbt2412rZta4wePdowDMOYNWuW4efnZxQVFdn7vP/++0ZoaKhx+vRph2tdeeWVxpIlSwzDMIzk5GTjnnvucTjft29fo0ePHud879LSUiMgIMBYunTpOePMy8szJBk7d+50OB4bG2u8+uqrDsf+9Kc/GcnJyYZhGMaSJUuMsLAwo7y83H5+8eLF57zWT8XFxRnz588/7/nXXnvNaNu2rf31smXLDEnGli1b7Mf27dtnSDK2bt1qGIZh/PKXvzTmzJnjcJ0VK1YY0dHR9teSjDfeeOO87wug+bGGAF7rn//8py655BLV1NSourpat9xyixYuXGg/HxcXp3bt2tlf5+TkqKysTG3btnW4TkVFhb766itJ0r59+3TPPfc4nE9OTtaHH354zhj27dunyspKDRo0qMFxHzt2TPn5+Zo4caLS0tLsx2tqauzrE/bt26cePXqodevWDnG46sMPP9ScOXO0d+9elZaWqqamRqdPn1Z5ebmCg4MlSb6+vurTp499TNeuXXXppZdq3759+sUvfqGcnBx9+umnDhWB2tpanT59WqdOnXKIEcDPFwkBvNbAgQO1ePFi+fn5KSYmpt6iwTNfeGfYbDZFR0drw4YN9a51sVvvgoKCXB5js9kk1U0b9O3b1+Gcj4+PJMnwwFPLv/nmG910002655579Kc//UlhYWHauHGjJk6c6DC1ItVtGzzbmWM2m02PP/64brvttnp9AgMD3Y4TQNMgIYDXCg4O1lVXXdXg/r1791ZhYaF8fX11xRVXnLNPt27dtGXLFv32t7+1H9uyZct5r9mpUycFBQXp/fff1913313vvL+/v6S636jPiIyM1GWXXaavv/5ad9xxxzmve/XVV2vFihWqqKiwJx3O4jiX7du3q6amRk8//bRatapbTvTaa6/V61dTU6Pt27frF7/4hSRp//79OnHihLp27Sqp7ue2f/9+l37WAH5+SAiA/xg8eLCSk5M1atQozZs3T126dNF3332ndevWadSoUerTp49+//vfa/z48erTp4+uv/56rVq1Snv27FHHjh3Pec3AwEA99NBDevDBB+Xv76/rrrtOx44d0549ezRx4kRFREQoKChIWVlZuvzyyxUYGCir1aqMjAxNnTpVoaGhSklJUWVlpbZv367i4mJNmzZN48aN08yZMzVx4kT9z//8jw4dOqQ///nPLn3eK6+8UjU1NVq4cKFGjBihf//733rxxRfr9fPz89OUKVP03HPPyc/PT/fff7+SkpLsCcJjjz2m4cOHKzY2Vr/+9a/VqlUrff7559q1a5eeeOIJ1/9DAGgW7DIA/sNisWjdunX61a9+pbvuukudO3fW2LFjdejQIfuugDFjxuixxx7TQw89pMTERH3zzTe69957nV730Ucf1fTp0/XYY4+pW7duGjNmjIqKiiTVzc8/99xzWrJkiWJiYnTLLbdIku6++2795S9/UWZmphISEtS/f39lZmbatylecsklevvtt7V371716tVLM2fO1Lx581z6vD179tQzzzyjefPmKT4+XqtWrdLcuXPr9WvdurUeeughjRs3TsnJyQoKCtLq1avt54cOHap//vOfys7O1rXXXqukpCQ988wziouLcykeAM3LYnhiMhIAALRoVAgAAAAJAQAAICEAAAAiIQAAACIhAAAAIiEAAAAiIQAAACIhAAAAIiEAAAAiIQAAACIhAAAAIiEAAACS/j8aP75kLWdu3AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y_pred = rf.predict(X_test)\n", "\n", "# Calculate accuracy\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(f\"Accuracy: {accuracy:.2f}\")\n", "\n", "# Calculate precision \n", "precision = precision_score(y_test, y_pred) \n", "print(f\"Precision: {precision:.2f}\")\n", "\n", "# Calculate recall\n", "recall = recall_score(y_test, y_pred)\n", "print(f\"Recall: {recall:.2f}\")\n", "\n", "# Generate a comprehensive classification report\n", "report = classification_report(y_test, y_pred)\n", "print(report) \n", "\n", "# Create the confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Feature importances " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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4cOHdT72yJEjqFixIjJnzgwnJycULlwY06dPN7nDRERE9N9iZ2yD0NBQ9OvXD3PnzkXFihXxxx9/oE6dOrh8+TLy5MmT4vHp06dHr169UKxYMaRPnx5HjhxB165dkT59enTp0sUiO0FERERpl0pExJgGZcuWRalSpTBv3jz1fUWKFEHDhg0xadIkRdto3Lgx0qdPj+XLlyt6fHR0NNzc3PDq1Su4uroCALyHbtPb5u7keoq2TURERKlD2/e3NkZdpvnw4QPOnDmDWrVqadxfq1YtHDt2TNE2zp07h2PHjqFKlSo6H/P+/XtER0dr3IiIiOi/yahg5OnTp4iPj4eHh4fG/R4eHnj06JHetrlz54aDgwPKlCmDnj17olOnTjofO2nSJLi5ualvnp6exnSTiIiI0hCTElhVKpXG7yKS4r7kDh8+jNOnT2P+/PmYMWMGVq9erfOxw4YNw6tXr9S3yMhIU7pJREREaYBRCaxZsmSBra1tilGQx48fpxgtSc7HxwcAULRoUfz7778YPXo0WrZsqfWxDg4OcHBwMKZrRERElEYZNTJib2+P0qVLY/fu3Rr37969GxUqVFC8HRHB+/fvjXlqIiIi+o8yemrvgAED0LZtW5QpUwbly5fHggULEBERgW7dugH4dInlwYMHCAkJAQDMmTMHefLkQeHChQF8qjsyZcoU9O7d24K7QURERGmV0cFI8+bN8ezZM4wdOxZRUVHw9/fH9u3b4eXlBQCIiopCRESE+vEJCQkYNmwY7ty5Azs7O+TLlw+TJ09G165dLbcXRERElGYZXWfEGlhnhIiIKO1JlTojRERERJbGYISIiIisisEIERERWRWDESIiIrIqBiNERERkVQxGiIiIyKoYjBAREZFVMRghIiIiq2IwQkRERFbFYISIiIisisEIERERWRWDESIiIrIqBiNERERkVQxGiIiIyKoYjBAREZFVMRghIiIiq2IwQkRERFbFYISIiIisisEIERERWRWDESIiIrIqBiNERERkVQxGiIiIyKoYjBAREZFVMRghIiIiq2IwQkRERFbFYISIiIisisEIERERWRWDESIiIrIqBiNERERkVQxGiIiIyKoYjBAREZFVMRghIiIiq2IwQkRERFbFYISIiIisisEIERERWRWDESIiIrIqBiNERERkVQxGiIiIyKoYjBAREZFVMRghIiIi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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a pandas series of feature importances, feature name from column name\n", "feature_importances = pd.Series(rf.feature_importances_, index=X_train.columns).sort_values(ascending=False)\n", "\n", "# Plot a bar chart\n", "feature_importances.plot.bar();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: The most important feature is PageValues. \n", "\n", "According to the dataset metadata, the \"Page Value\" features represent the metrics measured by \"Google Analytics\" for each page in the e-commerce site -- represents the average value for a web page that a user visited before completing an e-commerce transaction. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data preparation 2\n", "\n", "Drop Month feature which has the lowest value on feature importances, rebuild the model and compare its performance. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "VisitorType object\n", "Weekend bool\n", "Revenue bool\n", "dtype: object\n" ] } ], "source": [ "df_dropMonth = df_raw.drop('Month', axis=1)\n", "\n", "print(df_dropMonth.dtypes)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Returning_Visitor' 'New_Visitor' 'Other']\n", "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "Weekend bool\n", "Revenue bool\n", "VisitorType_New_Visitor bool\n", "VisitorType_Other bool\n", "VisitorType_Returning_Visitor bool\n", "dtype: object\n" ] } ], "source": [ "unique_values = df_dropMonth['VisitorType'].unique()\n", "print(unique_values)\n", "\n", "# One-hot encoding for VisitorType\n", "df_dropMonth = pd.get_dummies(df_dropMonth, columns=['VisitorType']) \n", "print(df_dropMonth.dtypes) \n", "\n", "# Split data into features (X) and target (y)\n", "X = df_dropMonth.drop(['Revenue'], axis=1)\n", "y = df_dropMonth['Revenue']\n", "\n", "# Split data into training and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modelling 2" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RandomForestClassifier(max_depth=7, n_estimators=171, random_state=42)\n", "Accuracy: 0.88\n", "Precision: 0.76\n", "Recall: 0.45\n", " precision recall f1-score support\n", "\n", " False 0.90 0.97 0.93 2055\n", " True 0.76 0.45 0.56 411\n", "\n", " accuracy 0.88 2466\n", " macro avg 0.83 0.71 0.75 2466\n", "weighted avg 0.87 0.88 0.87 2466\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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4YYbFBoaqsjISA0ePFj79+93aDNq1ChZLBaHo2fPng5tysvLNW7cOEVERCgkJESDBg3S0aNHPR4vCQEAwBzODxm4c7jg448/1mOPPaatW7cqMzNTVVVVSk1NVWlpqUO7/v37Ky8vz36sW7fO4Xp6errWrFmj119/XZs2bVJJSYkGDBig6upqt38k/40hAwCASbg5h0Dn+hYXFzucDQwMVGBgYI3WGRkZDq+XLl2qyMhIZWVl6eabb3boHx0dXes7FhUVacmSJVqxYoX69u0rSVq5cqXi4uK0fv169evXz43P44gKAQAALoiLi5PVarUfM2fOrFO/oqIiSVJ4eLjD+Q0bNigyMlKdOnXSmDFjVFBQYL+WlZWlyspKpaam2s/FxsYqISFBmzdv9sCn+REVAgCAOXholUFubq7CwsLsp2urDtTsamjChAn62c9+poSEBPv5tLQ03XvvvYqPj1dOTo6efvpp3XrrrcrKylJgYKDy8/MVEBCgli1bOtwvKipK+fn5l/5ZakFCAAAwB5uh82X/S+8vhYWFOSQEdfH444/riy++0KZNmxzO33ffffY/JyQkqHv37oqPj9e7776rIUOGXPB+hmHIYnFn28WaGDIAAKAejRs3Tm+//bY++ugjtWnTxmnbmJgYxcfH68CBA5Kk6OhoVVRUqLCw0KFdQUGBoqKiPBonCQEAwBwMm/uHK29nGHr88cf15ptv6sMPP1S7du0u2uf7779Xbm6uYmJiJEnJycny9/dXZmamvU1eXp52796tXr16ufb5L4IhAwCAOTTwToWPPfaYXnvtNb311lsKDQ21j/lbrVYFBwerpKRE06dP1z333KOYmBgdOnRITz31lCIiInT33Xfb244ePVoTJ05Uq1atFB4erkmTJikxMdG+6sBTSAgAAObgoTkEdbVw4UJJUu/evR3OL126VKNGjZKvr6927dqlV199VadOnVJMTIz69Omj1atXKzQ01N5+zpw58vPz09ChQ3X27FnddtttWrZsmXx9fS/9s9SChAAAgHpgXKSiEBwcrPfee++i9wkKCtK8efM0b948T4VWKxICAIA58HAjp0gIAADmYMjNhMBjkVyWWGUAAACoEAAATIIhA6dICAAA5mCzSXJtL4Ga/ZsuhgwAAAAVAgCASTBk4BQJAQDAHEgInGLIAAAAUCEAAJhEA29d3NiQEAAA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tW7d2v46KytLJSUlatWqlcN9zp49q6+//lqStG/fPj3yyCMO11NSUvTRRx/VGsO+fftUXl6u2267rc5xnzhxQrm5uRo9erTGjBljP19VVWWfn7Bv3z517dpVzZo1c4jDVR999JFmzJihvXv3qri4WFVVVSorK1NpaalCQkIkSX5+furevbu9z9VXX60WLVpo3759uvHGG5WVlaXPPvvMoSJQXV2tsrIynTlzxiFGAJcvEgI0WX369NHChQvl7++v2NjYGpMGz3/hnWez2RQTE6MNGzbUuNelLr0LDg52uY/NZpN0btigR48eDtd8fX0lSYZhXFI8/+3w4cO644479Mgjj+jZZ59VeHi4Nm3apNGjRzsMrUjnlg3+1PlzNptNzzzzjIYMGVKjTVBQkNtxAmgYJARoskJCQtShQ4c6t+/WrZvy8/Pl5+enK6+8stY2Xbp00datW/XAAw/Yz23duvWC9+zYsaOCg4P1wQcf6KGHHqpxPSAgQNK536jPi4qK0hVXXKFvvvlG999/f633veaaa7RixQqdPXvWnnQ4i6M227dvV1VVlV566SX5+JybTvTGG2/UaFdVVaXt27frxhtvlCTt379fp06d0tVXXy3p3M9t//79Lv2sAVx+SAiAH/Tt21cpKSkaPHiwZs2apc6dO+vYsWNat26dBg8erO7du+s3v/mNRo4cqe7du+tnP/uZVq1apT179qh9+/a13jMoKEhPPvmknnjiCQUEBOimm27SiRMntGfPHo0ePVqRkZEKDg5WRkaG2rRpo6CgIFmtVk2fPl3jx49XWFiY0tLSVF5eru3bt6uwsFATJkzQ8OHDNWXKFI0ePVq///3vdejQIf3v//6vS5/3qquuUlVVlebNm6eBAwfqP//5j/785z/XaOfv769x48bplVdekb+/vx5//HH17NnTniBMnTpVAwYMUFxcnO699175+Pjoiy++0K5du/Tcc8+5/h8CgFewygD4gcVi0bp163TzzTfrwQcfVKdOnTRs2DAdOnTIvirgvvvu09SpU/Xkk08qOTlZhw8f1qOPPur0vk8//bQmTpyoqVOnqkuXLrrvvvtUUFAg6dz4/CuvvKJFixYpNjZWd911lyTpoYce0l//+lctW7ZMiYmJuuWWW7Rs2TL7MsXmzZvrX//6l/bu3aukpCRNmTJFs2bNcunzXn/99Zo9e7ZmzZqlhIQErVq1SjNnzqzRrlmzZnryySc1fPhwpaSkKDg4WK+//rr9er9+/fTOO+8oMzNTN9xwg3r27KnZs2crPj7epXgAeJfF8MRgJAAAaNSoEAAAABICAABAQgAAAERCAAAAREIAAABEQgAAAERCAAAAREIAAABEQgAAAERCAAAAREIAAAAk/X+ZTzhvFOrWEwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "param_dist = {'n_estimators': randint(50,500), 'max_depth': randint(1,20)}\n", "\n", "# Create a random forest classifier\n", "rf_dropMonth = RandomForestClassifier(random_state=42)\n", "\n", "# Use random search to find the best hyperparameters\n", "random_search = RandomizedSearchCV(rf_dropMonth, param_distributions = param_dist, n_iter=5, cv=5, random_state=42)\n", "\n", "# Fit the random search object to the data\n", "random_search.fit(X_train, y_train)\n", "\n", "# Print the best estimator\n", "print(random_search.best_estimator_)\n", "\n", "# Save best parameters in variables \n", "best_estimator = random_search.best_estimator_ \n", "max_depth = best_estimator.max_depth\n", "n_estimators = best_estimator.n_estimators\n", "random_state = best_estimator.random_state\n", "\n", "rf_dropMonth = RandomForestClassifier(max_depth=max_depth, n_estimators=n_estimators, random_state=random_state)\n", "rf_dropMonth.fit(X_train, y_train)\n", "\n", "y_pred = rf_dropMonth.predict(X_test)\n", "\n", "# Calculate accuracy\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(f\"Accuracy: {accuracy:.2f}\")\n", "\n", "# Calculate precision \n", "precision = precision_score(y_test, y_pred) \n", "print(f\"Precision: {precision:.2f}\")\n", "\n", "# Calculate recall\n", "recall = recall_score(y_test, y_pred)\n", "print(f\"Recall: {recall:.2f}\")\n", "\n", "# Generate a comprehensive classification report\n", "report = classification_report(y_test, y_pred)\n", "print(report) \n", "\n", "# Create the confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot() " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['../src/model/lead-scoring-rf-dropMonth-v01.joblib']" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "save_dir = \"../src/model/\" \n", "\n", "# Save the trained model to the specified directory\n", "dump(rf, os.path.join(save_dir, \"lead-scoring-rf-dropMonth-v01.joblib\")) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: The accuracy and precision scores after dropping Month features are lower then the 1st attempt. Therefore the 1st random forest classifer will be used. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data preparation 3\n", "\n", "Data preparation is the same and based on model 1. \n", "\n", "## Modelling 3\n", "\n", "Recall score is low for model 1, using class_weight='balanced', rebuild the model and compare its performance. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RandomForestClassifier(class_weight='balanced', max_depth=19, n_estimators=264,\n", " random_state=42)\n", "Accuracy: 0.89\n", "Precision: 0.69\n", "Recall: 0.56\n", " precision recall f1-score support\n", "\n", " False 0.92 0.95 0.93 2055\n", " True 0.69 0.56 0.62 411\n", "\n", " accuracy 0.89 2466\n", " macro avg 0.81 0.76 0.78 2466\n", "weighted avg 0.88 0.89 0.88 2466\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAGwCAYAAADWsX1oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9/ElEQVR4nO3dfVxUdfr/8ffIzaAEo4DcFaKWmomZYim2laaplJrZpq5+Xd1Mt610XbVbvyXulmS7qaWbueaqqf20b5vWbi4bVlZmpqKYN6xpomKCWCEIKndzfn+YUxM4Ms4AMuf1fDzOY5lzPp8z17AkF9fn5lgMwzAEAABMrVF9BwAAAOofCQEAACAhAAAAJAQAAEAkBAAAQCQEAABAJAQAAECSf30H4Am73a5jx44pJCREFoulvsMBALjJMAydOnVKsbGxatSo9v5GPXv2rMrKyjy+T2BgoIKCgrwQ0eWnQScEx44dU1xcXH2HAQDwUE5Ojq666qpauffZs2fVKv4K5eVXenyv6OhoZWdn+2RS0KATgpCQEEnS4e0tFXoFox/wTfe07VjfIQC1pkLl2qh1jn/Pa0NZWZny8it1OKOlQkMu/XdF0Sm74hMPqaysjITgcnN+mCD0ikYe/Z8MXM78LQH1HQJQe37YPL8uhn2vCLHoipBLfx+7fHtoukEnBAAA1FSlYVelB0/vqTTs3gvmMkRCAAAwBbsM2XXpGYEnfRsC6uwAAIAKAQDAHOyyy5Oiv2e9L38kBAAAU6g0DFUal17296RvQ8CQAQAAoEIAADAHJhW6RkIAADAFuwxVkhBcEEMGAACACgEAwBwYMnCNhAAAYAqsMnCNIQMAAECFAABgDvYfDk/6+zISAgCAKVR6uMrAk74NAQkBAMAUKg15+LRD78VyOWIOAQAAoEIAADAH5hC4RkIAADAFuyyqlMWj/r6MIQMAAECFAABgDnbj3OFJf19GQgAAMIVKD4cMPOnbEDBkAAAAqBAAAMyBCoFrJAQAAFOwGxbZDQ9WGXjQtyFgyAAAAFAhAACYA0MGrpEQAABMoVKNVOlBYbzSi7FcjkgIAACmYHg4h8BgDgEAAPB1VAgAAKbAHALXSAgAAKZQaTRSpeHBHAIf37qYIQMAAECFAABgDnZZZPfg72C7fLtEQEIAADAF5hC4xpABAAC14JNPPtHAgQMVGxsri8WitWvXOl23WCzVHn/+858dbXr27Fnl+vDhw53uU1BQoFGjRslms8lms2nUqFE6efKk2/GSEAAATOH8pEJPDneUlJSoU6dOmj9/frXXc3NznY6///3vslgsuvfee53ajRs3zqndwoULna6PGDFCmZmZSktLU1pamjIzMzVq1Cj3vjliyAAAYBLn5hB48HAjN/smJycrOTn5gtejo6OdXr/zzjvq1auXWrdu7XS+SZMmVdqel5WVpbS0NG3evFndunWTJC1atEhJSUnat2+f2rVrV+N4qRAAAOCGoqIip6O0tNTjex4/flzvvfeexo4dW+XaypUrFRERoQ4dOmjq1Kk6deqU49rnn38um83mSAYkqXv37rLZbNq0aZNbMVAhAACYgt3DZxmcX2UQFxfndH769OlKSUnxJDQtW7ZMISEhGjJkiNP5kSNHqlWrVoqOjtbu3bv15JNPaufOnUpPT5ck5eXlKTIyssr9IiMjlZeX51YMJAQAAFPwfGOicwlBTk6OQkNDHeetVqvHsf3973/XyJEjFRQU5HR+3Lhxjq8TEhLUpk0bde3aVdu3b1eXLl0knZuc+HOGYVR73hUSAgCAKdjVyCv7EISGhjolBJ769NNPtW/fPq1evfqibbt06aKAgADt379fXbp0UXR0tI4fP16l3YkTJxQVFeVWHMwhAACgHi1evFiJiYnq1KnTRdvu2bNH5eXliomJkSQlJSWpsLBQW7ZscbT54osvVFhYqB49ergVBxUCAIApVBoWVXrwCGN3+xYXF+vAgQOO19nZ2crMzFRYWJhatGgh6dwExf/7v//Tiy++WKX/119/rZUrV+rOO+9URESE9u7dqylTpqhz5866+eabJUnt27dX//79NW7cOMdyxPHjx2vAgAFurTCQSAgAACZR6eGkwko3ty7etm2bevXq5Xg9efJkSdLo0aO1dOlSSdKqVatkGIZ+9atfVekfGBioDz74QC+99JKKi4sVFxenu+66S9OnT5efn5+j3cqVKzVx4kT17dtXkjRo0KAL7n3gisUwjAa7OXNRUZFsNpsKvmqt0BBGP+Cb+sXeUN8hALWmwijXBr2jwsJCr47L/9T53xVLd3RSkxC/i3e4gNOnKjWm885ajbU+USEAAJiC3WgkuwerDOwN9+/nGiEhAACYQl0PGTQ01NkBAAAVAgCAOdjl/kqBn/f3ZSQEAABT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f/1rx7nNmzdf8J5t2rRR48aN9cEHH+iBBx6ocj0wMFDSub+oz4uKitKVV16pgwcPauTIkdXe97rrrtPy5ct15swZR9LhKo7qbNu2TRUVFXrxxRfVqNG56URvvvlmlXYVFRXatm2bbrrpJknSvn37dPLkSV177bWSzn3f9u3b59b3GsDlh4QA+EGfPn2UlJSkwYMHa9asWWrXrp2OHTumdevWafDgweratat+//vfa/To0eratat+8YtfaOXKldqzZ49at25d7T2DgoL0+OOP67HHHlNgYKBuvvlmnThxQnv27NHYsWMVGRmpxo0bKy0tTVdddZWCgoJks9mUkpKiiRMnKjQ0VMnJySotLdW2bdtUUFCgyZMna8SIEZo2bZrGjh2r//3f/9WhQ4f0l7/8xa3Pe/XVV6uiokLz5s3TwIED9dlnn+nVV1+t0i4gIEATJkzQyy+/rICAAD3yyCPq3r27I0F45plnNGDAAMXFxem+++5To0aN9OWXX2rXrl169tln3f8/AkC9YJUB8AOLxaJ169bp1ltv1f3336+2bdtq+PDhOnTokGNVwLBhw/TMM8/o8ccfV2Jiog4fPqzf/e53Lu/79NNPa8qUKXrmmWfUvn17DRs2TPn5+ZLOjc+//PLLWrhwoWJjY3X33XdLkh544AG99tprWrp0qTp27KjbbrtNS5cudSxTvOKKK/TPf/5Te/fuVefOnTVt2jTNmjXLrc97ww03aPbs2Zo1a5YSEhK0cuVKpaamVmnXpEkTPf744xoxYoSSkpLUuHFjrVq1ynG9X79++te//qX09HTdeOON6t69u2bPnq34+Hi34gFQvyyGNwYjAQBAg0aFAAAAkBAAAAASAgAAIBICAAAgEgIAACASAgAAIBICAAAgEgIAACASAgAAIBICAAAgEgIAACDp/wOAN9Gc+omDqgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "param_dist = {'n_estimators': randint(50,500), 'max_depth': randint(1,20)}\n", "\n", "# Create a random forest classifier\n", "rf_bal = RandomForestClassifier(random_state=42, class_weight='balanced')\n", "\n", "# Use random search to find the best hyperparameters\n", "random_search = RandomizedSearchCV(rf_bal, param_distributions = param_dist, n_iter=5, cv=5, random_state=42)\n", "\n", "# Fit the random search object to the data\n", "random_search.fit(X_train, y_train)\n", "\n", "# Print the best estimator\n", "print(random_search.best_estimator_)\n", "\n", "# Save best parameters in variables \n", "best_estimator = random_search.best_estimator_ \n", "max_depth = best_estimator.max_depth\n", "n_estimators = best_estimator.n_estimators\n", "random_state = best_estimator.random_state\n", "\n", "rf_bal = RandomForestClassifier(max_depth=max_depth, n_estimators=n_estimators, random_state=random_state, class_weight='balanced')\n", "rf_bal.fit(X_train, y_train)\n", "\n", "save_dir = \"../src/model/\" \n", "\n", "# Save the trained model to the specified directory\n", "dump(rf_bal, os.path.join(save_dir, \"lead-scoring-rf-balanced-v01.joblib\")) \n", "\n", "y_pred = rf_bal.predict(X_test)\n", "\n", "# Calculate accuracy\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(f\"Accuracy: {accuracy:.2f}\")\n", "\n", "# Calculate precision \n", "precision = precision_score(y_test, y_pred) \n", "print(f\"Precision: {precision:.2f}\")\n", "\n", "# Calculate recall\n", "recall = recall_score(y_test, y_pred)\n", "print(f\"Recall: {recall:.2f}\")\n", "\n", "# Generate a comprehensive classification report\n", "report = classification_report(y_test, y_pred)\n", "print(report) \n", "\n", "# Create the confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: Model 3 provides a higher recall score but a lower precision score, indicating this model is having a better ability to identify true positives. This is important for this business case as to identify potental customers. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data preparation 4\n", "\n", "Data preparation is the same and based on model 1. \n", "\n", "## Modelling 4\n", "\n", "Recall score is low for model 1, using grid search with recall as scoring parameter. Rebuild the model and compare its performance. \n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 5 folds for each of 225 candidates, totalling 1125 fits\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 2.4s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 2.4s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.3s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=None, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.3s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.2s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.3s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=6, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.4s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.4s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.4s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.5s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.6s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=8, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.6s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 2.1s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=10, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=2, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=238; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=240; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.2s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=5, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=1, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.1s\n", "[CV] END max_depth=12, min_samples_leaf=2, min_samples_split=10, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=2, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=5, n_estimators=245; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=230; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=235; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=238; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 2.0s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=240; total time= 1.9s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.8s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "[CV] END max_depth=12, min_samples_leaf=4, min_samples_split=10, n_estimators=245; total time= 1.7s\n", "Accuracy: 0.87\n", "Precision: 0.59\n", "Recall: 0.81\n", " precision recall f1-score support\n", "\n", " False 0.96 0.89 0.92 2055\n", " True 0.59 0.81 0.68 411\n", "\n", " accuracy 0.87 2466\n", " macro avg 0.77 0.85 0.80 2466\n", "weighted avg 0.90 0.87 0.88 2466\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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fn6+ERgYaCxduvSycWZlZRmAsXfvXofz8fHxxqpVqxzOPf/880ZSUpJhGIaxZMkSIyIiwigsLDSvL168+LJj/VizZs2MefPmXfH622+/bURGRpqv33jjDQMwduzYYZ47ePCgARg7d+40DMMwfvaznxmpqakO46xYscJo3Lix+Row1qxZc8WfKyK1T2sIpN765z//SYMGDSgvL6esrIxhw4axYMEC83qzZs247rrrzNcZGRkUFBQQGRnpME5RURFffvklAAcPHuThhx92uJ6UlMQHH3xw2RgOHjxISUkJvXv3rnLcp0+f5vjx44wdO5Zx48aZ58vLy831CQcPHqRDhw6EhIQ4xOGqDz74gNTUVA4cOEB+fj7l5eUUFxdTWFhIaGgoAH5+fnTu3Nnsc/PNN9OwYUMOHjzI7bffTkZGBh9//LFDRaCiooLi4mLOnz/vEKOIXLuUEEi91atXLxYvXoy/vz9xcXGVFg1e/MC7yG6307hxYz788MNKY13t1rvg4GCX+9jtduDCtEFiYqLDNV9fXwAMw7iqeH7s6NGj3HXXXTz88MM8//zzREREsHXrVsaOHeswtQIXtg1e6uI5u93Os88+y4gRIyq1CQoKcjtOEakZSgik3goNDeXGG2+scvvbbruNnJwc/Pz8aN68+WXbtGnThh07dnD//feb53bs2HHFMVu1akVwcDD/+c9/ePDBBytdDwgIAC58o74oJiaG66+/nq+++or77rvvsuO2bduWFStWUFRUZCYdzuK4nN27d1NeXs7LL7+Mj8+F5URvv/12pXbl5eXs3r2b22+/HYBDhw5x9uxZbr75ZuDC7+3QoUMu/a5F5NqjhEDke3369CEpKYnhw4czZ84cWrduzTfffMO7777L8OHD6dy5M48//jhjxoyhc+fOdO/enTfffJP9+/fTsmXLy44ZFBTEE088wfTp0wkICOCOO+7g9OnT7N+/n7FjxxIdHU1wcDDr16+nSZMmBAUFYbVamTVrFpMmTSI8PJyBAwdSUlLC7t27ycvLY/LkyYwePZqZM2cyduxYfv/73/P111/zxz/+0aX3e8MNN1BeXs6CBQsYMmQI//3vf3nttdcqtfP392fixIm8+uqr+Pv789hjj9G1a1czQXj66acZPHgw8fHx3HPPPfj4+PDpp5/y2Wef8cILL7j+H0JEaoV2GYh8z2Kx8O6773LnnXfym9/8hptuuolRo0bx9ddfm7sC7r33Xp5++mmeeOIJEhISOHr0KI888ojTcZ966immTJnC008/TZs2bbj33nvJzc0FLszPv/rqqyxZsoS4uDiGDRsGwIMPPsif//xn0tPTad++PT169CA9Pd3cptigQQPWrVvHgQMH6NSpEzNnzmTOnDkuvd+OHTsyd+5c5syZQ7t27XjzzTdJS0ur1C4kJIQnnniC0aNHk5SURHBwMKtXrzav9+/fn3/+859s3LiRLl260LVrV+bOnUuzZs1cikdEapfF8MRkpIiIiNRpqhCIiIiIEgIRERFRQiAiIiIoIRARERGUEIiIiAhKCERERAQlBCIiIoISAhEREUEJgYiIiKCEQERERFBCICIiIsD/B9c8x0kF21OfAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a random forest classifier\n", "rf_recall = RandomForestClassifier(random_state=42, class_weight='balanced')\n", "\n", "# Define the parameter grid\n", "param_grid = {'n_estimators': [230, 235, 238, 240, 245], 'max_depth': [None, 6, 8, 10, 12], 'min_samples_split': [2, 5, 10], 'min_samples_leaf': [1, 2, 4]}\n", "\n", "# Create a GridSearchCV object with 'recall' as the scoring metric\n", "rf_grid_search = GridSearchCV(estimator=rf_recall, param_grid=param_grid, cv=5, scoring='recall', n_jobs=-1, verbose=2)\n", "\n", "# Fit the GridSearchCV object to the training data\n", "rf_grid_search.fit(X_train, y_train)\n", "\n", "save_dir = \"../src/model/\" \n", "\n", "# Save the trained model to the specified directory\n", "dump(rf_grid_search, os.path.join(save_dir, \"lead-scoring-rf-gridrecall-v01.joblib\")) \n", "\n", "y_pred = rf_grid_search.predict(X_test)\n", "\n", "# Calculate accuracy\n", "accuracy = accuracy_score(y_test, y_pred)\n", "print(f\"Accuracy: {accuracy:.2f}\")\n", "\n", "# Calculate precision \n", "precision = precision_score(y_test, y_pred) \n", "print(f\"Precision: {precision:.2f}\")\n", "\n", "# Calculate recall\n", "recall = recall_score(y_test, y_pred)\n", "print(f\"Recall: {recall:.2f}\")\n", "\n", "# Generate a comprehensive classification report\n", "report = classification_report(y_test, y_pred)\n", "print(report) \n", "\n", "# Create the confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: This model is having the highest recall score, which focus on identifying maximum amount of true positives -- identify as much true positive potential customers as possible. The trade of is lowered the precision score, where more false positive is identified. \n", "\n", "Considering the business case of retargeting customers, not missing true positives are the most important, and considering acceptable with some marketing efforts were spent on customers who did not convert in the end. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Make predictions \n", "\n", "### Load the model" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Load the saved model \n", "rf = load(os.path.join(save_dir, \"lead-scoring-rf-gridrecall-v01.joblib\")) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### New data point -- Eve " ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "# Load the new data point \n", "data = '../src/data/new_data_point_eve.csv'\n", "X_test = pd.read_csv(data)\n", "\n", "# One-hot encoding for Month\n", "X_test = pd.get_dummies(X_test, columns=['Month'], dummy_na=False) \n", "\n", "# Define all possible months\n", "all_months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n", "\n", "# Add columns for missing months with initial values of False\n", "for month in all_months:\n", " if f'Month_{month}' not in X_test.columns:\n", " X_test[f'Month_{month}'] = False \n", "\n", "# One-hot encoding for VisitorType\n", "X_test = pd.get_dummies(X_test, columns=['VisitorType']) \n", "\n", "# Define all possible visitor \n", "all_visitors = ['Returning_Visitor' 'New_Visitor' 'Other']\n", "\n", "# Add columns for missing visitor with initial values of False\n", "if 'VisitorType_Returning_Visitor' not in X_test.columns:\n", " X_test['VisitorType_Returning_Visitor'] = False \n", "if 'VisitorType_New_Visitor' not in X_test.columns:\n", " X_test['VisitorType_New_Visitor'] = False \n", "if 'VisitorType_Other' not in X_test.columns:\n", " X_test['VisitorType_Other'] = False " ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "Weekend bool\n", "Revenue bool\n", "Month_Aug bool\n", "Month_Dec bool\n", "Month_Feb bool\n", "Month_Jul bool\n", "Month_Jun bool\n", "Month_Mar bool\n", "Month_May bool\n", "Month_Nov bool\n", "Month_Oct bool\n", "Month_Sep bool\n", "Month_Jan bool\n", "Month_Apr bool\n", "VisitorType_New_Visitor bool\n", "VisitorType_Other bool\n", "VisitorType_Returning_Visitor bool\n", "dtype: object\n" ] } ], "source": [ "# Fixing feature order\n", "# Get feature names from the trained model\n", "train_features = rf.feature_names_in_ \n", "\n", "# Reorder X_test features to match training order\n", "X_test = X_test[train_features]\n", "\n", "# Make predictions\n", "y_pred = rf.predict(X_test)\n", "\n", "print(df.dtypes) " ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "y_proba = rf.predict_proba(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Prediction -- Eve " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[False]\n", "[[0.88160444 0.11839556]]\n" ] } ], "source": [ "print(y_pred)\n", "print(y_proba)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: The random forest classification model predits Revenue is False with a probability of 88% -- Eve is a cold lead. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### New data point -- Jezebel " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# Load the new data point \n", "data = '../src/data/new_data_point_jezebel.csv'\n", "X_test = pd.read_csv(data)\n", "\n", "# One-hot encoding for Month\n", "X_test = pd.get_dummies(X_test, columns=['Month'], dummy_na=False) \n", "\n", "# Define all possible months\n", "all_months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n", "\n", "# Add columns for missing months with initial values of False\n", "for month in all_months:\n", " if f'Month_{month}' not in X_test.columns:\n", " X_test[f'Month_{month}'] = False \n", "\n", "# One-hot encoding for VisitorType\n", "X_test = pd.get_dummies(X_test, columns=['VisitorType']) \n", "\n", "# Define all possible visitor \n", "all_visitors = ['Returning_Visitor' 'New_Visitor' 'Other']\n", "\n", "# Add columns for missing visitor with initial values of False\n", "if 'VisitorType_Returning_Visitor' not in X_test.columns:\n", " X_test['VisitorType_Returning_Visitor'] = False \n", "if 'VisitorType_New_Visitor' not in X_test.columns:\n", " X_test['VisitorType_New_Visitor'] = False \n", "if 'VisitorType_Other' not in X_test.columns:\n", " X_test['VisitorType_Other'] = False " ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Administrative int64\n", "Administrative_Duration float64\n", "Informational int64\n", "Informational_Duration float64\n", "ProductRelated int64\n", "ProductRelated_Duration float64\n", "BounceRates float64\n", "ExitRates float64\n", "PageValues float64\n", "SpecialDay float64\n", "OperatingSystems int64\n", "Browser int64\n", "Region int64\n", "TrafficType int64\n", "Weekend bool\n", "Revenue bool\n", "Month_Aug bool\n", "Month_Dec bool\n", "Month_Feb bool\n", "Month_Jul bool\n", "Month_Jun bool\n", "Month_Mar bool\n", "Month_May bool\n", "Month_Nov bool\n", "Month_Oct bool\n", "Month_Sep bool\n", "Month_Jan bool\n", "Month_Apr bool\n", "VisitorType_New_Visitor bool\n", "VisitorType_Other bool\n", "VisitorType_Returning_Visitor bool\n", "dtype: object\n" ] } ], "source": [ "# Fixing feature order\n", "# Get feature names from the trained model\n", "train_features = rf.feature_names_in_ \n", "\n", "# Reorder X_test features to match training order\n", "X_test = X_test[train_features]\n", "\n", "# Make predictions\n", "y_pred = rf.predict(X_test)\n", "\n", "print(df.dtypes) " ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "y_proba = rf.predict_proba(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Prediction -- Jezebel " ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ True]\n", "[[0.27524375 0.72475625]]\n" ] } ], "source": [ "print(y_pred)\n", "print(y_proba)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comment: The random forest classification model predits Revenue is True with a probability of 72% -- Jezebel is a hot lead. " ] } ], "metadata": { "kernelspec": { "display_name": "base", "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.11.11" } }, "nbformat": 4, "nbformat_minor": 2 }