Skip to content

Instantly share code, notes, and snippets.

@Dixhom
Created October 10, 2022 02:29
Show Gist options
  • Save Dixhom/bc5c6de519e48718571f4905bbac59e4 to your computer and use it in GitHub Desktop.
Save Dixhom/bc5c6de519e48718571f4905bbac59e4 to your computer and use it in GitHub Desktop.
tree-model-multicollinearity

What is this?

This is a verification to confirm whether a tree based machine learning model causes multicollinearity. This is purely out of my curiosity. I just wondered if multicollinearity takes place in a tree based model and aggravates its performance. If it does, it means one needs to remove correlated features before building models.

Method

I artificially generated three datasets, obtained scores with lightgbm and k-fold cross validation and compared the finals scores.

  1. dataset 1: 10 informative features (useful features for prediction)
  2. dataset 2: 10 informative features + 10 features with random values
  3. dataset 3: 10 informative features + 10 redundant features (random linear combination of the informative features)

The experiment above was repeated using two kinds of class imbalance proportion: (0, 1)=(0.5, 0.5) and (0, 1)=(0.99, 0.01).

Result

The boxplots of the three datasets were almost the same for both of the class imbalance proportion. In the conditions used in this experiment, a tree based machine learning model doesn't cause multicollinearity.

Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.model_selection import StratifiedKFold\n",
"from sklearn.datasets import make_classification\n",
"from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score\n",
"import lightgbm as lgb\n",
"import matplotlib.pyplot as plt "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# 10 informative features \n",
"def generate_informative_df(class_weights=[0.5]):\n",
" X, y = make_classification(n_samples=10000, n_features=10, n_informative=10, n_redundant=0, n_classes=2, weights=class_weights)\n",
" df = pd.DataFrame(X, columns=[f'info{i}' for i in range(10)])\n",
" df['y'] = y\n",
" return df\n",
"\n",
"# 10 informative features + 10 random features\n",
"def generate_informative_random_df(class_weights=[0.5]):\n",
" X, y = make_classification(n_samples=10000, n_features=20, n_informative=10, n_redundant=0, n_classes=2, weights=class_weights)\n",
" df = pd.DataFrame(X, columns=[f'info{i}' for i in range(10)] + [f'rand{i}' for i in range(10)])\n",
" df['y'] = y\n",
" return df\n",
"\n",
"# 10 informative features + 10 redundant features (multicollinearity)\n",
"def generate_informative_redundant_df(class_weights=[0.5]):\n",
" X, y = make_classification(n_samples=10000, n_features=20, n_informative=10, n_redundant=10, n_classes=2, weights=class_weights)\n",
" df = pd.DataFrame(X, columns=[f'info{i}' for i in range(10)] + [f'red{i}' for i in range(10)])\n",
" df['y'] = y\n",
" return df"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>info0</th>\n",
" <th>info1</th>\n",
" <th>info2</th>\n",
" <th>info3</th>\n",
" <th>info4</th>\n",
" <th>info5</th>\n",
" <th>info6</th>\n",
" <th>info7</th>\n",
" <th>info8</th>\n",
" <th>info9</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.773325</td>\n",
" <td>0.889765</td>\n",
" <td>4.426880</td>\n",
" <td>-3.113184</td>\n",
" <td>4.747506</td>\n",
" <td>-1.178276</td>\n",
" <td>-2.529489</td>\n",
" <td>-2.395454</td>\n",
" <td>-0.883241</td>\n",
" <td>3.458592</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.911636</td>\n",
" <td>0.521006</td>\n",
" <td>-0.886217</td>\n",
" <td>2.298344</td>\n",
" <td>-1.322928</td>\n",
" <td>-0.709265</td>\n",
" <td>0.344617</td>\n",
" <td>-2.144182</td>\n",
" <td>-0.286680</td>\n",
" <td>-1.365262</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.271112</td>\n",
" <td>0.240984</td>\n",
" <td>-0.993360</td>\n",
" <td>-0.098098</td>\n",
" <td>-0.714097</td>\n",
" <td>0.126976</td>\n",
" <td>1.390515</td>\n",
" <td>-2.398267</td>\n",
" <td>4.365493</td>\n",
" <td>0.799304</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" info0 info1 info2 info3 info4 info5 info6 \\\n",
"0 2.773325 0.889765 4.426880 -3.113184 4.747506 -1.178276 -2.529489 \n",
"1 1.911636 0.521006 -0.886217 2.298344 -1.322928 -0.709265 0.344617 \n",
"2 -0.271112 0.240984 -0.993360 -0.098098 -0.714097 0.126976 1.390515 \n",
"\n",
" info7 info8 info9 y \n",
"0 -2.395454 -0.883241 3.458592 1 \n",
"1 -2.144182 -0.286680 -1.365262 0 \n",
"2 -2.398267 4.365493 0.799304 1 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"generate_informative_df().head(3)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>info0</th>\n",
" <th>info1</th>\n",
" <th>info2</th>\n",
" <th>info3</th>\n",
" <th>info4</th>\n",
" <th>info5</th>\n",
" <th>info6</th>\n",
" <th>info7</th>\n",
" <th>info8</th>\n",
" <th>info9</th>\n",
" <th>...</th>\n",
" <th>rand1</th>\n",
" <th>rand2</th>\n",
" <th>rand3</th>\n",
" <th>rand4</th>\n",
" <th>rand5</th>\n",
" <th>rand6</th>\n",
" <th>rand7</th>\n",
" <th>rand8</th>\n",
" <th>rand9</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.936563</td>\n",
" <td>1.870453</td>\n",
" <td>0.465916</td>\n",
" <td>-1.261388</td>\n",
" <td>2.133361</td>\n",
" <td>1.803505</td>\n",
" <td>2.580378</td>\n",
" <td>-1.595381</td>\n",
" <td>0.679063</td>\n",
" <td>-0.645615</td>\n",
" <td>...</td>\n",
" <td>-2.378653</td>\n",
" <td>4.323241</td>\n",
" <td>-2.079817</td>\n",
" <td>0.081981</td>\n",
" <td>0.040277</td>\n",
" <td>1.587782</td>\n",
" <td>0.094462</td>\n",
" <td>-0.418136</td>\n",
" <td>-1.090805</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.184026</td>\n",
" <td>-2.168789</td>\n",
" <td>0.411869</td>\n",
" <td>-0.942830</td>\n",
" <td>1.797832</td>\n",
" <td>0.030025</td>\n",
" <td>-2.441538</td>\n",
" <td>0.781152</td>\n",
" <td>0.594451</td>\n",
" <td>1.105893</td>\n",
" <td>...</td>\n",
" <td>0.443111</td>\n",
" <td>1.711014</td>\n",
" <td>0.709275</td>\n",
" <td>-4.459221</td>\n",
" <td>-0.652913</td>\n",
" <td>3.639128</td>\n",
" <td>1.089707</td>\n",
" <td>1.391340</td>\n",
" <td>-0.512643</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.996100</td>\n",
" <td>-4.153566</td>\n",
" <td>1.262521</td>\n",
" <td>-1.465341</td>\n",
" <td>-2.303118</td>\n",
" <td>-0.769839</td>\n",
" <td>1.964011</td>\n",
" <td>3.439831</td>\n",
" <td>-0.543817</td>\n",
" <td>0.434642</td>\n",
" <td>...</td>\n",
" <td>0.139599</td>\n",
" <td>-2.905087</td>\n",
" <td>0.447791</td>\n",
" <td>1.162886</td>\n",
" <td>7.065497</td>\n",
" <td>4.141545</td>\n",
" <td>-0.199840</td>\n",
" <td>-0.675612</td>\n",
" <td>-1.475501</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" info0 info1 info2 info3 info4 info5 info6 \\\n",
"0 1.936563 1.870453 0.465916 -1.261388 2.133361 1.803505 2.580378 \n",
"1 0.184026 -2.168789 0.411869 -0.942830 1.797832 0.030025 -2.441538 \n",
"2 2.996100 -4.153566 1.262521 -1.465341 -2.303118 -0.769839 1.964011 \n",
"\n",
" info7 info8 info9 ... rand1 rand2 rand3 rand4 \\\n",
"0 -1.595381 0.679063 -0.645615 ... -2.378653 4.323241 -2.079817 0.081981 \n",
"1 0.781152 0.594451 1.105893 ... 0.443111 1.711014 0.709275 -4.459221 \n",
"2 3.439831 -0.543817 0.434642 ... 0.139599 -2.905087 0.447791 1.162886 \n",
"\n",
" rand5 rand6 rand7 rand8 rand9 y \n",
"0 0.040277 1.587782 0.094462 -0.418136 -1.090805 0 \n",
"1 -0.652913 3.639128 1.089707 1.391340 -0.512643 0 \n",
"2 7.065497 4.141545 -0.199840 -0.675612 -1.475501 1 \n",
"\n",
"[3 rows x 21 columns]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"generate_informative_random_df().head(3)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>info0</th>\n",
" <th>info1</th>\n",
" <th>info2</th>\n",
" <th>info3</th>\n",
" <th>info4</th>\n",
" <th>info5</th>\n",
" <th>info6</th>\n",
" <th>info7</th>\n",
" <th>info8</th>\n",
" <th>info9</th>\n",
" <th>...</th>\n",
" <th>red1</th>\n",
" <th>red2</th>\n",
" <th>red3</th>\n",
" <th>red4</th>\n",
" <th>red5</th>\n",
" <th>red6</th>\n",
" <th>red7</th>\n",
" <th>red8</th>\n",
" <th>red9</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-0.932563</td>\n",
" <td>3.456379</td>\n",
" <td>-0.507142</td>\n",
" <td>1.473530</td>\n",
" <td>2.651997</td>\n",
" <td>7.762541</td>\n",
" <td>2.374229</td>\n",
" <td>-2.677372</td>\n",
" <td>-0.607400</td>\n",
" <td>-1.481389</td>\n",
" <td>...</td>\n",
" <td>4.553652</td>\n",
" <td>2.596553</td>\n",
" <td>1.600653</td>\n",
" <td>-0.682390</td>\n",
" <td>-5.318137</td>\n",
" <td>-0.888237</td>\n",
" <td>-4.065887</td>\n",
" <td>-0.531629</td>\n",
" <td>-4.780433</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.368720</td>\n",
" <td>-3.069189</td>\n",
" <td>4.671624</td>\n",
" <td>-1.197378</td>\n",
" <td>-2.293645</td>\n",
" <td>-6.662906</td>\n",
" <td>-2.335615</td>\n",
" <td>-3.380183</td>\n",
" <td>0.645226</td>\n",
" <td>-0.509708</td>\n",
" <td>...</td>\n",
" <td>-0.467492</td>\n",
" <td>0.501271</td>\n",
" <td>1.678550</td>\n",
" <td>-2.214877</td>\n",
" <td>-2.199863</td>\n",
" <td>1.706975</td>\n",
" <td>-1.803508</td>\n",
" <td>-3.336058</td>\n",
" <td>1.702677</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.336312</td>\n",
" <td>-3.582316</td>\n",
" <td>5.304764</td>\n",
" <td>-0.455649</td>\n",
" <td>-0.389859</td>\n",
" <td>-3.792496</td>\n",
" <td>-2.612149</td>\n",
" <td>-0.239425</td>\n",
" <td>4.188700</td>\n",
" <td>0.295560</td>\n",
" <td>...</td>\n",
" <td>2.018401</td>\n",
" <td>-0.419778</td>\n",
" <td>-1.394204</td>\n",
" <td>-0.752825</td>\n",
" <td>-0.294768</td>\n",
" <td>3.402908</td>\n",
" <td>3.007048</td>\n",
" <td>-1.435240</td>\n",
" <td>1.028247</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" info0 info1 info2 info3 info4 info5 info6 \\\n",
"0 -0.932563 3.456379 -0.507142 1.473530 2.651997 7.762541 2.374229 \n",
"1 1.368720 -3.069189 4.671624 -1.197378 -2.293645 -6.662906 -2.335615 \n",
"2 0.336312 -3.582316 5.304764 -0.455649 -0.389859 -3.792496 -2.612149 \n",
"\n",
" info7 info8 info9 ... red1 red2 red3 red4 \\\n",
"0 -2.677372 -0.607400 -1.481389 ... 4.553652 2.596553 1.600653 -0.682390 \n",
"1 -3.380183 0.645226 -0.509708 ... -0.467492 0.501271 1.678550 -2.214877 \n",
"2 -0.239425 4.188700 0.295560 ... 2.018401 -0.419778 -1.394204 -0.752825 \n",
"\n",
" red5 red6 red7 red8 red9 y \n",
"0 -5.318137 -0.888237 -4.065887 -0.531629 -4.780433 0 \n",
"1 -2.199863 1.706975 -1.803508 -3.336058 1.702677 0 \n",
"2 -0.294768 3.402908 3.007048 -1.435240 1.028247 0 \n",
"\n",
"[3 rows x 21 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"generate_informative_redundant_df().head(3)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def get_lgb_oof(df):\n",
" \"\"\"get oof using lightgbm and k-fold cross validation\"\"\"\n",
" X = df.drop('y', axis=1).values\n",
" y = df.y.values\n",
"\n",
" # stratified kfold split\n",
" kf = StratifiedKFold(n_splits=5, shuffle=True)\n",
" oof = np.zeros(len(y))\n",
"\n",
" # cv iterate through splits\n",
" for train_index, eval_index in kf.split(X, y):\n",
" X_train, X_eval = X[train_index], X[eval_index]\n",
" y_train, y_eval = y[train_index], y[eval_index]\n",
" \n",
" # prepare datasets\n",
" lgb_train = lgb.Dataset(X_train, y_train)\n",
" lgb_eval = lgb.Dataset(X_eval, y_eval, reference=lgb_train)\n",
"\n",
" # LightGBM hyperparameters\n",
" lgbm_params = {\n",
" 'objective': 'binary',\n",
" 'metric': 'binary_logloss',\n",
" 'verbose': -1,\n",
" }\n",
"\n",
" model = lgb.train(lgbm_params, lgb_train,\n",
" # validation data for the model\n",
" valid_sets=lgb_eval,\n",
" # train up to 10000 rounds\n",
" num_boost_round=10000,\n",
" # if the score doesn't increase for 10 rounds, stop training\n",
" early_stopping_rounds=10)\n",
"\n",
" # predict holdout with the trained model\n",
" y_pred_proba = model.predict(X_eval, num_iteration=model.best_iteration)\n",
" oof[eval_index] = (y_pred_proba > 0.5).astype(int)\n",
"\n",
" return oof"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"def get_major_scores(y_true, y_pred):\n",
" \"\"\"get scores like accuracy at a time\"\"\"\n",
" accuracy = accuracy_score(y_true, y_pred)\n",
" precision = precision_score(y_true, y_pred)\n",
" recall = recall_score(y_true, y_pred)\n",
" f1 = f1_score(y_true, y_pred)\n",
" auc = roc_auc_score(y_true, y_pred)\n",
" return pd.Series(dict(accuracy=accuracy, precision=precision, recall=recall, f1=f1, auc=auc))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def get_scores_from_func(func, class_weights):\n",
" \"\"\"generate a dataset, get oof and scores\"\"\"\n",
" df = func(class_weights)\n",
" oof = get_lgb_oof(df)\n",
" scores = get_major_scores(df.y, oof)\n",
" return scores\n",
"\n",
"def repeat_tests(n_tests, func, class_weights):\n",
" \"\"\"repeat tests (get scores from a dataset) n times\"\"\"\n",
" score_list = [get_scores_from_func(func, class_weights) for _ in range(n_tests)]\n",
" return pd.concat(score_list, axis=1).T"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"%%capture cap\n",
"# generate datasets and perform tests\n",
"n_tests = 100\n",
"info = repeat_tests(n_tests, generate_informative_df, class_weights=[0.5])\n",
"info_rand = repeat_tests(n_tests, generate_informative_random_df, class_weights=[0.5])\n",
"info_red = repeat_tests(n_tests, generate_informative_redundant_df, class_weights=[0.5])"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[\"[1]\\tvalid_0's binary_logloss: 0.640252\", \"Training until validation scores don't improve for 10 rounds\", \"[2]\\tvalid_0's binary_logloss: 0.595524\"]\n",
"['Early stopping, best iteration is:', \"[202]\\tvalid_0's binary_logloss: 0.15658\", '']\n"
]
}
],
"source": [
"# stdout results\n",
"capsplit = cap.stdout.split('\\n')\n",
"print(capsplit[:3])\n",
"print(capsplit[-3:])"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"# concat data\n",
"info['group'] = 'info'\n",
"info_rand['group'] = 'info + rand'\n",
"info_red['group'] = 'info + redundant'\n",
"stack = pd.concat([info, info_rand, info_red])"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>accuracy</th>\n",
" <th>precision</th>\n",
" <th>recall</th>\n",
" <th>f1</th>\n",
" <th>auc</th>\n",
" <th>group</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.5911</td>\n",
" <td>0.954092</td>\n",
" <td>0.191238</td>\n",
" <td>0.318614</td>\n",
" <td>0.591020</td>\n",
" <td>info</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.5906</td>\n",
" <td>0.959100</td>\n",
" <td>0.187901</td>\n",
" <td>0.314238</td>\n",
" <td>0.589957</td>\n",
" <td>info</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.5895</td>\n",
" <td>0.935357</td>\n",
" <td>0.191229</td>\n",
" <td>0.317539</td>\n",
" <td>0.589023</td>\n",
" <td>info</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.5932</td>\n",
" <td>0.967904</td>\n",
" <td>0.192961</td>\n",
" <td>0.321774</td>\n",
" <td>0.593280</td>\n",
" <td>info</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.5935</td>\n",
" <td>0.969031</td>\n",
" <td>0.193845</td>\n",
" <td>0.323064</td>\n",
" <td>0.593820</td>\n",
" <td>info</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>0.5948</td>\n",
" <td>0.978873</td>\n",
" <td>0.194444</td>\n",
" <td>0.324441</td>\n",
" <td>0.595121</td>\n",
" <td>info + redundant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>0.5937</td>\n",
" <td>0.971972</td>\n",
" <td>0.193967</td>\n",
" <td>0.323397</td>\n",
" <td>0.594180</td>\n",
" <td>info + redundant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>0.5906</td>\n",
" <td>0.956389</td>\n",
" <td>0.188827</td>\n",
" <td>0.315385</td>\n",
" <td>0.590118</td>\n",
" <td>info + redundant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>0.5917</td>\n",
" <td>0.956436</td>\n",
" <td>0.193007</td>\n",
" <td>0.321197</td>\n",
" <td>0.592099</td>\n",
" <td>info + redundant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>0.5880</td>\n",
" <td>0.939638</td>\n",
" <td>0.187024</td>\n",
" <td>0.311957</td>\n",
" <td>0.587519</td>\n",
" <td>info + redundant</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>300 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" accuracy precision recall f1 auc group\n",
"0 0.5911 0.954092 0.191238 0.318614 0.591020 info\n",
"1 0.5906 0.959100 0.187901 0.314238 0.589957 info\n",
"2 0.5895 0.935357 0.191229 0.317539 0.589023 info\n",
"3 0.5932 0.967904 0.192961 0.321774 0.593280 info\n",
"4 0.5935 0.969031 0.193845 0.323064 0.593820 info\n",
".. ... ... ... ... ... ...\n",
"95 0.5948 0.978873 0.194444 0.324441 0.595121 info + redundant\n",
"96 0.5937 0.971972 0.193967 0.323397 0.594180 info + redundant\n",
"97 0.5906 0.956389 0.188827 0.315385 0.590118 info + redundant\n",
"98 0.5917 0.956436 0.193007 0.321197 0.592099 info + redundant\n",
"99 0.5880 0.939638 0.187024 0.311957 0.587519 info + redundant\n",
"\n",
"[300 rows x 6 columns]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stack"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1440x1080 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# make a boxplot for each score\n",
"fig, axes = plt.subplots(ncols=3, nrows=2, figsize=(20,15))\n",
"score_names = stack.drop('group', axis=1).columns\n",
"for i, score_name in enumerate(score_names):\n",
" stack.boxplot(column=score_name, by='group', ax=axes[i // 3, i % 3])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What about an imbalanced dataset?"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"%%capture cap\n",
"n_tests = 100\n",
"info = repeat_tests(n_tests, generate_informative_df, class_weights=[0.99])\n",
"info_rand = repeat_tests(n_tests, generate_informative_random_df, class_weights=[0.99])\n",
"info_red = repeat_tests(n_tests, generate_informative_redundant_df, class_weights=[0.99])"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[\"[1]\\tvalid_0's binary_logloss: 0.065233\", \"Training until validation scores don't improve for 10 rounds\", \"[2]\\tvalid_0's binary_logloss: 0.0623185\"]\n",
"['Early stopping, best iteration is:', \"[32]\\tvalid_0's binary_logloss: 0.0501468\", '']\n"
]
}
],
"source": [
"capsplit = cap.stdout.split('\\n')\n",
"print(capsplit[:3])\n",
"print(capsplit[-3:])"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"info['group'] = 'info'\n",
"info_rand['group'] = 'info + rand'\n",
"info_red['group'] = 'info + redundant'\n",
"stack = pd.concat([info, info_rand, info_red])"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1440x1080 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(ncols=3, nrows=2, figsize=(20,15))\n",
"score_names = stack.drop('group', axis=1).columns\n",
"for i, score_name in enumerate(score_names):\n",
" stack.boxplot(column=score_name, by='group', ax=axes[i // 3, i % 3])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Almost the same!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.6.13 64-bit ('usr')",
"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.6.13"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "91500301695e1fbb9150d4f634352c3c795d8e09e120b79156f6e946456f2571"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment