{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# PyCaret 2.0x New Features"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#pip install pycaret-nightly"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pycaret-nightly-0.26\n"
]
}
],
"source": [
"from pycaret.utils import version\n",
"version()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Id | \n",
" Purchase | \n",
" WeekofPurchase | \n",
" StoreID | \n",
" PriceCH | \n",
" PriceMM | \n",
" DiscCH | \n",
" DiscMM | \n",
" SpecialCH | \n",
" SpecialMM | \n",
" LoyalCH | \n",
" SalePriceMM | \n",
" SalePriceCH | \n",
" PriceDiff | \n",
" Store7 | \n",
" PctDiscMM | \n",
" PctDiscCH | \n",
" ListPriceDiff | \n",
" STORE | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" CH | \n",
" 237 | \n",
" 1 | \n",
" 1.75 | \n",
" 1.99 | \n",
" 0.00 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 0.500000 | \n",
" 1.99 | \n",
" 1.75 | \n",
" 0.24 | \n",
" No | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.24 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" CH | \n",
" 239 | \n",
" 1 | \n",
" 1.75 | \n",
" 1.99 | \n",
" 0.00 | \n",
" 0.3 | \n",
" 0 | \n",
" 1 | \n",
" 0.600000 | \n",
" 1.69 | \n",
" 1.75 | \n",
" -0.06 | \n",
" No | \n",
" 0.150754 | \n",
" 0.000000 | \n",
" 0.24 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" CH | \n",
" 245 | \n",
" 1 | \n",
" 1.86 | \n",
" 2.09 | \n",
" 0.17 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 0.680000 | \n",
" 2.09 | \n",
" 1.69 | \n",
" 0.40 | \n",
" No | \n",
" 0.000000 | \n",
" 0.091398 | \n",
" 0.23 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 4 | \n",
" MM | \n",
" 227 | \n",
" 1 | \n",
" 1.69 | \n",
" 1.69 | \n",
" 0.00 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 0.400000 | \n",
" 1.69 | \n",
" 1.69 | \n",
" 0.00 | \n",
" No | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.00 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 5 | \n",
" CH | \n",
" 228 | \n",
" 7 | \n",
" 1.69 | \n",
" 1.69 | \n",
" 0.00 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 0.956535 | \n",
" 1.69 | \n",
" 1.69 | \n",
" 0.00 | \n",
" Yes | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.00 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Id Purchase WeekofPurchase StoreID PriceCH PriceMM DiscCH DiscMM \\\n",
"0 1 CH 237 1 1.75 1.99 0.00 0.0 \n",
"1 2 CH 239 1 1.75 1.99 0.00 0.3 \n",
"2 3 CH 245 1 1.86 2.09 0.17 0.0 \n",
"3 4 MM 227 1 1.69 1.69 0.00 0.0 \n",
"4 5 CH 228 7 1.69 1.69 0.00 0.0 \n",
"\n",
" SpecialCH SpecialMM LoyalCH SalePriceMM SalePriceCH PriceDiff Store7 \\\n",
"0 0 0 0.500000 1.99 1.75 0.24 No \n",
"1 0 1 0.600000 1.69 1.75 -0.06 No \n",
"2 0 0 0.680000 2.09 1.69 0.40 No \n",
"3 0 0 0.400000 1.69 1.69 0.00 No \n",
"4 0 0 0.956535 1.69 1.69 0.00 Yes \n",
"\n",
" PctDiscMM PctDiscCH ListPriceDiff STORE \n",
"0 0.000000 0.000000 0.24 1 \n",
"1 0.150754 0.000000 0.24 1 \n",
"2 0.000000 0.091398 0.23 1 \n",
"3 0.000000 0.000000 0.00 1 \n",
"4 0.000000 0.000000 0.00 0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pycaret.datasets import get_data\n",
"data = get_data('juice')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Setup Succesfully Completed!\n"
]
},
{
"data": {
"text/html": [
" | Description | Value |
\n",
" \n",
" 0 | \n",
" session_id | \n",
" 7267 | \n",
"
\n",
" \n",
" 1 | \n",
" Target Type | \n",
" Binary | \n",
"
\n",
" \n",
" 2 | \n",
" Label Encoded | \n",
" CH: 0, MM: 1 | \n",
"
\n",
" \n",
" 3 | \n",
" Original Data | \n",
" (1070, 19) | \n",
"
\n",
" \n",
" 4 | \n",
" Missing Values | \n",
" False | \n",
"
\n",
" \n",
" 5 | \n",
" Numeric Features | \n",
" 13 | \n",
"
\n",
" \n",
" 6 | \n",
" Categorical Features | \n",
" 5 | \n",
"
\n",
" \n",
" 7 | \n",
" Ordinal Features | \n",
" False | \n",
"
\n",
" \n",
" 8 | \n",
" High Cardinality Features | \n",
" False | \n",
"
\n",
" \n",
" 9 | \n",
" High Cardinality Method | \n",
" None | \n",
"
\n",
" \n",
" 10 | \n",
" Sampled Data | \n",
" (1070, 19) | \n",
"
\n",
" \n",
" 11 | \n",
" Transformed Train Set | \n",
" (748, 16) | \n",
"
\n",
" \n",
" 12 | \n",
" Transformed Test Set | \n",
" (322, 16) | \n",
"
\n",
" \n",
" 13 | \n",
" Numeric Imputer | \n",
" mean | \n",
"
\n",
" \n",
" 14 | \n",
" Categorical Imputer | \n",
" constant | \n",
"
\n",
" \n",
" 15 | \n",
" Normalize | \n",
" False | \n",
"
\n",
" \n",
" 16 | \n",
" Normalize Method | \n",
" None | \n",
"
\n",
" \n",
" 17 | \n",
" Transformation | \n",
" False | \n",
"
\n",
" \n",
" 18 | \n",
" Transformation Method | \n",
" None | \n",
"
\n",
" \n",
" 19 | \n",
" PCA | \n",
" False | \n",
"
\n",
" \n",
" 20 | \n",
" PCA Method | \n",
" None | \n",
"
\n",
" \n",
" 21 | \n",
" PCA Components | \n",
" None | \n",
"
\n",
" \n",
" 22 | \n",
" Ignore Low Variance | \n",
" False | \n",
"
\n",
" \n",
" 23 | \n",
" Combine Rare Levels | \n",
" False | \n",
"
\n",
" \n",
" 24 | \n",
" Rare Level Threshold | \n",
" None | \n",
"
\n",
" \n",
" 25 | \n",
" Numeric Binning | \n",
" False | \n",
"
\n",
" \n",
" 26 | \n",
" Remove Outliers | \n",
" False | \n",
"
\n",
" \n",
" 27 | \n",
" Outliers Threshold | \n",
" None | \n",
"
\n",
" \n",
" 28 | \n",
" Remove Multicollinearity | \n",
" False | \n",
"
\n",
" \n",
" 29 | \n",
" Multicollinearity Threshold | \n",
" None | \n",
"
\n",
" \n",
" 30 | \n",
" Clustering | \n",
" False | \n",
"
\n",
" \n",
" 31 | \n",
" Clustering Iteration | \n",
" None | \n",
"
\n",
" \n",
" 32 | \n",
" Polynomial Features | \n",
" False | \n",
"
\n",
" \n",
" 33 | \n",
" Polynomial Degree | \n",
" None | \n",
"
\n",
" \n",
" 34 | \n",
" Trignometry Features | \n",
" False | \n",
"
\n",
" \n",
" 35 | \n",
" Polynomial Threshold | \n",
" None | \n",
"
\n",
" \n",
" 36 | \n",
" Group Features | \n",
" False | \n",
"
\n",
" \n",
" 37 | \n",
" Feature Selection | \n",
" False | \n",
"
\n",
" \n",
" 38 | \n",
" Features Selection Threshold | \n",
" None | \n",
"
\n",
" \n",
" 39 | \n",
" Feature Interaction | \n",
" False | \n",
"
\n",
" \n",
" 40 | \n",
" Feature Ratio | \n",
" False | \n",
"
\n",
" \n",
" 41 | \n",
" Interaction Threshold | \n",
" None | \n",
"
\n",
" \n",
" 42 | \n",
" Fix Imbalance | \n",
" False | \n",
"
\n",
" \n",
" 43 | \n",
" Fix Imbalance Method | \n",
" SMOTE | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pycaret.classification import *\n",
"clf1 = setup(data, target = 'Purchase', session_id=7267, log_experiment=True, experiment_name='pycaret2-juice')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1. Behavior of compare_models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.1 Default"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" | Model | Accuracy | AUC | Recall | Prec. | F1 | Kappa | MCC | TT (Sec) |
\n",
" \n",
" 0 | \n",
" Linear Discriminant Analysis | \n",
" 0.8383 | \n",
" 0.9083 | \n",
" 0.7978 | \n",
" 0.7933 | \n",
" 0.7934 | \n",
" 0.6607 | \n",
" 0.6632 | \n",
" 0.0161 | \n",
"
\n",
" \n",
" 1 | \n",
" Ridge Classifier | \n",
" 0.8356 | \n",
" 0.0000 | \n",
" 0.7979 | \n",
" 0.7873 | \n",
" 0.7907 | \n",
" 0.6555 | \n",
" 0.6578 | \n",
" 0.0295 | \n",
"
\n",
" \n",
" 2 | \n",
" Ada Boost Classifier | \n",
" 0.8276 | \n",
" 0.8913 | \n",
" 0.7637 | \n",
" 0.7922 | \n",
" 0.7760 | \n",
" 0.6360 | \n",
" 0.6380 | \n",
" 0.2087 | \n",
"
\n",
" \n",
" 3 | \n",
" CatBoost Classifier | \n",
" 0.8223 | \n",
" 0.9026 | \n",
" 0.7502 | \n",
" 0.7884 | \n",
" 0.7672 | \n",
" 0.6238 | \n",
" 0.6261 | \n",
" 5.0027 | \n",
"
\n",
" \n",
" 4 | \n",
" Logistic Regression | \n",
" 0.8222 | \n",
" 0.9071 | \n",
" 0.7430 | \n",
" 0.7927 | \n",
" 0.7643 | \n",
" 0.6221 | \n",
" 0.6255 | \n",
" 0.1138 | \n",
"
\n",
" \n",
" 5 | \n",
" Gradient Boosting Classifier | \n",
" 0.8222 | \n",
" 0.8967 | \n",
" 0.7637 | \n",
" 0.7777 | \n",
" 0.7697 | \n",
" 0.6251 | \n",
" 0.6261 | \n",
" 0.2643 | \n",
"
\n",
" \n",
" 6 | \n",
" Light Gradient Boosting Machine | \n",
" 0.8089 | \n",
" 0.8865 | \n",
" 0.7469 | \n",
" 0.7609 | \n",
" 0.7529 | \n",
" 0.5973 | \n",
" 0.5982 | \n",
" 0.3430 | \n",
"
\n",
" \n",
" 7 | \n",
" Random Forest Classifier | \n",
" 0.8035 | \n",
" 0.8672 | \n",
" 0.7163 | \n",
" 0.7672 | \n",
" 0.7393 | \n",
" 0.5824 | \n",
" 0.5847 | \n",
" 0.1235 | \n",
"
\n",
" \n",
" 8 | \n",
" Extreme Gradient Boosting | \n",
" 0.8035 | \n",
" 0.8776 | \n",
" 0.7464 | \n",
" 0.7533 | \n",
" 0.7480 | \n",
" 0.5872 | \n",
" 0.5892 | \n",
" 0.2332 | \n",
"
\n",
" \n",
" 9 | \n",
" Extra Trees Classifier | \n",
" 0.7981 | \n",
" 0.8468 | \n",
" 0.7159 | \n",
" 0.7558 | \n",
" 0.7343 | \n",
" 0.5718 | \n",
" 0.5734 | \n",
" 0.3468 | \n",
"
\n",
" \n",
" 10 | \n",
" Naive Bayes | \n",
" 0.7859 | \n",
" 0.8488 | \n",
" 0.8185 | \n",
" 0.6920 | \n",
" 0.7493 | \n",
" 0.5649 | \n",
" 0.5718 | \n",
" 0.0068 | \n",
"
\n",
" \n",
" 11 | \n",
" Decision Tree Classifier | \n",
" 0.7566 | \n",
" 0.7429 | \n",
" 0.6780 | \n",
" 0.6942 | \n",
" 0.6847 | \n",
" 0.4869 | \n",
" 0.4881 | \n",
" 0.0181 | \n",
"
\n",
" \n",
" 12 | \n",
" K Neighbors Classifier | \n",
" 0.7393 | \n",
" 0.7890 | \n",
" 0.6098 | \n",
" 0.6910 | \n",
" 0.6447 | \n",
" 0.4409 | \n",
" 0.4454 | \n",
" 0.0138 | \n",
"
\n",
" \n",
" 13 | \n",
" Quadratic Discriminant Analysis | \n",
" 0.7286 | \n",
" 0.7917 | \n",
" 0.6844 | \n",
" 0.6699 | \n",
" 0.6460 | \n",
" 0.4340 | \n",
" 0.4504 | \n",
" 0.0121 | \n",
"
\n",
" \n",
" 14 | \n",
" SVM - Linear Kernel | \n",
" 0.5643 | \n",
" 0.0000 | \n",
" 0.2000 | \n",
" 0.0773 | \n",
" 0.1115 | \n",
" 0.0000 | \n",
" 0.0000 | \n",
" 0.0319 | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"best_model = compare_models()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearDiscriminantAnalysis(n_components=None, priors=None, shrinkage=None,\n",
" solver='svd', store_covariance=False, tol=0.0001)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"best_model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.2 n_select parameter"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"top5 = compare_models(n_select=5)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.1, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.3 Whitelist parameter"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" | Model | Accuracy | AUC | Recall | Prec. | F1 | Kappa | MCC | TT (Sec) |
\n",
" \n",
" 0 | \n",
" Light Gradient Boosting Machine | \n",
" 0.8089 | \n",
" 0.8865 | \n",
" 0.7469 | \n",
" 0.7609 | \n",
" 0.7529 | \n",
" 0.5973 | \n",
" 0.5982 | \n",
" 0.3285 | \n",
"
\n",
" \n",
" 1 | \n",
" Random Forest Classifier | \n",
" 0.8035 | \n",
" 0.8672 | \n",
" 0.7163 | \n",
" 0.7672 | \n",
" 0.7393 | \n",
" 0.5824 | \n",
" 0.5847 | \n",
" 0.1270 | \n",
"
\n",
" \n",
" 2 | \n",
" Extreme Gradient Boosting | \n",
" 0.8035 | \n",
" 0.8776 | \n",
" 0.7464 | \n",
" 0.7533 | \n",
" 0.7480 | \n",
" 0.5872 | \n",
" 0.5892 | \n",
" 0.2405 | \n",
"
\n",
" \n",
" 3 | \n",
" Decision Tree Classifier | \n",
" 0.7566 | \n",
" 0.7429 | \n",
" 0.6780 | \n",
" 0.6942 | \n",
" 0.6847 | \n",
" 0.4869 | \n",
" 0.4881 | \n",
" 0.0081 | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"w = compare_models(whitelist=['dt','rf','xgboost','lightgbm'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2. Behavior of tune_model"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" | Accuracy | AUC | Recall | Prec. | F1 | Kappa | MCC |
\n",
" \n",
" 0 | \n",
" 0.8400 | \n",
" 0.9445 | \n",
" 0.7241 | \n",
" 0.8400 | \n",
" 0.7778 | \n",
" 0.6538 | \n",
" 0.6582 | \n",
"
\n",
" \n",
" 1 | \n",
" 0.7867 | \n",
" 0.8621 | \n",
" 0.6552 | \n",
" 0.7600 | \n",
" 0.7037 | \n",
" 0.5385 | \n",
" 0.5421 | \n",
"
\n",
" \n",
" 2 | \n",
" 0.8267 | \n",
" 0.8808 | \n",
" 0.7241 | \n",
" 0.8077 | \n",
" 0.7636 | \n",
" 0.6274 | \n",
" 0.6298 | \n",
"
\n",
" \n",
" 3 | \n",
" 0.8533 | \n",
" 0.9453 | \n",
" 0.8621 | \n",
" 0.7812 | \n",
" 0.8197 | \n",
" 0.6966 | \n",
" 0.6990 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.8000 | \n",
" 0.8808 | \n",
" 0.6552 | \n",
" 0.7917 | \n",
" 0.7170 | \n",
" 0.5645 | \n",
" 0.5705 | \n",
"
\n",
" \n",
" 5 | \n",
" 0.8133 | \n",
" 0.9220 | \n",
" 0.7241 | \n",
" 0.7778 | \n",
" 0.7500 | \n",
" 0.6014 | \n",
" 0.6023 | \n",
"
\n",
" \n",
" 6 | \n",
" 0.8267 | \n",
" 0.8830 | \n",
" 0.7000 | \n",
" 0.8400 | \n",
" 0.7636 | \n",
" 0.6286 | \n",
" 0.6351 | \n",
"
\n",
" \n",
" 7 | \n",
" 0.8133 | \n",
" 0.9178 | \n",
" 0.7000 | \n",
" 0.8077 | \n",
" 0.7500 | \n",
" 0.6023 | \n",
" 0.6062 | \n",
"
\n",
" \n",
" 8 | \n",
" 0.8378 | \n",
" 0.8720 | \n",
" 0.7586 | \n",
" 0.8148 | \n",
" 0.7857 | \n",
" 0.6555 | \n",
" 0.6566 | \n",
"
\n",
" \n",
" 9 | \n",
" 0.8108 | \n",
" 0.9069 | \n",
" 0.6897 | \n",
" 0.8000 | \n",
" 0.7407 | \n",
" 0.5931 | \n",
" 0.5971 | \n",
"
\n",
" \n",
" Mean | \n",
" 0.8209 | \n",
" 0.9015 | \n",
" 0.7193 | \n",
" 0.8021 | \n",
" 0.7572 | \n",
" 0.6162 | \n",
" 0.6197 | \n",
"
\n",
" \n",
" SD | \n",
" 0.0190 | \n",
" 0.0285 | \n",
" 0.0564 | \n",
" 0.0245 | \n",
" 0.0317 | \n",
" 0.0440 | \n",
" 0.0435 | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"tuned_best_model = tune_model(best_model, optimize='Precision')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"tuned_best_model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 3. Train custom models"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from gplearn.genetic import SymbolicClassifier\n",
"sc = SymbolicClassifier()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a6d18eba3cf94413bed177e05628aec3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"IntProgress(value=0, description='Processing: ', max=9)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Initiated | \n",
" . . . . . . . . . . . . . . . . . . | \n",
" 12:55:14 | \n",
"
\n",
" \n",
" Status | \n",
" . . . . . . . . . . . . . . . . . . | \n",
" Creating Logs | \n",
"
\n",
" \n",
" ETC | \n",
" . . . . . . . . . . . . . . . . . . | \n",
" Almost Finished | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" \n",
" \n",
"Initiated . . . . . . . . . . . . . . . . . . 12:55:14\n",
"Status . . . . . . . . . . . . . . . . . . Creating Logs\n",
"ETC . . . . . . . . . . . . . . . . . . Almost Finished"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Accuracy | \n",
" AUC | \n",
" Recall | \n",
" Prec. | \n",
" F1 | \n",
" Kappa | \n",
" MCC | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0.8267 | \n",
" 0.9213 | \n",
" 0.7241 | \n",
" 0.8077 | \n",
" 0.7636 | \n",
" 0.6274 | \n",
" 0.6298 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Accuracy AUC Recall Prec. F1 Kappa MCC\n",
"0 0.8267 0.9213 0.7241 0.8077 0.7636 0.6274 0.6298"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0msc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcreate_model\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfold\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\pycaret\\classification.py\u001b[0m in \u001b[0;36mcreate_model\u001b[1;34m(estimator, ensemble, method, fold, round, cross_validation, verbose, system, **kwargs)\u001b[0m\n\u001b[0;32m 2422\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'predict_proba'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2423\u001b[0m \u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Fitting Model\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2424\u001b[1;33m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mXtrain\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mytrain\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2425\u001b[0m \u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Evaluating Metrics\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2426\u001b[0m \u001b[0mpred_prob\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict_proba\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mXtest\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\genetic.py\u001b[0m in \u001b[0;36mfit\u001b[1;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[0;32m 469\u001b[0m \u001b[0mseeds\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstarts\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mstarts\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 470\u001b[0m params)\n\u001b[1;32m--> 471\u001b[1;33m for i in range(n_jobs))\n\u001b[0m\u001b[0;32m 472\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 473\u001b[0m \u001b[1;31m# Reduce, maintaining order across different n_jobs\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\parallel.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 1027\u001b[0m \u001b[1;31m# remaining jobs.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1028\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_iterating\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1029\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdispatch_one_batch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1030\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_iterating\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_original_iterator\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1031\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\parallel.py\u001b[0m in \u001b[0;36mdispatch_one_batch\u001b[1;34m(self, iterator)\u001b[0m\n\u001b[0;32m 845\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 846\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 847\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_dispatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtasks\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 848\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 849\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\parallel.py\u001b[0m in \u001b[0;36m_dispatch\u001b[1;34m(self, batch)\u001b[0m\n\u001b[0;32m 763\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_lock\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 764\u001b[0m \u001b[0mjob_idx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_jobs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 765\u001b[1;33m \u001b[0mjob\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_backend\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapply_async\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbatch\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 766\u001b[0m \u001b[1;31m# A job can complete so quickly than its callback is\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 767\u001b[0m \u001b[1;31m# called before we get here, causing self._jobs to\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\_parallel_backends.py\u001b[0m in \u001b[0;36mapply_async\u001b[1;34m(self, func, callback)\u001b[0m\n\u001b[0;32m 204\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mapply_async\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 205\u001b[0m \u001b[1;34m\"\"\"Schedule a func to be run\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 206\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mImmediateResult\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 207\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 208\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\_parallel_backends.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, batch)\u001b[0m\n\u001b[0;32m 568\u001b[0m \u001b[1;31m# Don't delay the application, to avoid keeping the input\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 569\u001b[0m \u001b[1;31m# arguments in memory\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 570\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 571\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 572\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\parallel.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 251\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mparallel_backend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_backend\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_jobs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_n_jobs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 252\u001b[0m return [func(*args, **kwargs)\n\u001b[1;32m--> 253\u001b[1;33m for func, args, kwargs in self.items]\n\u001b[0m\u001b[0;32m 254\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 255\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__reduce__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\joblib\\parallel.py\u001b[0m in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 251\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mparallel_backend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_backend\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_jobs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_n_jobs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 252\u001b[0m return [func(*args, **kwargs)\n\u001b[1;32m--> 253\u001b[1;33m for func, args, kwargs in self.items]\n\u001b[0m\u001b[0;32m 254\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 255\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__reduce__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\genetic.py\u001b[0m in \u001b[0;36m_parallel_evolve\u001b[1;34m(n_programs, parents, X, y, sample_weight, seeds, params)\u001b[0m\n\u001b[0;32m 144\u001b[0m \u001b[0moob_sample_weight\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindices\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 145\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 146\u001b[1;33m \u001b[0mprogram\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mraw_fitness_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprogram\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mraw_fitness\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcurr_sample_weight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 147\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmax_samples\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0mn_samples\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 148\u001b[0m \u001b[1;31m# Calculate OOB fitness\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\_program.py\u001b[0m in \u001b[0;36mraw_fitness\u001b[1;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[0;32m 460\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 461\u001b[0m \"\"\"\n\u001b[1;32m--> 462\u001b[1;33m \u001b[0my_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 463\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtransformer\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 464\u001b[0m \u001b[0my_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtransformer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_pred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\_program.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, X)\u001b[0m\n\u001b[0;32m 378\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mt\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mt\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 379\u001b[0m else t for t in apply_stack[-1][1:]]\n\u001b[1;32m--> 380\u001b[1;33m \u001b[0mintermediate_result\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunction\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mterminals\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 381\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mapply_stack\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 382\u001b[0m \u001b[0mapply_stack\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\functions.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args)\u001b[0m\n\u001b[0;32m 44\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 45\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfunction\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 47\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\Anaconda3\\envs\\pycaret-nightly-env\\lib\\site-packages\\gplearn\\functions.py\u001b[0m in \u001b[0;36m_protected_division\u001b[1;34m(x1, x2)\u001b[0m\n\u001b[0;32m 125\u001b[0m \u001b[1;34m\"\"\"Closure of division (x1/x2) for zero denominator.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdivide\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'ignore'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minvalid\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'ignore'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 127\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwhere\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx2\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0.001\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdivide\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1.\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 128\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"sc = create_model(sc, fold=5)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"predict_model(sc);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_model(sc, plot = 'confusion_matrix')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_model(sc, plot = 'auc')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_model(sc, plot = 'threshold')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 4. Customize parameters in create_model"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" | Accuracy | AUC | Recall | Prec. | F1 | Kappa | MCC |
\n",
" \n",
" 0 | \n",
" 0.7867 | \n",
" 0.9078 | \n",
" 0.6552 | \n",
" 0.7600 | \n",
" 0.7037 | \n",
" 0.5385 | \n",
" 0.5421 | \n",
"
\n",
" \n",
" 1 | \n",
" 0.7867 | \n",
" 0.8741 | \n",
" 0.7586 | \n",
" 0.7097 | \n",
" 0.7333 | \n",
" 0.5559 | \n",
" 0.5567 | \n",
"
\n",
" \n",
" 2 | \n",
" 0.7600 | \n",
" 0.8501 | \n",
" 0.7241 | \n",
" 0.6774 | \n",
" 0.7000 | \n",
" 0.5004 | \n",
" 0.5011 | \n",
"
\n",
" \n",
" 3 | \n",
" 0.8800 | \n",
" 0.9175 | \n",
" 0.8621 | \n",
" 0.8333 | \n",
" 0.8475 | \n",
" 0.7486 | \n",
" 0.7489 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.8267 | \n",
" 0.8703 | \n",
" 0.7931 | \n",
" 0.7667 | \n",
" 0.7797 | \n",
" 0.6369 | \n",
" 0.6371 | \n",
"
\n",
" \n",
" 5 | \n",
" 0.8400 | \n",
" 0.9025 | \n",
" 0.7931 | \n",
" 0.7931 | \n",
" 0.7931 | \n",
" 0.6627 | \n",
" 0.6627 | \n",
"
\n",
" \n",
" 6 | \n",
" 0.7467 | \n",
" 0.8541 | \n",
" 0.6667 | \n",
" 0.6897 | \n",
" 0.6780 | \n",
" 0.4693 | \n",
" 0.4695 | \n",
"
\n",
" \n",
" 7 | \n",
" 0.8133 | \n",
" 0.9244 | \n",
" 0.7333 | \n",
" 0.7857 | \n",
" 0.7586 | \n",
" 0.6067 | \n",
" 0.6077 | \n",
"
\n",
" \n",
" 8 | \n",
" 0.8243 | \n",
" 0.8506 | \n",
" 0.7241 | \n",
" 0.8077 | \n",
" 0.7636 | \n",
" 0.6245 | \n",
" 0.6269 | \n",
"
\n",
" \n",
" 9 | \n",
" 0.8243 | \n",
" 0.9138 | \n",
" 0.7586 | \n",
" 0.7857 | \n",
" 0.7719 | \n",
" 0.6291 | \n",
" 0.6294 | \n",
"
\n",
" \n",
" Mean | \n",
" 0.8089 | \n",
" 0.8865 | \n",
" 0.7469 | \n",
" 0.7609 | \n",
" 0.7529 | \n",
" 0.5973 | \n",
" 0.5982 | \n",
"
\n",
" \n",
" SD | \n",
" 0.0375 | \n",
" 0.0282 | \n",
" 0.0582 | \n",
" 0.0494 | \n",
" 0.0480 | \n",
" 0.0784 | \n",
" 0.0782 | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lightgbm = create_model('lightgbm')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.1, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lightgbm"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"lgbms = []\n",
"\n",
"for i in np.arange(0.1,1,0.1):\n",
" m = create_model('lightgbm', learning_rate=i, verbose=False)\n",
" lgbms.append(m)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"9\n"
]
}
],
"source": [
"print(len(lgbms))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.1, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.2, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.30000000000000004,\n",
" max_depth=-1, min_child_samples=20, min_child_weight=0.001,\n",
" min_split_gain=0.0, n_estimators=100, n_jobs=-1, num_leaves=31,\n",
" objective=None, random_state=7267, reg_alpha=0.0, reg_lambda=0.0,\n",
" silent=True, subsample=1.0, subsample_for_bin=200000,\n",
" subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.4, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.5, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.6, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.7000000000000001,\n",
" max_depth=-1, min_child_samples=20, min_child_weight=0.001,\n",
" min_split_gain=0.0, n_estimators=100, n_jobs=-1, num_leaves=31,\n",
" objective=None, random_state=7267, reg_alpha=0.0, reg_lambda=0.0,\n",
" silent=True, subsample=1.0, subsample_for_bin=200000,\n",
" subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.8, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
" LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n",
" importance_type='split', learning_rate=0.9, max_depth=-1,\n",
" min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n",
" n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n",
" random_state=7267, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n",
" subsample=1.0, subsample_for_bin=200000, subsample_freq=0)]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lgbms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5. AutoML()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LinearDiscriminantAnalysis(n_components=None, priors=None, shrinkage=None,\n",
" solver='svd', store_covariance=False, tol=0.0001)\n"
]
}
],
"source": [
"best_model_cv = automl()\n",
"print(best_model_cv)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LinearDiscriminantAnalysis(n_components=None, priors=None, shrinkage=None,\n",
" solver='svd', store_covariance=False, tol=0.0001)\n"
]
}
],
"source": [
"best_model_holdout = automl(use_holdout=True)\n",
"print(best_model_holdout)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 6. MLFlow UI"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"^C\n"
]
}
],
"source": [
"!mlflow ui"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 7. Log plots"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Setup Succesfully Completed!\n"
]
},
{
"data": {
"text/html": [
" | Description | Value |
\n",
" \n",
" 0 | \n",
" session_id | \n",
" 7267 | \n",
"
\n",
" \n",
" 1 | \n",
" Target Type | \n",
" Binary | \n",
"
\n",
" \n",
" 2 | \n",
" Label Encoded | \n",
" CH: 0, MM: 1 | \n",
"
\n",
" \n",
" 3 | \n",
" Original Data | \n",
" (1070, 19) | \n",
"
\n",
" \n",
" 4 | \n",
" Missing Values | \n",
" False | \n",
"
\n",
" \n",
" 5 | \n",
" Numeric Features | \n",
" 13 | \n",
"
\n",
" \n",
" 6 | \n",
" Categorical Features | \n",
" 5 | \n",
"
\n",
" \n",
" 7 | \n",
" Ordinal Features | \n",
" False | \n",
"
\n",
" \n",
" 8 | \n",
" High Cardinality Features | \n",
" False | \n",
"
\n",
" \n",
" 9 | \n",
" High Cardinality Method | \n",
" None | \n",
"
\n",
" \n",
" 10 | \n",
" Sampled Data | \n",
" (1070, 19) | \n",
"
\n",
" \n",
" 11 | \n",
" Transformed Train Set | \n",
" (748, 16) | \n",
"
\n",
" \n",
" 12 | \n",
" Transformed Test Set | \n",
" (322, 16) | \n",
"
\n",
" \n",
" 13 | \n",
" Numeric Imputer | \n",
" mean | \n",
"
\n",
" \n",
" 14 | \n",
" Categorical Imputer | \n",
" constant | \n",
"
\n",
" \n",
" 15 | \n",
" Normalize | \n",
" False | \n",
"
\n",
" \n",
" 16 | \n",
" Normalize Method | \n",
" None | \n",
"
\n",
" \n",
" 17 | \n",
" Transformation | \n",
" False | \n",
"
\n",
" \n",
" 18 | \n",
" Transformation Method | \n",
" None | \n",
"
\n",
" \n",
" 19 | \n",
" PCA | \n",
" False | \n",
"
\n",
" \n",
" 20 | \n",
" PCA Method | \n",
" None | \n",
"
\n",
" \n",
" 21 | \n",
" PCA Components | \n",
" None | \n",
"
\n",
" \n",
" 22 | \n",
" Ignore Low Variance | \n",
" False | \n",
"
\n",
" \n",
" 23 | \n",
" Combine Rare Levels | \n",
" False | \n",
"
\n",
" \n",
" 24 | \n",
" Rare Level Threshold | \n",
" None | \n",
"
\n",
" \n",
" 25 | \n",
" Numeric Binning | \n",
" False | \n",
"
\n",
" \n",
" 26 | \n",
" Remove Outliers | \n",
" False | \n",
"
\n",
" \n",
" 27 | \n",
" Outliers Threshold | \n",
" None | \n",
"
\n",
" \n",
" 28 | \n",
" Remove Multicollinearity | \n",
" False | \n",
"
\n",
" \n",
" 29 | \n",
" Multicollinearity Threshold | \n",
" None | \n",
"
\n",
" \n",
" 30 | \n",
" Clustering | \n",
" False | \n",
"
\n",
" \n",
" 31 | \n",
" Clustering Iteration | \n",
" None | \n",
"
\n",
" \n",
" 32 | \n",
" Polynomial Features | \n",
" False | \n",
"
\n",
" \n",
" 33 | \n",
" Polynomial Degree | \n",
" None | \n",
"
\n",
" \n",
" 34 | \n",
" Trignometry Features | \n",
" False | \n",
"
\n",
" \n",
" 35 | \n",
" Polynomial Threshold | \n",
" None | \n",
"
\n",
" \n",
" 36 | \n",
" Group Features | \n",
" False | \n",
"
\n",
" \n",
" 37 | \n",
" Feature Selection | \n",
" False | \n",
"
\n",
" \n",
" 38 | \n",
" Features Selection Threshold | \n",
" None | \n",
"
\n",
" \n",
" 39 | \n",
" Feature Interaction | \n",
" False | \n",
"
\n",
" \n",
" 40 | \n",
" Feature Ratio | \n",
" False | \n",
"
\n",
" \n",
" 41 | \n",
" Interaction Threshold | \n",
" None | \n",
"
\n",
" \n",
" 42 | \n",
" Fix Imbalance | \n",
" False | \n",
"
\n",
" \n",
" 43 | \n",
" Fix Imbalance Method | \n",
" SMOTE | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pycaret.classification import *\n",
"clf1 = setup(data, target = 'Purchase', session_id=7267, log_experiment=True, experiment_name='pycaret2-juice',\n",
" log_plots = True)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" | Accuracy | AUC | Recall | Prec. | F1 | Kappa | MCC |
\n",
" \n",
" 0 | \n",
" 0.8267 | \n",
" 0.9468 | \n",
" 0.6552 | \n",
" 0.8636 | \n",
" 0.7451 | \n",
" 0.6175 | \n",
" 0.6310 | \n",
"
\n",
" \n",
" 1 | \n",
" 0.7600 | \n",
" 0.8778 | \n",
" 0.7241 | \n",
" 0.6774 | \n",
" 0.7000 | \n",
" 0.5004 | \n",
" 0.5011 | \n",
"
\n",
" \n",
" 2 | \n",
" 0.8267 | \n",
" 0.8771 | \n",
" 0.6897 | \n",
" 0.8333 | \n",
" 0.7547 | \n",
" 0.6225 | \n",
" 0.6292 | \n",
"
\n",
" \n",
" 3 | \n",
" 0.8800 | \n",
" 0.9400 | \n",
" 0.8966 | \n",
" 0.8125 | \n",
" 0.8525 | \n",
" 0.7517 | \n",
" 0.7543 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.8133 | \n",
" 0.8808 | \n",
" 0.6552 | \n",
" 0.8261 | \n",
" 0.7308 | \n",
" 0.5908 | \n",
" 0.6001 | \n",
"
\n",
" \n",
" 5 | \n",
" 0.8000 | \n",
" 0.9138 | \n",
" 0.7241 | \n",
" 0.7500 | \n",
" 0.7368 | \n",
" 0.5756 | \n",
" 0.5759 | \n",
"
\n",
" \n",
" 6 | \n",
" 0.7867 | \n",
" 0.8889 | \n",
" 0.7000 | \n",
" 0.7500 | \n",
" 0.7241 | \n",
" 0.5506 | \n",
" 0.5514 | \n",
"
\n",
" \n",
" 7 | \n",
" 0.8533 | \n",
" 0.9296 | \n",
" 0.8333 | \n",
" 0.8065 | \n",
" 0.8197 | \n",
" 0.6961 | \n",
" 0.6964 | \n",
"
\n",
" \n",
" 8 | \n",
" 0.8243 | \n",
" 0.8904 | \n",
" 0.7586 | \n",
" 0.7857 | \n",
" 0.7719 | \n",
" 0.6291 | \n",
" 0.6294 | \n",
"
\n",
" \n",
" 9 | \n",
" 0.8514 | \n",
" 0.9261 | \n",
" 0.7931 | \n",
" 0.8214 | \n",
" 0.8070 | \n",
" 0.6862 | \n",
" 0.6865 | \n",
"
\n",
" \n",
" Mean | \n",
" 0.8222 | \n",
" 0.9071 | \n",
" 0.7430 | \n",
" 0.7927 | \n",
" 0.7643 | \n",
" 0.6221 | \n",
" 0.6255 | \n",
"
\n",
" \n",
" SD | \n",
" 0.0330 | \n",
" 0.0258 | \n",
" 0.0744 | \n",
" 0.0512 | \n",
" 0.0456 | \n",
" 0.0704 | \n",
" 0.0703 | \n",
"
\n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"