diff --git a/notebooks/Pytorch_Support_Explainable.ipynb b/notebooks/Pytorch_Support_Explainable.ipynb index 2dfffbf..f6e5838 100644 --- a/notebooks/Pytorch_Support_Explainable.ipynb +++ b/notebooks/Pytorch_Support_Explainable.ipynb @@ -23,2603 +23,1351 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n" - ] - }, - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[15], line 82\u001b[0m\n\u001b[0;32m 80\u001b[0m \u001b[38;5;66;03m# Fit the models\u001b[39;00m\n\u001b[0;32m 81\u001b[0m logistic_regression_gs\u001b[38;5;241m.\u001b[39mfit(X_train, y_train)\n\u001b[1;32m---> 82\u001b[0m \u001b[43mrandom_forest_gs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 83\u001b[0m xgboost_gs\u001b[38;5;241m.\u001b[39mfit(X_train, y_train)\n\u001b[0;32m 84\u001b[0m mlp_gs\u001b[38;5;241m.\u001b[39mfit(X_train, y_train)\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\base.py:1473\u001b[0m, in \u001b[0;36m_fit_context..decorator..wrapper\u001b[1;34m(estimator, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1466\u001b[0m estimator\u001b[38;5;241m.\u001b[39m_validate_params()\n\u001b[0;32m 1468\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[0;32m 1469\u001b[0m skip_parameter_validation\u001b[38;5;241m=\u001b[39m(\n\u001b[0;32m 1470\u001b[0m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[0;32m 1471\u001b[0m )\n\u001b[0;32m 1472\u001b[0m ):\n\u001b[1;32m-> 1473\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfit_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\model_selection\\_search.py:1019\u001b[0m, in \u001b[0;36mBaseSearchCV.fit\u001b[1;34m(self, X, y, **params)\u001b[0m\n\u001b[0;32m 1013\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_format_results(\n\u001b[0;32m 1014\u001b[0m all_candidate_params, n_splits, all_out, all_more_results\n\u001b[0;32m 1015\u001b[0m )\n\u001b[0;32m 1017\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m results\n\u001b[1;32m-> 1019\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_run_search\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevaluate_candidates\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1021\u001b[0m \u001b[38;5;66;03m# multimetric is determined here because in the case of a callable\u001b[39;00m\n\u001b[0;32m 1022\u001b[0m \u001b[38;5;66;03m# self.scoring the return type is only known after calling\u001b[39;00m\n\u001b[0;32m 1023\u001b[0m first_test_score \u001b[38;5;241m=\u001b[39m all_out[\u001b[38;5;241m0\u001b[39m][\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtest_scores\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\model_selection\\_search.py:1573\u001b[0m, in \u001b[0;36mGridSearchCV._run_search\u001b[1;34m(self, evaluate_candidates)\u001b[0m\n\u001b[0;32m 1571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_run_search\u001b[39m(\u001b[38;5;28mself\u001b[39m, evaluate_candidates):\n\u001b[0;32m 1572\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Search all candidates in param_grid\"\"\"\u001b[39;00m\n\u001b[1;32m-> 1573\u001b[0m \u001b[43mevaluate_candidates\u001b[49m\u001b[43m(\u001b[49m\u001b[43mParameterGrid\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparam_grid\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\model_selection\\_search.py:965\u001b[0m, in \u001b[0;36mBaseSearchCV.fit..evaluate_candidates\u001b[1;34m(candidate_params, cv, more_results)\u001b[0m\n\u001b[0;32m 957\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverbose \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 958\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[0;32m 959\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFitting \u001b[39m\u001b[38;5;132;01m{0}\u001b[39;00m\u001b[38;5;124m folds for each of \u001b[39m\u001b[38;5;132;01m{1}\u001b[39;00m\u001b[38;5;124m candidates,\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 960\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m totalling \u001b[39m\u001b[38;5;132;01m{2}\u001b[39;00m\u001b[38;5;124m fits\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\n\u001b[0;32m 961\u001b[0m n_splits, n_candidates, n_candidates \u001b[38;5;241m*\u001b[39m n_splits\n\u001b[0;32m 962\u001b[0m )\n\u001b[0;32m 963\u001b[0m )\n\u001b[1;32m--> 965\u001b[0m out \u001b[38;5;241m=\u001b[39m \u001b[43mparallel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 966\u001b[0m \u001b[43m \u001b[49m\u001b[43mdelayed\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_fit_and_score\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 967\u001b[0m \u001b[43m \u001b[49m\u001b[43mclone\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbase_estimator\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 968\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 969\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 970\u001b[0m \u001b[43m \u001b[49m\u001b[43mtrain\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 971\u001b[0m \u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtest\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 972\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 973\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_splits\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 974\u001b[0m \u001b[43m \u001b[49m\u001b[43mcandidate_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_candidates\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 975\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mfit_and_score_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 976\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 977\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mproduct\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 978\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcandidate_params\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 979\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrouted_params\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplitter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 980\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 981\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 983\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[0;32m 984\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 985\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo fits were performed. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 986\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWas the CV iterator empty? \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 987\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWere there no candidates?\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 988\u001b[0m )\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\utils\\parallel.py:74\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 69\u001b[0m config \u001b[38;5;241m=\u001b[39m get_config()\n\u001b[0;32m 70\u001b[0m iterable_with_config \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 71\u001b[0m (_with_config(delayed_func, config), args, kwargs)\n\u001b[0;32m 72\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m delayed_func, args, kwargs \u001b[38;5;129;01min\u001b[39;00m iterable\n\u001b[0;32m 73\u001b[0m )\n\u001b[1;32m---> 74\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43miterable_with_config\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\joblib\\parallel.py:1918\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 1916\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_sequential_output(iterable)\n\u001b[0;32m 1917\u001b[0m \u001b[38;5;28mnext\u001b[39m(output)\n\u001b[1;32m-> 1918\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m output \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreturn_generator \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1920\u001b[0m \u001b[38;5;66;03m# Let's create an ID that uniquely identifies the current call. If the\u001b[39;00m\n\u001b[0;32m 1921\u001b[0m \u001b[38;5;66;03m# call is interrupted early and that the same instance is immediately\u001b[39;00m\n\u001b[0;32m 1922\u001b[0m \u001b[38;5;66;03m# re-used, this id will be used to prevent workers that were\u001b[39;00m\n\u001b[0;32m 1923\u001b[0m \u001b[38;5;66;03m# concurrently finalizing a task from the previous call to run the\u001b[39;00m\n\u001b[0;32m 1924\u001b[0m \u001b[38;5;66;03m# callback.\u001b[39;00m\n\u001b[0;32m 1925\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock:\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\joblib\\parallel.py:1847\u001b[0m, in \u001b[0;36mParallel._get_sequential_output\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 1845\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_dispatched_batches \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m 1846\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_dispatched_tasks \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m-> 1847\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1848\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_completed_tasks \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m 1849\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprint_progress()\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\utils\\parallel.py:136\u001b[0m, in \u001b[0;36m_FuncWrapper.__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 134\u001b[0m config \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m 135\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mconfig):\n\u001b[1;32m--> 136\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunction\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\model_selection\\_validation.py:888\u001b[0m, in \u001b[0;36m_fit_and_score\u001b[1;34m(estimator, X, y, scorer, train, test, verbose, parameters, fit_params, score_params, return_train_score, return_parameters, return_n_test_samples, return_times, return_estimator, split_progress, candidate_progress, error_score)\u001b[0m\n\u001b[0;32m 886\u001b[0m estimator\u001b[38;5;241m.\u001b[39mfit(X_train, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mfit_params)\n\u001b[0;32m 887\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m--> 888\u001b[0m \u001b[43mestimator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mfit_params\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 890\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[0;32m 891\u001b[0m \u001b[38;5;66;03m# Note fit time as time until error\u001b[39;00m\n\u001b[0;32m 892\u001b[0m fit_time \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime() \u001b[38;5;241m-\u001b[39m start_time\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\base.py:1473\u001b[0m, in \u001b[0;36m_fit_context..decorator..wrapper\u001b[1;34m(estimator, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1466\u001b[0m estimator\u001b[38;5;241m.\u001b[39m_validate_params()\n\u001b[0;32m 1468\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[0;32m 1469\u001b[0m skip_parameter_validation\u001b[38;5;241m=\u001b[39m(\n\u001b[0;32m 1470\u001b[0m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[0;32m 1471\u001b[0m )\n\u001b[0;32m 1472\u001b[0m ):\n\u001b[1;32m-> 1473\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfit_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:489\u001b[0m, in \u001b[0;36mBaseForest.fit\u001b[1;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[0;32m 478\u001b[0m trees \u001b[38;5;241m=\u001b[39m [\n\u001b[0;32m 479\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_estimator(append\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, random_state\u001b[38;5;241m=\u001b[39mrandom_state)\n\u001b[0;32m 480\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(n_more_estimators)\n\u001b[0;32m 481\u001b[0m ]\n\u001b[0;32m 483\u001b[0m \u001b[38;5;66;03m# Parallel loop: we prefer the threading backend as the Cython code\u001b[39;00m\n\u001b[0;32m 484\u001b[0m \u001b[38;5;66;03m# for fitting the trees is internally releasing the Python GIL\u001b[39;00m\n\u001b[0;32m 485\u001b[0m \u001b[38;5;66;03m# making threading more efficient than multiprocessing in\u001b[39;00m\n\u001b[0;32m 486\u001b[0m \u001b[38;5;66;03m# that case. However, for joblib 0.12+ we respect any\u001b[39;00m\n\u001b[0;32m 487\u001b[0m \u001b[38;5;66;03m# parallel_backend contexts set at a higher level,\u001b[39;00m\n\u001b[0;32m 488\u001b[0m \u001b[38;5;66;03m# since correctness does not rely on using threads.\u001b[39;00m\n\u001b[1;32m--> 489\u001b[0m trees \u001b[38;5;241m=\u001b[39m \u001b[43mParallel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 490\u001b[0m \u001b[43m \u001b[49m\u001b[43mn_jobs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mn_jobs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 491\u001b[0m \u001b[43m \u001b[49m\u001b[43mverbose\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mverbose\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 492\u001b[0m \u001b[43m \u001b[49m\u001b[43mprefer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mthreads\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 493\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 494\u001b[0m \u001b[43m \u001b[49m\u001b[43mdelayed\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_parallel_build_trees\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 495\u001b[0m \u001b[43m \u001b[49m\u001b[43mt\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 496\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbootstrap\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 497\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 498\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 499\u001b[0m \u001b[43m \u001b[49m\u001b[43msample_weight\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 500\u001b[0m \u001b[43m \u001b[49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 501\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtrees\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 502\u001b[0m \u001b[43m \u001b[49m\u001b[43mverbose\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mverbose\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 503\u001b[0m \u001b[43m \u001b[49m\u001b[43mclass_weight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mclass_weight\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 504\u001b[0m \u001b[43m \u001b[49m\u001b[43mn_samples_bootstrap\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mn_samples_bootstrap\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 505\u001b[0m \u001b[43m \u001b[49m\u001b[43mmissing_values_in_feature_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmissing_values_in_feature_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 506\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 507\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mt\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtrees\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 508\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 510\u001b[0m \u001b[38;5;66;03m# Collect newly grown trees\u001b[39;00m\n\u001b[0;32m 511\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mestimators_\u001b[38;5;241m.\u001b[39mextend(trees)\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\utils\\parallel.py:74\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 69\u001b[0m config \u001b[38;5;241m=\u001b[39m get_config()\n\u001b[0;32m 70\u001b[0m iterable_with_config \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 71\u001b[0m (_with_config(delayed_func, config), args, kwargs)\n\u001b[0;32m 72\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m delayed_func, args, kwargs \u001b[38;5;129;01min\u001b[39;00m iterable\n\u001b[0;32m 73\u001b[0m )\n\u001b[1;32m---> 74\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43miterable_with_config\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\joblib\\parallel.py:1918\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 1916\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_sequential_output(iterable)\n\u001b[0;32m 1917\u001b[0m \u001b[38;5;28mnext\u001b[39m(output)\n\u001b[1;32m-> 1918\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m output \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreturn_generator \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1920\u001b[0m \u001b[38;5;66;03m# Let's create an ID that uniquely identifies the current call. If the\u001b[39;00m\n\u001b[0;32m 1921\u001b[0m \u001b[38;5;66;03m# call is interrupted early and that the same instance is immediately\u001b[39;00m\n\u001b[0;32m 1922\u001b[0m \u001b[38;5;66;03m# re-used, this id will be used to prevent workers that were\u001b[39;00m\n\u001b[0;32m 1923\u001b[0m \u001b[38;5;66;03m# concurrently finalizing a task from the previous call to run the\u001b[39;00m\n\u001b[0;32m 1924\u001b[0m \u001b[38;5;66;03m# callback.\u001b[39;00m\n\u001b[0;32m 1925\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock:\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\joblib\\parallel.py:1847\u001b[0m, in \u001b[0;36mParallel._get_sequential_output\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 1845\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_dispatched_batches \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m 1846\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_dispatched_tasks \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m-> 1847\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1848\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_completed_tasks \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m 1849\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprint_progress()\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\utils\\parallel.py:136\u001b[0m, in \u001b[0;36m_FuncWrapper.__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 134\u001b[0m config \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m 135\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mconfig):\n\u001b[1;32m--> 136\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunction\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\ensemble\\_forest.py:192\u001b[0m, in \u001b[0;36m_parallel_build_trees\u001b[1;34m(tree, bootstrap, X, y, sample_weight, tree_idx, n_trees, verbose, class_weight, n_samples_bootstrap, missing_values_in_feature_mask)\u001b[0m\n\u001b[0;32m 189\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m class_weight \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbalanced_subsample\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m 190\u001b[0m curr_sample_weight \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m=\u001b[39m compute_sample_weight(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbalanced\u001b[39m\u001b[38;5;124m\"\u001b[39m, y, indices\u001b[38;5;241m=\u001b[39mindices)\n\u001b[1;32m--> 192\u001b[0m \u001b[43mtree\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_fit\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 193\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 194\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 195\u001b[0m \u001b[43m \u001b[49m\u001b[43msample_weight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcurr_sample_weight\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 196\u001b[0m \u001b[43m \u001b[49m\u001b[43mcheck_input\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 197\u001b[0m \u001b[43m \u001b[49m\u001b[43mmissing_values_in_feature_mask\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmissing_values_in_feature_mask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 198\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 199\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 200\u001b[0m tree\u001b[38;5;241m.\u001b[39m_fit(\n\u001b[0;32m 201\u001b[0m X,\n\u001b[0;32m 202\u001b[0m y,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 205\u001b[0m missing_values_in_feature_mask\u001b[38;5;241m=\u001b[39mmissing_values_in_feature_mask,\n\u001b[0;32m 206\u001b[0m )\n", - "File \u001b[1;32mc:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\tree\\_classes.py:472\u001b[0m, in \u001b[0;36mBaseDecisionTree._fit\u001b[1;34m(self, X, y, sample_weight, check_input, missing_values_in_feature_mask)\u001b[0m\n\u001b[0;32m 461\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 462\u001b[0m builder \u001b[38;5;241m=\u001b[39m BestFirstTreeBuilder(\n\u001b[0;32m 463\u001b[0m splitter,\n\u001b[0;32m 464\u001b[0m min_samples_split,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 469\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmin_impurity_decrease,\n\u001b[0;32m 470\u001b[0m )\n\u001b[1;32m--> 472\u001b[0m \u001b[43mbuilder\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbuild\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtree_\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msample_weight\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmissing_values_in_feature_mask\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 474\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_outputs_ \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m is_classifier(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m 475\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_classes_ \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_classes_[\u001b[38;5;241m0\u001b[39m]\n", - "\u001b[1;31mKeyboardInterrupt\u001b[0m: " - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Requirement already satisfied: scipy in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (1.14.1)\n", - "Requirement already satisfied: pillow in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (10.4.0)\n", - "Requirement already satisfied: google-ai-generativelanguage==0.6.10 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (0.6.10)\n", - "Requirement already satisfied: google-api-core in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.20.0)\n", - "Requirement already satisfied: google-api-python-client in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.147.0)\n", - "Requirement already satisfied: google-auth>=2.15.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.35.0)\n", - "Requirement already satisfied: protobuf in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (5.28.2)\n", - "Requirement already satisfied: pydantic in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.9.2)\n", - "Requirement already satisfied: tqdm in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (4.66.5)\n", - "Requirement already satisfied: typing-extensions in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (4.12.2)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.24.0)\n", - "Requirement already satisfied: comm>=0.1.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (0.2.2)\n", - "Requirement already satisfied: ipython>=6.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (8.28.0)\n", - "Requirement already satisfied: traitlets>=4.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (5.14.3)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (4.0.13)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (3.0.13)\n", - "Requirement already satisfied: scikit-image>=0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from lime->explainableai) (0.24.0)\n", - "Requirement already satisfied: joblib>=1.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-learn->explainableai) (1.4.2)\n", - "Requirement already satisfied: threadpoolctl>=3.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-learn->explainableai) (3.5.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (24.1)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (3.1.4)\n", - "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2020.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pandas->explainableai) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pandas->explainableai) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from plotly->explainableai) (9.0.0)\n", - "Requirement already satisfied: chardet in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from reportlab->explainableai) (5.2.0)\n", - "Requirement already satisfied: slicer==0.0.8 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (0.0.8)\n", - "Requirement already satisfied: numba in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (0.60.0)\n", - "Requirement already satisfied: cloudpickle in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (3.0.0)\n", - "Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core->google-generativeai->explainableai) (1.65.0)\n", - "Requirement already satisfied: requests<3.0.0.dev0,>=2.18.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core->google-generativeai->explainableai) (2.32.3)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (5.5.0)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (0.4.1)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (4.9)\n", - "Requirement already satisfied: decorator in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (5.1.1)\n", - "Requirement already satisfied: jedi>=0.16 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.1.7)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (3.0.48)\n", - "Requirement already satisfied: pygments>=2.4.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (2.18.0)\n", - "Requirement already satisfied: stack-data in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.6.3)\n", - "Requirement already satisfied: colorama in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.4.6)\n", - "Requirement already satisfied: six>=1.5 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib->explainableai) (1.16.0)\n", - "Requirement already satisfied: networkx>=2.8 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (3.3)\n", - "Requirement already satisfied: imageio>=2.33 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (2.35.1)\n", - "Requirement already satisfied: tifffile>=2022.8.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (2024.9.20)\n", - "Requirement already satisfied: lazy-loader>=0.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (0.4)\n", - "Requirement already satisfied: httplib2<1.dev0,>=0.19.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (0.22.0)\n", - "Requirement already satisfied: google-auth-httplib2<1.0.0,>=0.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (0.2.0)\n", - "Requirement already satisfied: uritemplate<5,>=3.0.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (4.1.1)\n", - "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from numba->shap->explainableai) (0.43.0)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pydantic->google-generativeai->explainableai) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pydantic->google-generativeai->explainableai) (2.23.4)\n", - "Requirement already satisfied: grpcio<2.0dev,>=1.33.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1->google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.66.2)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1->google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.66.2)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets->explainableai) (0.8.4)\n", - "Requirement already satisfied: wcwidth in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets->explainableai) (0.2.13)\n", - "Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth>=2.15.0->google-generativeai->explainableai) (0.6.1)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (3.3.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (2024.8.30)\n", - "Requirement already satisfied: executing>=1.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (2.1.0)\n", - "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (2.4.1)\n", - "Requirement already satisfied: pure-eval in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (0.2.3)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Requirement already satisfied: seaborn in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (0.13.2)\n", - "Requirement already satisfied: plotly in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (5.24.1)\n", - "Requirement already satisfied: ipywidgets in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (8.1.5)\n", - "Requirement already satisfied: lime in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (0.2.0.1)\n", - "Requirement already satisfied: reportlab in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (4.2.5)\n", - "Requirement already satisfied: google-generativeai in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (0.8.2)\n", - "Requirement already satisfied: python-dotenv in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (1.0.1)\n", - "Requirement already satisfied: scipy in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (1.14.1)\n", - "Requirement already satisfied: pillow in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from explainableai) (10.4.0)\n", - "Requirement already satisfied: google-ai-generativelanguage==0.6.10 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (0.6.10)\n", - "Requirement already satisfied: google-api-core in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.20.0)\n", - "Requirement already satisfied: google-api-python-client in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.147.0)\n", - "Requirement already satisfied: google-auth>=2.15.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.35.0)\n", - "Requirement already satisfied: protobuf in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (5.28.2)\n", - "Requirement already satisfied: pydantic in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (2.9.2)\n", - "Requirement already satisfied: tqdm in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (4.66.5)\n", - "Requirement already satisfied: typing-extensions in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-generativeai->explainableai) (4.12.2)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.24.0)\n", - "Requirement already satisfied: comm>=0.1.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (0.2.2)\n", - "Requirement already satisfied: ipython>=6.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (8.28.0)\n", - "Requirement already satisfied: traitlets>=4.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (5.14.3)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (4.0.13)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipywidgets->explainableai) (3.0.13)\n", - "Requirement already satisfied: scikit-image>=0.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from lime->explainableai) (0.24.0)\n", - "Requirement already satisfied: joblib>=1.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-learn->explainableai) (1.4.2)\n", - "Requirement already satisfied: threadpoolctl>=3.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-learn->explainableai) (3.5.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (24.1)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (3.1.4)\n", - "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from matplotlib->explainableai) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2020.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pandas->explainableai) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pandas->explainableai) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from plotly->explainableai) (9.0.0)\n", - "Requirement already satisfied: chardet in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from reportlab->explainableai) (5.2.0)\n", - "Requirement already satisfied: slicer==0.0.8 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (0.0.8)\n", - "Requirement already satisfied: numba in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (0.60.0)\n", - "Requirement already satisfied: cloudpickle in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from shap->explainableai) (3.0.0)\n", - "Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core->google-generativeai->explainableai) (1.65.0)\n", - "Requirement already satisfied: requests<3.0.0.dev0,>=2.18.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core->google-generativeai->explainableai) (2.32.3)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (5.5.0)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (0.4.1)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-auth>=2.15.0->google-generativeai->explainableai) (4.9)\n", - "Requirement already satisfied: decorator in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (5.1.1)\n", - "Requirement already satisfied: jedi>=0.16 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.1.7)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (3.0.48)\n", - "Requirement already satisfied: pygments>=2.4.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (2.18.0)\n", - "Requirement already satisfied: stack-data in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.6.3)\n", - "Requirement already satisfied: colorama in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets->explainableai) (0.4.6)\n", - "Requirement already satisfied: six>=1.5 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib->explainableai) (1.16.0)\n", - "Requirement already satisfied: networkx>=2.8 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (3.3)\n", - "Requirement already satisfied: imageio>=2.33 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (2.35.1)\n", - "Requirement already satisfied: tifffile>=2022.8.12 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (2024.9.20)\n", - "Requirement already satisfied: lazy-loader>=0.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from scikit-image>=0.12->lime->explainableai) (0.4)\n", - "Requirement already satisfied: httplib2<1.dev0,>=0.19.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (0.22.0)\n", - "Requirement already satisfied: google-auth-httplib2<1.0.0,>=0.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (0.2.0)\n", - "Requirement already satisfied: uritemplate<5,>=3.0.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-python-client->google-generativeai->explainableai) (4.1.1)\n", - "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from numba->shap->explainableai) (0.43.0)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pydantic->google-generativeai->explainableai) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pydantic->google-generativeai->explainableai) (2.23.4)\n", - "Requirement already satisfied: grpcio<2.0dev,>=1.33.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1->google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.66.2)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1->google-ai-generativelanguage==0.6.10->google-generativeai->explainableai) (1.66.2)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets->explainableai) (0.8.4)\n", - "Requirement already satisfied: wcwidth in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets->explainableai) (0.2.13)\n", - "Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth>=2.15.0->google-generativeai->explainableai) (0.6.1)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (3.3.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from requests<3.0.0.dev0,>=2.18.0->google-api-core->google-generativeai->explainableai) (2024.8.30)\n", - "Requirement already satisfied: executing>=1.2.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (2.1.0)\n", - "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (2.4.1)\n", - "Requirement already satisfied: pure-eval in c:\\users\\shravya h jain\\desktop\\explain\\explainableai\\.venv\\lib\\site-packages (from stack-data->ipython>=6.1.0->ipywidgets->explainableai) (0.2.3)\n" - ] - } - ], - "source": [ - "# import os\n", - "# import numpy as np\n", - "# import pandas as pd\n", - "# from sklearn.ensemble import RandomForestClassifier\n", - "# from sklearn.linear_model import LogisticRegression\n", - "# from xgboost import XGBClassifier\n", - "# from sklearn.neural_network import MLPClassifier\n", - "# from sklearn.model_selection import GridSearchCV, train_test_split\n", - "# from sklearn.preprocessing import StandardScaler\n", - "# from sklearn.pipeline import Pipeline\n", - "# from sklearn.datasets import load_breast_cancer\n", - "# from sklearn.metrics import accuracy_score\n", - "# import torch\n", - "# import torch.nn as nn\n", - "# import torch.optim as optim\n", - "# from torch.utils.data import TensorDataset, DataLoader\n", - "\n", - "# # Set the Google API key as an environment variable (if required)\n", - "# os.environ['GOOGLE_API_KEY'] = 'YOUR_API_KEY'\n", - "\n", - "# # Load dataset\n", - "# data = load_breast_cancer()\n", - "# X = data.data\n", - "# y = data.target\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)\n", - "# X_train = pd.DataFrame(X_train, columns=data.feature_names)\n", - "# X_test = pd.DataFrame(X_test, columns=data.feature_names)\n", - "\n", - "# # Feature scaling\n", - "# scaler = StandardScaler()\n", - "\n", - "# # Logistic Regression with 'saga' solver and hyperparameter tuning\n", - "# logistic_regression_params = {\n", - "# 'logistic_regression__C': [0.01, 0.1, 1, 10],\n", - "# 'logistic_regression__penalty': ['l2', 'elasticnet'],\n", - "# 'logistic_regression__l1_ratio': [0.1, 0.5, 0.9],\n", - "# 'logistic_regression__solver': ['saga'],\n", - "# 'logistic_regression__max_iter': [5000]\n", - "# }\n", - "# logistic_regression_pipeline = Pipeline([\n", - "# ('scaler', scaler),\n", - "# ('logistic_regression', LogisticRegression())\n", - "# ])\n", - "# logistic_regression_gs = GridSearchCV(logistic_regression_pipeline, logistic_regression_params, cv=5)\n", - "\n", - "# # Random Forest with hyperparameter tuning\n", - "# random_forest_params = {\n", - "# 'n_estimators': [1000, 2000, 3000],\n", - "# 'max_depth': [10, 20, 30, None],\n", - "# 'min_samples_split': [2, 5, 10],\n", - "# 'min_samples_leaf': [1, 2, 4]\n", - "# }\n", - "# random_forest = RandomForestClassifier(random_state=42)\n", - "# random_forest_gs = GridSearchCV(random_forest, random_forest_params, cv=5)\n", - "\n", - "# # XGBoost with hyperparameter tuning\n", - "# xgboost_params = {\n", - "# 'n_estimators': [1000, 2000, 3000],\n", - "# 'learning_rate': [0.01, 0.1, 0.3],\n", - "# 'max_depth': [3, 6, 9],\n", - "# 'subsample': [0.7, 0.8, 1.0]\n", - "# }\n", - "# xgboost = XGBClassifier(random_state=42, use_label_encoder=False)\n", - "# xgboost_gs = GridSearchCV(xgboost, xgboost_params, cv=5)\n", - "\n", - "# # Neural Network (MLP) with hyperparameter tuning\n", - "# mlp_params = {\n", - "# 'hidden_layer_sizes': [(100, 50), (128, 64, 32)],\n", - "# 'activation': ['relu', 'tanh'],\n", - "# 'solver': ['adam'],\n", - "# 'alpha': [0.0001, 0.001],\n", - "# 'learning_rate': ['constant', 'adaptive'],\n", - "# 'max_iter': [3000]\n", - "# }\n", - "# mlp = MLPClassifier(random_state=42)\n", - "# mlp_gs = GridSearchCV(mlp, mlp_params, cv=5)\n", - "\n", - "# # Fit the models\n", - "# logistic_regression_gs.fit(X_train, y_train)\n", - "# random_forest_gs.fit(X_train, y_train)\n", - "# xgboost_gs.fit(X_train, y_train)\n", - "# mlp_gs.fit(X_train, y_train)\n", - "\n", - "# # Evaluate the models on the test set\n", - "# logistic_regression_best = logistic_regression_gs.best_estimator_\n", - "# random_forest_best = random_forest_gs.best_estimator_\n", - "# xgboost_best = xgboost_gs.best_estimator_\n", - "# mlp_best = mlp_gs.best_estimator_\n", - "\n", - "# # Store models in a dictionary\n", - "# models = {\n", - "# 'Logistic Regression': logistic_regression_best,\n", - "# 'Random Forest': random_forest_best,\n", - "# 'XGBoost': xgboost_best,\n", - "# 'Neural Network (MLP)': mlp_best\n", - "# }\n", - "\n", - "# # Predictions and accuracy calculations\n", - "# for model_name, model in models.items():\n", - "# model.fit(X_train, y_train) # Fit the model again for consistency\n", - "# accuracy = model.score(X_test, y_test) # Calculate test accuracy\n", - "# print(f\"{model_name} Test Accuracy: {accuracy * 100:.2f}%\")\n", - "\n", - "# # PyTorch neural network\n", - "# class PyTorchNN(nn.Module):\n", - "# def __init__(self, input_size):\n", - "# super(PyTorchNN, self).__init__()\n", - "# self.fc1 = nn.Linear(input_size, 128)\n", - "# self.fc2 = nn.Linear(128, 64)\n", - "# self.fc3 = nn.Linear(64, 2) # Output layer for binary classification\n", - "\n", - "# def forward(self, x):\n", - "# x = torch.relu(self.fc1(x))\n", - "# x = torch.relu(self.fc2(x))\n", - "# x = self.fc3(x)\n", - "# return x\n", - "\n", - "# # Convert data to PyTorch tensors\n", - "# X_train_tensor = torch.tensor(X_train.values, dtype=torch.float32)\n", - "# y_train_tensor = torch.tensor(y_train, dtype=torch.long)\n", - "# X_test_tensor = torch.tensor(X_test.values, dtype=torch.float32)\n", - "# y_test_tensor = torch.tensor(y_test, dtype=torch.long)\n", - "\n", - "# # Training PyTorch model\n", - "# input_size = X_train.shape[1]\n", - "# pytorch_model = PyTorchNN(input_size)\n", - "\n", - "# criterion = nn.CrossEntropyLoss()\n", - "# optimizer = optim.Adam(pytorch_model.parameters(), lr=0.001)\n", - "\n", - "# # Training loop\n", - "# num_epochs = 100\n", - "# for epoch in range(num_epochs):\n", - "# # Forward pass\n", - "# outputs = pytorch_model(X_train_tensor)\n", - "# loss = criterion(outputs, y_train_tensor)\n", - "\n", - "# # Backward and optimize\n", - "# optimizer.zero_grad()\n", - "# loss.backward()\n", - "# optimizer.step()\n", - "\n", - "# # Print every 10 epochs\n", - "# if (epoch+1) % 10 == 0:\n", - "# print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')\n", - "\n", - "# # Evaluate PyTorch model\n", - "# with torch.no_grad():\n", - "# pytorch_outputs = pytorch_model(X_test_tensor)\n", - "# _, predicted = torch.max(pytorch_outputs, 1)\n", - "# pytorch_accuracy = accuracy_score(y_test_tensor, predicted)\n", - "# print(f\"PyTorch Neural Network Test Accuracy: {pytorch_accuracy * 100:.2f}%\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:24] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:27] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:27] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:30] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:31] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:33] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:36] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:44] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:48] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:49] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:49] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:50] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:54] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:56] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:57] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:50:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:03] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:06] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:08] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:09] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:10] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:15] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:15] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:24] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:27] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:30] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:31] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:33] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:44] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:48] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:50] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:54] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:54] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:54] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:56] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:56] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:57] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:57] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:57] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:51:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:03] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:06] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:08] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:08] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:09] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:10] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:10] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:10] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:13] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:13] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:13] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:13] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:15] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:15] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:24] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:27] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:30] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:31] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:33] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:36] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:36] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:44] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:48] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:48] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:49] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:49] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:50] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:51] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:54] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:56] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:57] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:52:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:03] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:03] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:06] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:06] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:06] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:08] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:09] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:09] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:10] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:11] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:12] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:13] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:14] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:15] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:16] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:17] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:18] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:19] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:20] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:21] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:22] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:23] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:24] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:24] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:25] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:26] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:27] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:28] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:29] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:30] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:30] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:31] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:33] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:33] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:35] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:36] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:37] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:38] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:39] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:40] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:41] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:42] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:43] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:44] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:44] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting Logistic Regression...\n", + "Fitting Random Forest...\n", + "Fitting XGBoost...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:14:36] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + " warnings.warn(smsg, UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting MLP Classifier...\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:45] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + "Evaluating Models on Test Set:\n", + "Logistic Regression Test Accuracy: 96.49%\n", + "Random Forest Test Accuracy: 96.49%\n", + "XGBoost Test Accuracy: 97.37%\n", + "Neural Network (MLP) Test Accuracy: 97.37%\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + "Training PyTorch Model...\n", + "Epoch [10/100], Loss: 0.0223\n", + "Epoch [20/100], Loss: 0.0229\n", + "Epoch [30/100], Loss: 0.0022\n", + "Epoch [40/100], Loss: 0.0048\n", + "Epoch [50/100], Loss: 0.0000\n", + "Epoch [60/100], Loss: 0.0000\n", + "Epoch [70/100], Loss: 0.0013\n", + "Epoch [80/100], Loss: 0.0005\n", + "Epoch [90/100], Loss: 0.0002\n", + "Epoch [100/100], Loss: 0.0000\n", + "PyTorch Model Test Accuracy: 98.25%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:14:40,727 - explainableai.llm_explanations - DEBUG - Initializing gemini...\n", + "2024-10-07 16:14:40,727 - explainableai.llm_explanations - INFO - Gemini initialize successfully...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:46] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + "Performing XAI Analysis on Scikit-learn Models:\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + "Analyzing Logistic Regression...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:14:40,746 - explainableai.core - DEBUG - Fitting the model...\n", + "2024-10-07 16:14:40,746 - explainableai.core - INFO - Preprocessing data...\n", + "2024-10-07 16:14:40,748 - explainableai.core - DEBUG - Creating Preprocessing Steps...\n", + "2024-10-07 16:14:40,749 - explainableai.core - INFO - Pre proccessing completed...\n", + "2024-10-07 16:14:40,749 - explainableai.core - DEBUG - Fitting and transforming the data...\n", + "2024-10-07 16:14:40,760 - explainableai.core - DEBUG - Updating feature names...\n", + "2024-10-07 16:14:40,761 - explainableai.core - INFO - Fitting models and analyzing...\n", + "2024-10-07 16:14:40,762 - explainableai.core - DEBUG - Comparing the models...\n", + "2024-10-07 16:14:41,777 - explainableai.core - INFO - Comparing successfully...\n", + "2024-10-07 16:14:41,997 - explainableai.core - INFO - Model fitting is complete...\n", + "2024-10-07 16:14:41,997 - explainableai.core - DEBUG - Analysing...\n", + "2024-10-07 16:14:41,997 - explainableai.core - INFO - Evaluating model performance...\n", + "2024-10-07 16:14:41,997 - explainableai.model_evaluation - DEBUG - Evaluting model\n", + "2024-10-07 16:14:41,997 - explainableai.model_evaluation - DEBUG - Evaluating report...\n", + "2024-10-07 16:14:42,009 - explainableai.model_evaluation - INFO - Report Generated...\n", + "2024-10-07 16:14:42,010 - explainableai.core - INFO - Calculating feature importance...\n", + "2024-10-07 16:14:42,010 - explainableai.core - DEBUG - Calculating the features...\n", + "2024-10-07 16:14:42,078 - explainableai.core - INFO - Features calculated...\n", + "2024-10-07 16:14:42,078 - explainableai.core - INFO - Generating visualizations...\n", + "2024-10-07 16:14:42,079 - explainableai.core - DEBUG - Generating visulatization...\n", + "2024-10-07 16:14:42,079 - explainableai.visualizations - DEBUG - Plotting feature importance...\n", + "2024-10-07 16:14:42,260 - explainableai.visualizations - INFO - Feature importance plot saved...\n", + "2024-10-07 16:14:42,260 - explainableai.visualizations - DEBUG - Plotting partial dependence...\n", + "2024-10-07 16:14:47,802 - explainableai.visualizations - INFO - Partial dependence plot saved...\n", + "2024-10-07 16:14:47,802 - explainableai.visualizations - DEBUG - Plotting learning curve...\n", + "2024-10-07 16:14:50,205 - explainableai.visualizations - INFO - Learning curve plot saved.\n", + "2024-10-07 16:14:50,205 - explainableai.visualizations - DEBUG - Plot correlation heatmap\n", + "2024-10-07 16:14:51,197 - explainableai.visualizations - DEBUG - Plotting roc curve...\n", + "2024-10-07 16:14:51,251 - explainableai.visualizations - INFO - Plotting roc curve successfully...\n", + "2024-10-07 16:14:51,263 - explainableai.visualizations - DEBUG - Plot precision recall curve...\n", + "2024-10-07 16:14:51,314 - explainableai.visualizations - INFO - Plot precision recall curve successfully...\n", + "2024-10-07 16:14:51,316 - explainableai.core - INFO - Visualizations generated.\n", + "2024-10-07 16:14:51,317 - explainableai.core - INFO - Calculating SHAP values...\n", + "2024-10-07 16:14:51,317 - explainableai.feature_analysis - DEBUG - Convert X to Dataframe...\n", + "2024-10-07 16:14:51,318 - explainableai.feature_analysis - ERROR - Error calculating SHAP values: Model type not yet supported by TreeExplainer: \n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 34, in calculate_shap_values\n", + " logger.error(\"Model type:\", type(model))\n", + "Message: 'Model type:'\n", + "Arguments: (,)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 35, in calculate_shap_values\n", + " logger.error(\"X shape:\", X.shape)\n", + "Message: 'X shape:'\n", + "Arguments: ((455, 30),)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 36, in calculate_shap_values\n", + " logger.error(\"X dtype:\", X.dtypes)\n", + "Message: 'X dtype:'\n", + "Arguments: (mean radius float64\n", + "mean texture float64\n", + "mean perimeter float64\n", + "mean area float64\n", + "mean smoothness float64\n", + "mean compactness float64\n", + "mean concavity float64\n", + "mean concave points float64\n", + "mean symmetry float64\n", + "mean fractal dimension float64\n", + "radius error float64\n", + "texture error float64\n", + "perimeter error float64\n", + "area error float64\n", + "smoothness error float64\n", + "compactness error float64\n", + "concavity error float64\n", + "concave points error float64\n", + "symmetry error float64\n", + "fractal dimension error float64\n", + "worst radius float64\n", + "worst texture float64\n", + "worst perimeter float64\n", + "worst area float64\n", + "worst smoothness float64\n", + "worst compactness float64\n", + "worst concavity float64\n", + "worst concave points float64\n", + "worst symmetry float64\n", + "worst fractal dimension float64\n", + "dtype: object,)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 37, in calculate_shap_values\n", + " logger.error(\"Feature names:\", feature_names)\n", + "Message: 'Feature names:'\n", + "Arguments: (['mean radius', 'mean texture', 'mean perimeter', 'mean area', 'mean smoothness', 'mean compactness', 'mean concavity', 'mean concave points', 'mean symmetry', 'mean fractal dimension', 'radius error', 'texture error', 'perimeter error', 'area error', 'smoothness error', 'compactness error', 'concavity error', 'concave points error', 'symmetry error', 'fractal dimension error', 'worst radius', 'worst texture', 'worst perimeter', 'worst area', 'worst smoothness', 'worst compactness', 'worst concavity', 'worst concave points', 'worst symmetry', 'worst fractal dimension'],)\n", + "2024-10-07 16:14:51,394 - explainableai.core - INFO - Performing cross-validation...\n", + "2024-10-07 16:14:51,394 - explainableai.model_evaluation - DEBUG - Cross validation...\n", + "2024-10-07 16:14:52,185 - explainableai.model_evaluation - INFO - validated...\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - Model comparison results:\n", + "2024-10-07 16:14:52,185 - explainableai.core - DEBUG - Printing results...\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - \n", + "Model Performance:\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - accuracy: 0.9890\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - f1_score: 0.9890\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - confusion_matrix:\n", + "[[165 4]\n", + " [ 1 285]]\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - classification_report:\n", + " precision recall f1-score support\n", + "\n", + " 0 0.99 0.98 0.99 169\n", + " 1 0.99 1.00 0.99 286\n", + "\n", + " accuracy 0.99 455\n", + " macro avg 0.99 0.99 0.99 455\n", + "weighted avg 0.99 0.99 0.99 455\n", + "\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - \n", + "Top 5 Important Features:\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - mean concave points: 0.0631\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - worst texture: 0.0532\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - radius error: 0.0448\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - worst radius: 0.0442\n", + "2024-10-07 16:14:52,185 - explainableai.core - INFO - worst concavity: 0.0286\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - \n", + "Cross-validation Score: 0.9780 (+/- 0.0241)\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - \n", + "Visualizations saved:\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - Feature Importance: feature_importance.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - Partial Dependence: partial_dependence.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - Learning Curve: learning_curve.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - Correlation Heatmap: correlation_heatmap.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - ROC Curve: roc_curve.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - - Precision-Recall Curve: precision_recall_curve.png\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - \n", + "SHAP values calculation failed. Please check the console output for more details.\n", + "2024-10-07 16:14:52,200 - explainableai.core - INFO - Generating LLM explanation...\n", + "2024-10-07 16:14:52,204 - explainableai.llm_explanations - DEBUG - Generate content...\n", + "2024-10-07 16:14:53,852 - explainableai.llm_explanations - ERROR - Some error in generating response... 400 API key not valid. Please pass a valid API key. [reason: \"API_KEY_INVALID\"\n", + "domain: \"googleapis.com\"\n", + "metadata {\n", + " key: \"service\"\n", + " value: \"generativelanguage.googleapis.com\"\n", + "}\n", + "]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Results for Logistic Regression:\n", + "{'model_performance': {'accuracy': 0.989010989010989, 'f1_score': np.float64(0.9889904514693614), 'confusion_matrix': array([[165, 4],\n", + " [ 1, 285]]), 'classification_report': ' precision recall f1-score support\\n\\n 0 0.99 0.98 0.99 169\\n 1 0.99 1.00 0.99 286\\n\\n accuracy 0.99 455\\n macro avg 0.99 0.99 0.99 455\\nweighted avg 0.99 0.99 0.99 455\\n'}, 'feature_importance': {'mean concave points': np.float64(0.0630769230769231), 'worst texture': np.float64(0.05318681318681322), 'radius error': np.float64(0.044835164835164885), 'worst radius': np.float64(0.04417582417582423), 'worst concavity': np.float64(0.02857142857142859), 'worst area': np.float64(0.0241758241758242), 'worst symmetry': np.float64(0.02197802197802201), 'smoothness error': np.float64(0.007252747252747316), 'compactness error': np.float64(0.007032967032967097), 'worst concave points': np.float64(0.005054945054945081), 'texture error': np.float64(0.003736263736263756), 'worst perimeter': np.float64(0.0035164835164835373), 'fractal dimension error': np.float64(0.002637362637362628), 'symmetry error': np.float64(0.002417582417582409), 'area error': np.float64(0.0021978021978022013), 'worst smoothness': np.float64(0.001538461538461533), 'mean area': np.float64(0.000879120879120876), 'mean symmetry': np.float64(0.000439560439560438), 'mean radius': np.float64(0.000219780219780219), 'mean texture': np.float64(0.0), 'mean perimeter': np.float64(0.0), 'mean smoothness': np.float64(0.0), 'mean compactness': np.float64(0.0), 'mean concavity': np.float64(0.0), 'mean fractal dimension': np.float64(0.0), 'perimeter error': np.float64(0.0), 'concavity error': np.float64(0.0), 'concave points error': np.float64(0.0), 'worst compactness': np.float64(0.0), 'worst fractal dimension': np.float64(0.0)}, 'shap_values': None, 'cv_scores': (np.float64(0.9780219780219781), np.float64(0.024075716813413892)), 'model_comparison': {'Model': {'cv_score': np.float64(0.9906088751289989), 'test_score': 0.989010989010989}}, 'llm_explanation': None}\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:47] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "Analyzing Random Forest...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:14:53,852 - explainableai.core - DEBUG - Fitting the model...\n", + "2024-10-07 16:14:53,852 - explainableai.core - INFO - Preprocessing data...\n", + "2024-10-07 16:14:53,858 - explainableai.core - DEBUG - Creating Preprocessing Steps...\n", + "2024-10-07 16:14:53,858 - explainableai.core - INFO - Pre proccessing completed...\n", + "2024-10-07 16:14:53,859 - explainableai.core - DEBUG - Fitting and transforming the data...\n", + "2024-10-07 16:14:53,862 - explainableai.core - DEBUG - Updating feature names...\n", + "2024-10-07 16:14:53,863 - explainableai.core - INFO - Fitting models and analyzing...\n", + "2024-10-07 16:14:53,865 - explainableai.core - DEBUG - Comparing the models...\n", + "2024-10-07 16:15:06,067 - explainableai.core - INFO - Comparing successfully...\n", + "2024-10-07 16:15:08,761 - explainableai.core - INFO - Model fitting is complete...\n", + "2024-10-07 16:15:08,762 - explainableai.core - DEBUG - Analysing...\n", + "2024-10-07 16:15:08,762 - explainableai.core - INFO - Evaluating model performance...\n", + "2024-10-07 16:15:08,764 - explainableai.model_evaluation - DEBUG - Evaluting model\n", + "2024-10-07 16:15:08,764 - explainableai.model_evaluation - DEBUG - Evaluating report...\n", + "2024-10-07 16:15:08,821 - explainableai.model_evaluation - INFO - Report Generated...\n", + "2024-10-07 16:15:08,822 - explainableai.core - INFO - Calculating feature importance...\n", + "2024-10-07 16:15:08,823 - explainableai.core - DEBUG - Calculating the features...\n", + "2024-10-07 16:15:23,665 - explainableai.core - INFO - Features calculated...\n", + "2024-10-07 16:15:23,666 - explainableai.core - INFO - Generating visualizations...\n", + "2024-10-07 16:15:23,666 - explainableai.core - DEBUG - Generating visulatization...\n", + "2024-10-07 16:15:23,667 - explainableai.visualizations - DEBUG - Plotting feature importance...\n", + "2024-10-07 16:15:23,821 - explainableai.visualizations - INFO - Feature importance plot saved...\n", + "2024-10-07 16:15:23,822 - explainableai.visualizations - DEBUG - Plotting partial dependence...\n", + "2024-10-07 16:15:26,804 - explainableai.visualizations - INFO - Partial dependence plot saved...\n", + "2024-10-07 16:15:26,804 - explainableai.visualizations - DEBUG - Plotting learning curve...\n", + "2024-10-07 16:15:39,225 - explainableai.visualizations - INFO - Learning curve plot saved.\n", + "2024-10-07 16:15:39,226 - explainableai.visualizations - DEBUG - Plot correlation heatmap\n", + "2024-10-07 16:15:40,168 - explainableai.visualizations - DEBUG - Plotting roc curve...\n", + "2024-10-07 16:15:40,273 - explainableai.visualizations - INFO - Plotting roc curve successfully...\n", + "2024-10-07 16:15:40,274 - explainableai.visualizations - DEBUG - Plot precision recall curve...\n", + "2024-10-07 16:15:40,369 - explainableai.visualizations - INFO - Plot precision recall curve successfully...\n", + "2024-10-07 16:15:40,369 - explainableai.core - INFO - Visualizations generated.\n", + "2024-10-07 16:15:40,369 - explainableai.core - INFO - Calculating SHAP values...\n", + "2024-10-07 16:15:40,375 - explainableai.feature_analysis - DEBUG - Convert X to Dataframe...\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABNoAAAHACAYAAAB0/gUQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClRUlEQVR4nOzdd3QV1d7G8e+ck14hhIQAofcWOoQioChFKQLSRIqIgjRFQbgqFuxKEUFQqggigiggCApK74n03mtCCSkkpJ7z/oFyb15QE00yycnzWWvWugxzhueM3L3Jb3Yx7Ha7HREREREREREREflXLGYHEBERERERERERcQQqtImIiIiIiIiIiGQBFdpERERERERERESygAptIiIiIiIiIiIiWUCFNhERERERERERkSygQpuIiIiIiIiIiEgWUKFNREREREREREQkC6jQJiIiIiIiIiIikgWczA6QG9lsNi5duoS3tzeGYZgdR0Qkz7Pb7cTFxVG0aFEsFr3jUT8jIpK11M/cTX2NiEjWymhfo0LbPVy6dIng4GCzY4iIOJzz589TvHhxs2OYTv2MiEj2UD/zX+prRESyx9/1NSq03YO3tzdw++H5+PiYnEZEJO+LjY0lODj4Tvua36mfERHJWupn7qa+RkQka2W0r1Gh7R7+GFrt4+OjTklEJAtp6spt6mdERLKH+pn/Ul8jIpI9/q6v0QIGIiIiIiIiIiIiWUCFNhERERERERERkSygQpuIiIiIiIiIiEgWUKFNREREREREREQkC6jQJiIiIiIiIiIikgVUaBMREREREREREckCKrSJiIjkMSv3XSY6IdnsGCIiIiIi8v84mR1AREREMu70tXiGLAzHzcnKY3WL069xaUr7e5odS0RERERE0Ig2ERGRPCU6IZlKRXy4lZLGvG1nuX/8egbM282OU9ex2+1mxxMRERERydc0ok1ERCQPqVWiIKuGNWHbqevM2nSadUeu8POhSH4+FEn1Yr481bQ0basH4WzVuzQRERERkZymQpuIiEgeYxgGjcr606isPyeu3GT2ltN8G3aB/RdjGP71Ht778Qh9GpWiR70S+Ho4mx1XRERERCTfyBWvu6dOnUqpUqVwc3OjQYMG7Ny580+vbd68OYZh3HU8/PDDd66x2+2MHTuWoKAg3N3dadmyJcePH8+JryIiIpKjygV48c6j1dk2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yzeMHFH1WGgjIiIiIiIiIiKTN6K7D7r6uuLG7XJM35gJU7xIk4U2IiIiIiIiIiIyeVqtBvOHhMDGUov9+RfxxaEzxg6pChbaiIiIiIiIiIhIFfxaNENSv0AAwDtbsnDu2k0jR6SLhTYiIiIiIiIiIlKNFx/zQ5i3C0p/v4sZJnYJKQttRERERERERESkGhZaDRYOCYG1hRbf5/yGr4/+29ghKVhoIyIiIiIiIiIiVQlwd8SkmAAAwOx//YILpbeMHNEfWGgjIiIiIiIiIiLVGdfLHx29nHDt5h28uem4SVxCykIbERERERERERGpjpWFFguHhMJSq8H2E+exJfOcsUNioY2IiIiIiIiIiNSpg5cT/tq7HQBg1jcncOn670aNh4U2IiIiIiIiIiJSrYm92yHQ3RGXym5j9r9+MWosLLQREREREREREZFqWVtqsfAvIdBqgG+P/YodJ4qNFgsLbUREREREREREpGohrV0wrldbAMD/bDqOazfuGCUOFtqIiIiIiIiIiEj1EmMC4N+yGX4r/R1ztxjnElIW2oiIiIiIiIiISPVsrSywcEgINBrgq8Nn8X3OhSaPgYU2IiIiIiIiIiIyC519XDG6hx8AYMbGTJTeatpLSFloIyIiIiIiIiIis5EU+zDauNrj3LVbmPdddpOOzUIbERERERERERGZDXtrS8x/NgQA8Hn6aRzIv9hkY7PQZiLKysqg0Wig0WhQVlbW5PtpSL/7jdlQczYkU4ypOmqJ01BMfb6mHh9RTUzttWuseBp73KaeV2OM1xRzMLXXoz6mHqupx0fqdz+vsfr0VdMxirnlkvoy9fjUho+nYUS2dcPw7m0AAFM3/oyy3+82ybgstBERERERERERkdmZNiAID7nY4czlm1i4PadJxmShjYiIiIiIiIiIzI6DjSX+9kwwAOCfB4twqOhyo4/JQhsREREREREREZmlqIdb4rkurSECTP3qZ9y6U96o47HQRkREREREREREZut/nuiAVo42uHmnHKcv32jUsSwbde9ERERERERERERG5GxnhY9HPYI2bvZwsrVq1LFYaCMiIiIiIiIiIrPW6SHnJhmHl44SEREREREREREZAAttREREREREREREBsBCGxERERERERERkQGw0EZERERERERERGQALLQREREREREREREZAAttREREREREREREBsBCGxER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6NGjUlpaqrQJDAyUjRs3KrffffddcXFxkW+++UZ+/vlnGTx4sPj5+cnNmzeNMQVF//79JTw8XNLT02X//v0SEBAg8fHxyv1nz56VwMBASU9PFxGR/Px8mTNnjvz0009SWFgo33zzjfj7+0uvXr2aPPZ169aJjY2NrF69Wn755RcZN26cuLi4SHFxsYiIjBgxQqZNm6a0T0tLE0tLS1m0aJFkZWXJrFmzxMrKSjIzM5s89urUdz6zZ8+W7du3S0FBgRw+fFief/55sbW1lRMnThhrCorS0lLlfQFAFi9eLEePHpVTp06JiMi0adNkxIgRSvuTJ0+Kvb29TJkyRbKysmT58uViYWEh27ZtM9YUFPWdy5IlS2TTpk2Sl5cnmZmZMmnSJNFqtbJr1y5jTUHH+PHjxdnZWVJTU+XcuXPKz40bN5Q2anvvmLr65ozS0lJJSkqSgwcPSmFhoezatUsiIiIkICBAbt26ZdKxi5hWvlNTjlN7TlNzDlN7zjK3PPUgU/uaWxM1rcX6qH2d1kfNa3ht1L7G18Sc135jH6+w0GYkCQkJAqDKz/fff6+0ASDJycnK7YqKCnnzzTfF3d1dbGxspE+fPpKTk9P0wd/j0qVLEh8fLw4ODuLk5CSjR4/WSeaFhYU6czt9+rT06tVLXF1dxcbGRtq1aydTpkyRa9euGSX+Dz74QNq0aSPW1tbStWtX+eGHH5T7oqKiJCEhQaf9l19+KQ8//LBYW1tLx44dZcuWLU0csX71mU9iYqLS1t3dXQYOHChHjhwxQtRVVX599L0/lfEnJCRIVFRUlT5hYWFibW0t/v7+Ou8fY6rvXObPny9t27YVW1tbcXV1lejoaNm9e7dxgq9GdXO5d71S43vHlNU3Z9y4cUP69esnLVu2FCsrK/Hx8ZGxY8cqf+yacuwippXv1Jbj1J7T1JrD1J6zzC1PPcjUvubWRG1rsT5qX6f1UesaXhu1r/E1Mee139jHK5r/HwQRERERERERERHdB62xAyAiIiIiIiIiIjIHLLQREREREREREREZAAttREREREREREREBsBCGxERERERERERkQGw0EZERERERERERGQALLQREREREREREREZAAttREREREREREREBsBCGxGZhNWrV8PFxcXYYRARERERkR73/t3+1ltvISwszGjxEJkaFtqIyCQMHToUubm59eoT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xYsXUVFRgZkzZ+Kbb75Bfn4+Tpw4gc2bNyMoKKjBYxARGVLz5s0REhKCNWvWKN+42atXLxw5cgS5ubk6Z7Q1NG8sXrwYa9euRXZ2NnJzc7F+/Xp4eHgoZwn4+voiJSUFxcXFuHLlSrX7aNWqFezs7LBt2zacP38e165dA1B7jjh69ChmzpyJVatW4dFHH8XixYsxadIknDx5Uu9+H3/8cWzZsgVbtmxBdnY2xo8fj6tXr9b6eE6dOhUHDhzAxIkTkZGRgby8PHzzzTeYOHFirX2JiB507dq1w507d/DBBx/g5MmT+PTTT7FixQqdNq+++iq2bduGRYsWIS8vD3//+9+V45ua1Lamb968GcuWLUNGRgZOnTqFTz75BBUVFQgMDKx2f4Zc6xvruIToz1hoI7Pj5eWFtLQ0lJeXo1+/fggODkZiYiJcXFyg1Wqh1Wqxbt06HD58GJ06dcJ///d/Y+HChQYZe8OGDXjkkUcQHx+PDh064PXXX1f+ax8REYEvv/wS69atQ6dOnTBz5kzMmTNH52uua2NtbY0dO3agVatWGDhwIIKDg/Huu+8qZzYsXrwYzZs3R48ePTBo0CDExsYiIiKiyn6GDBmifPZCXFyczn0vvfQSVq1aheTkZAQHByMqKgqrV6+Gn5+f3thGjhyJmzdvomvXrpgwYQImTZqEcePGKfcnJyejc+fOePLJJxEZGQkRwdatW6tcHlofSUlJsLCwQIcOHdCyZUucPn0a1tbWmD59OkJCQtCrVy9YWFhg3bp1DR6DiMjQoqKiUF5erhTaXF1d0aFDB3h4eOgcZDQ0bzg6OmLBggXo0qULHnnkERQVFWHr1q3K2Qrvvfcedu7cCW9vb4SHh1e7D0tLSyxbtgwffvghvLy8lIMPfTni1q1bGD58OEaNGoVBgwYBAMaNG4fevXtjxIgRKC8vr3G/L774IhISEjBy5EhERUXB39+/1rPZgD/O9N6zZw9yc3PRs2dPhIeHY+bMmfDy8qq1LxHRgy40NBSLFy/G/Pnz0alTJ6xZswbz5s3TadO9e3esXLkS77//PkJDQ7Fjxw688cYbevdb25ru4uKCjRs34vHHH0dQUBBWrFiBtWvXomPHjtXuz9BrfWMclxD9mUbuvXiaiKieoqOjERYWhqVLlxo7FCIiIiIiIiKj4RltREREREREREREBsBCGxERERERERERkQHw0lEiIiIiIiIiIiID4BltREREREREREREBsBCGxERERERERERkQGw0EZERERERERERGQALLQREREREREREREZAAttREREREREREREBsBCGxERERERERERkQGw0EZERERERERERGQALLQREREREREREREZAAttREREREREREREBvD/AJQJH5py4WoBAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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r145UD4Wk77ZfED/+mKLHA6H0bEAwGsE+lrVsXWwJGlLFqPiAACe76IjmzZ8ti6T9x5okkYX4j799FP16tVLa9euVd++fdW3b1+tW7dOvXv31qeffuqMjADwh0Z0bq3nLukvk0n6YM1ePfH9TqMjAYBXqZueur/I4CQAADjfWb1j5Wc1Ky23hKUZ0CSNLsTdfffdmj59ulauXKmnn35aTz/9tFasWKH77rtPd999tzMyAsAJTegdp4cv6C1JennRLs1akm5wIgDwHr2OFOIYEQcA8AYh/j46s2espNpRcUBjNboQd+DAAV111VXHHL/iiit04ABb+AIwxmXJbXXXuK6SpIfnbdf/ftlncCIA8A694kMlSVsYFQAA8BJHd0/9amOWqm12g9PA3TS6EDd69GgtXbr0mOPLli3TiBEjmiUUADTFLaM76voR7SVJ9366Sd9vzTY4EQB4vp4JYTKZpAOFFTpYUml0HAAAnG5EpyhFBfspv7RKi3fmGR0HbqbRu6aed955uueee7R27VqdeuqpkqRVq1bp448/1r///W999dVX9c4FgJZiMpl034TuOlxWrU/W7tetH6zX25MGa0jHSKOjAYDHCvazqn1UkNLzSrUls1Cju0YbHQkAAKeyWsw6v1+83liWoc/XZ2psjxijI8GNNLoQd8stt0iSXn75Zb388svH/ZlU+4bYZrOdZDwAaByTyaRHJ/ZWYXm15m/L0fXv/KIPrj9VvduEGR0NADxWr/gwCnEAAK8ycUCC3liWofnbc1RYXq2wAB+jI8FNNHpqqt1ub9CNIhwAo1gtZr1waX+d2iFCJZU1uvrNNfpifaZ2Hyxli3EAcIK6nVNZJw4A4CV6xIWqa0yIqmrsmreZ9fLRcI0eEfdbFRUV8vf3b64sANBs/H0smnXVIF06a5W2ZBbp9o82SJLCA33UOyFMfduEq0+bMPVNDFdMKO0YAJyMup1TM4sMTgIAQMswmUyaOCBBM77doc/W7delg9saHQluotGFOJvNpkceeUQzZ85UTk6OUlJS1KFDB91///1KSkrStdde64ycANBoIf4+eufvyXp5YZp+3nNY27OKVFBWraWpB7U09WDdeTGhfurTJlz9EmuLc30SwhUWyNByAGiongm1O6dmFpTrcGmVWgX5GpwIAADnO79fgh79bod+3n1Yew+VqW1koNGR4AYaXYh7+OGH9fbbb+vxxx/X9ddfX3e8V69eevbZZynEAXApEUG++tc5PSRJVTV27cwu1sb9Bdq4r0Cb9hcqNbdYOUWVmr8tR/O35dTdLykyUH1+M2quT5sw+VktRr0MAHBpof4+SooM1O5DZdqcWaiRXVobHQkAAKeLDfPX8E5RWpp6UJ+vz9TUsZ2NjgQ30OhC3DvvvKPXXntNY8aM0U033VR3vG/fvtqxY0ezhgOA5uRrNat3mzD1bhOmK05tJ0kqrazR1qwibdpfoI37C7Vpf4H2HCrT7iO3rzZmSZI6Rwfrk5uHsggrAPyBXglh2n2oTFuyKMQBALzHxAEJWpp6UJ+t36/bxnSSyWQyOhJcXKMLcZmZmerUqdMxx+12u6qrq5slFAC0lCA/qwa3j9Dg9hF1xwrKqrRpf6E27qstzq3OOKTU3BL964stev6SfnSuAHAcvRLC9PWmA9rChg0AAC8yrmesAn23aM+hMq3be1gD20X8+Z3g1Rq9a2qPHj20dOnSY45/8skn6t+/f7OEAgAjhQf6amSX1rp1TGe9fvUgvfP3wbKYTZq7MUufrcs0Oh4AuCR2TgUAeKNAX6vG94qVJN4roEEaXYh74IEHNGXKFD322GOy2+367LPPdP311+vhhx/WAw884IyMAGCo/m1b6fYxtes9PPDlFu05VGpwIgBwPb3iawtx+/LLVVjGLAkAgPe4aEAbSdLXmw6ossZmcBq4ukYX4s4//3zNnTtXP/74o4KCgvTAAw9o+/btmjt3rs444wxnZAQAw91yWicNTopQaZVNUz/coGqb3ehIAOBSwgJ9lBgRIEnaksWoOACA9zi1Q6RiQ/1VWF6thTtyjY4DF9foQpwkjRgxQvPnz1dubq7Kysq0bNkynXnmmc2dDQBchsVs0jOX9FOov1Ub9hXouR9TjY4EAC6H6akAAG9kMZt0Qf8ESdKnTE/Fn2hSIQ4AvFFCeIAemdhbkvTSojStTj9kcCIAcC29jhTi2LABAOBtJg6oLcQt3JGr/NIqg9PUV1Ft09o9h5VVUC6Hw2F0HK/XoF1TW7Vq1eBdAvPz808qEAC4snP6xGvRzjx9sna/7vhog76dOlJhgT5GxwIAl3B0nTgKcQAAb9MlJkS9EkK1JbNIX2/K0lVDkgzNU1Ft0+KUPM3bfEALtueqpLJGkhTib1X32FB1iwtRt9hQdY0NUdfYEAX7Nag8hGbQoCv97LPP1n196NAhPfTQQxo3bpyGDBkiSVq5cqW+//573X///U4JCQCu5P/O66lfdudr96Ey3ffFZr14af8Gf1gBAJ7s6NTU3YfKVFRRrVB/PqgAAHiPif3baEvmNn26LtOQQtwfFd8kqVWgj4oralRcUaM1u/O1Znf9QVRtIwLVLTak9hYXqm6xIWoXGSSLmfc5za1Bhbirr7667uuLLrpI//nPfzRlypS6Y7fddptefPFF/fjjj7rjjjuaPyUAuJBgP6ueu6S/Lnplhb7ZdECjurTW3wYlGh0LAAzXKshXCeEByiwo19bMIg3pGGl0JAAAWsx5/eL18Lzt2rivQLvyStSxdbDTn/NExbe4MH9N6B2nCb3j1D8xXNV2u9LzSrUju0g7DhRre3axdmYXKaeoUnvzy7Q3v0w/bMupu7+/j1ldYo4U52JDFRnsK7vDIbtdsjkccjgcsjt05NivX9vsDjmOHv/Nzx2SzCbJZDLJYjbJbJLMJlPt9ybJbD769W9/piPn1n5tdzhUY6t9jhq745jvbXZ77fG673/7p102u0MPXdDb0AJjo8cefv/993rssceOOT5+/Hjde++9zRIKAFxd38Rw3XFGFz3x/U7931dbdUpShNpHBRkdCwAM1yshVJkF5dqSWUghDgDgVaKC/TSqS2v9tCNXn6/L1D/GdXXK8zSm+Gb+TcHJz2xR97hQdY8Llfr/+nj5pVXakV2kndnF2nGguPbrnGJVVNu1aX+hNu33rCUn/u+8nrKYLYY9f6MLcZGRkfryyy9155131jv+5ZdfKjKS/2wB8B43jeqopal5WpWer6kfrtcnNw2Vr5U9cAB4t94JYfp+aw47pwIAvNLEAQm1hbj1mZp2Rpd6hbCT0dTiW0NEBPlqaMcoDe0YVXfMZndob36Zdhwoqhs5V1ppk+nISDXzkZFqpmO+PvK96defmU2m32SqHZ12dKScw6Ej39f/2u6QHA6HbL/52u5wyHxkNJ3VfPRPsyxHvq5/vPY5a7831x0/OrrOSI0uxP373//Wddddp0WLFik5OVmStHr1an333XeaNWtWswcEAFdlMZv0zMX9NP7Zpdq0v1DP/Jiie8Z3MzoWABiqbufULApxAADvM7Z7jEL8rMosKNea3fk6tcPJDVjKL63Scz+m6NN1mc1afPszFrNJ7aOC1D4qSGf1jmvWx/Z2jS7EXXPNNerevbuef/55ffbZZ5Kk7t27a9myZXWFOQDwFnFhAXp0Ym/dPGedZi7epRGd63+SBADe5mghLuNgqUoqa9iFDQDgVfx9LDq7T5w+/HmfPlu3v8mFuGqbXe+s3KPnfkxRUUVtAc7ZxTe0jCb9zyg5OVlz5sxp7iwA4JbO6h2niwcl6qNf9mnaRxv13e0jFB7oa3QsADBEVLCf4sL8daCwQlszC5V8kiMBAABwNxMHtNGHP+/TvM3Z+vd5vRTg2/D1yBwOhxbuzNVD32xXel6pJKl7XKjum9BNwzpGUXzzACxmBADN4IFze6hDVJCyiyp076eb5XA4jI4EAIb5dXpqkcFJAABoeYPatVKbVgEqqazR/O05f36HI1JzinXV7DX6+1u/KD2vVJFBvpoxsbe+vnW4RnRuTRHOQ1CIA4BmEORn1XOX9JePxaTvtmbro5/3GR0JAAzTK/5IIY4NGwAAXshsNmli/wRJ0mfr9v/p+YdLq/Tgl1s0/rmlWpp6UL4Ws24c1UEL7xqtSwe3lYUCnEehEAcAzaR3mzDdeWbtFuX/nrtNu/JKDE4EAMbo3SZUktg5FQDgtS4c0EaStDT1oHKLK457TrXNrtnLMjTqiYV6e+Ue2ewOjesZo/nTRmr6Wd0V6u/TkpHRQijEAUAzumFEBw3tGKnyapumfrheVTV2oyMBQIs7OjV1V16Jyqpq/uRsAAA8T/uoIPVvGy6b3aGvNmQd8/OFO3I17tkl+s/X21RUUaNusSF6/7pkvXrlILWLDDIgMVoKhTgAaEZms0lP/62fwgN9tCWzSE/9sNPoSADQ4qJD/BUT6ieHQ9rGOnEAAC818ciouM/WZdYdS80p1tWz12jSWz/XrQP3yIW99c1tIzS0U5RRUdGCGrRr6sSJExv8gJ999lmTwwCAJ4gN89djF/XRje+u1atL0jWyS2sNo1MF4GV6xYcppyhXmzMLNSgpwug4AAC0uHN6x+k/c7dq24EirUo/pG83H9B7q/fKZnfIx2LSpGHtNeX0TkxB9TINKsSFhYU5OwcAeJRxPWN16eC2+mDNXk373wZ9O3WkIoJ8jY4FAC2mV0KYFuzI1ZZMRsQBALxTqyBfnd4tWt9vzdElr62qO35Gjxj9c0J3JUUxBdUbNagQ9+abbzo7BwB4nPvP6a7VGYeUnleqez7dpNeuHCiTiR2PAHiH3gnsnAoAwMQBbfT91hxJUrfYEN1/Tg9my3i5BhXiAACNF+hr1fOX9NeFLy/X/G05WrgzV6d3izE6FgC0iKMbNqTmFqu8yqYAX4vBiQAAaHlndI/Rv87urrAAH13YP0FWC0v1e7smFeI++eQT/e9//9PevXtVVVVV72fr1q1rlmAA4Al6JYTpb4MSNWf1Xi1JOUghDoDXiAn1U1Swnw6WVGp7dpEGtG1ldCQAAFqc2WzSdSM6GB0DLqTRpdjnn39ekyZNUkxMjNavX6/BgwcrMjJS6enpOuuss5yREQDc2tCOtUPPV6UfMjgJALQck8mk3gmhkpieCgAAcFSjC3Evv/yyXnvtNb3wwgvy9fXV3Xffrfnz5+u2225TYSH/yQKA3xvcvna3wJ05xSooq/qTswHAcxydnrp5P/9HBAAAkJpQiNu7d6+GDh0qSQoICFBxcbEk6corr9QHH3zQvOkAwAO0DvFTx9ZBcjikNRn5RscBgBZztBC3JYudUwEAAKQmFOJiY2OVn1/7RrJt27Zatap2C96MjAw5HI7mTQcAHiK5Q6QkaTWFOABe5OjOqak5xaqothmcBgAAwHiNLsSdfvrp+uqrryRJkyZN0h133KEzzjhDF198sS688MJmDwgAniD5yPTU1RmsEwfAe8SF+SsiyFc1dod2ZBcbHQcAAMBwjd419bXXXpPdbpckTZ48WZGRkVqxYoXOO+883Xjjjc0eEAA8walHRsRtyypSUUW1Qv19DE4EAM5nMpnUKyFMS1LytCWzUP0Sw42OBAAAYKhGF+LMZrPM5l8H0l1yySW65JJLmjUUAHiamFB/JUUGavehMv2yO1+nd4sxOhIAtIjeCaF1hTgAAABv16BC3KZNm9SrVy+ZzWZt2rTphOf26dOnWYIBgKdJbh+p3YfKtDqdQhwA79Er/sjOqRTiAAAAGlaI69evn7KzsxUdHa1+/frJZDIdd2MGk8kkm42FeAHgeJI7ROijX/ZpFRs2APAiR3dOTckpVmWNTX5Wi8GJAAAAjNOgQlxGRoZat25d9zUAoPGO7py6JbNQJZU1CvZr9OoAAOB22rQKUHigjwrKqpWSXaLebcKMjgQAAGCYBu2a2q5dO5lMJknSnj17lJCQoHbt2tW7JSQkaM+ePY0O8NJLLykpKUn+/v5KTk7WmjVrTnh+QUGBJk+erLi4OPn5+alLly6aN2/eST0mALSEhPAAtWkVIJvdobV7DhsdBwBahMlkYnoqAADAEQ0qxP3Waaedpvz8Y6dVFRYW6rTTTmvUY3300UeaNm2aHnzwQa1bt059+/bVuHHjlJube9zzq6qqdMYZZ2j37t365JNPtHPnTs2aNUsJCQlNfkwAaEnJ7WtHxa1KP2RwEgBoOUenp27JohAHAAC8W6MLcQ6Ho2503G8dOnRIQUFBjXqsp59+Wtdff70mTZqkHj16aObMmQoMDNTs2bOPe/7s2bOVn5+vL774QsOGDVNSUpJGjRqlvn37NvkxAaAlJXeIkCStphAHwIv0PlqIY0QcAADwcg1eoGjixImSaqcXXHPNNfLz86v7mc1m06ZNmzR06NAGP3FVVZXWrl2r6dOn1x0zm80aO3asVq5cedz7fPXVVxoyZIgmT56sL7/8Uq1bt9Zll12me+65RxaLpUmPKUmVlZWqrKys+76oqKjBrwMAGuPUIyPiNu0vVFlVjQJ9WSfOG9DPwNv1SgiVJO04UKyqGrt8rY3+LBjAn6CvAQD30OD/BYWFhSksLEwOh0MhISF134eFhSk2NlY33HCD3nvvvQY/8cGDB2Wz2RQTE1PveExMjLKzs497n/T0dH3yySey2WyaN2+e7r//fj311FN66KGHmvyYkjRjxox6rycxMbHBrwMAGiMxIkBxYf6qsTu0bk+B0XHQQuhn4O3aRgQq1N+qKptdKTnFRscBPBJ9DQC4hwYPxXjzzTflcDgkSS+88IKCg4OdFuqP2O12RUdH67XXXpPFYtHAgQOVmZmpJ554Qg8++GCTH3f69OmaNm1a3fdFRUV0XACcwmQyKbl9hL7YkKXVGYc0vHOU0ZHQAuhn4O1MJpN6JYRpxa5D2ppVWLdmHIDmQ18DAO6hUfMCHA6H5syZowMHDpz0E0dFRclisSgnJ6fe8ZycHMXGxh73PnFxcerSpYssFkvdse7duys7O1tVVVVNekxJ8vPzU2hoaL0bADhLcofa6amr04/d+AaeiX4G+HXDBnZOBZyDvgYA3EOjCnFms1mdO3fWoUMnv8i4r6+vBg4cqAULFtQds9vtWrBggYYMGXLc+wwbNkxpaWmy2+11x1JSUhQXFydfX98mPSYAtLTk9rUbNmzYV6CKapvBaQCgZfxaiGPdKgAA4L0avVLuo48+qrvuuktbtmw56SefNm2aZs2apbffflvbt2/XzTffrNLSUk2aNEmSdNVVV9XbeOHmm29Wfn6+pk6dqpSUFH3zzTd65JFHNHny5AY/JgAYrX1UkFqH+KnKZtf6vQVGxwGAFnF059TtB4pUbbP/ydkAAACeqdHb9V111VUqKytT37595evrq4CAgHo/z89v+FSriy++WHl5eXrggQeUnZ2tfv366bvvvqvbbGHv3r0ym3+tFSYmJur777/XHXfcoT59+ighIUFTp07VPffc0+DHBACjHV0n7utNB7Q645CGdIw0OhIAOF27iEAF+1lVUlmjtNwSdY9j2hwAAPA+jS7EPfvss80aYMqUKZoyZcpxf7Zo0aJjjg0ZMkSrVq1q8mMCgCtI7hBZW4hjnTgAXsJsNqlnfKhWZ+Rrc2YhhTgAAOCVGl2Iu/rqq52RAwC8yqlH1olbt/ewKmts8rNa/uQeAOD+eieEaXVGvrZmFkqD2M0RAAB4n0avEfdbFRUVKioqqncDAPy5TtHBigzyVWWNXZv2s4MgAO/AzqkAAMDbNboQV1paqilTpig6OlpBQUFq1apVvRsA4M+ZTCYNPjIqbnX6ye9EDQDu4GghbtuBItWwYQMAAPBCjS7E3X333frpp5/0yiuvyM/PT6+//rr+/e9/Kz4+Xu+8844zMgKAR0o+WojLYJ04AN6hQ1SQgnwtqqi2K/1gqdFxAAAAWlyjC3Fz587Vyy+/rIsuukhWq1UjRozQv/71Lz3yyCOaM2eOMzICgEdK7lC7W+raPYdVzcgQAF7AbDapR3ztJg2bmZYPAAC8UKMLcfn5+erQoYMkKTQ0VPn5tSM5hg8friVLljRvOgDwYF1jQhQe6KOyKhvrJQHwGqwTBwAAvFmjC3EdOnRQRkaGJKlbt2763//+J6l2pFx4eHizhgMAT2Y2mzQ46eg6cUxPBeAdeh8pxG3NohAHAAC8T6MLcZMmTdLGjRslSffee69eeukl+fv764477tBdd93V7AEBwJMdnZ66OoMNGwB4h151hbgi2ewOg9MAAAC0LGtj73DHHXfUfT127Fjt2LFDa9euVadOndSnT59mDQcAnu7ohg2/7D6sGptdVkujPx8BALfSsXWwAnwsKquyKeNgiTpFhxgdCQAAoMU0+B2f3W7XY489pmHDhumUU07Rvffeq/LycrVr104TJ06kCAcATdA9LlQh/laVVNZo24Eio+MAgNNZfrNhw5ZM2j0AAOBdGlyIe/jhh3XfffcpODhYCQkJeu655zR58mRnZgMAj2dhnTgAXqjX0Z1T2bABAAB4mQYX4t555x29/PLL+v777/XFF19o7ty5mjNnjux2uzPzAYDHS+5wpBDHOnEAvAQ7pwIAAG/V4ELc3r17NWHChLrvx44dK5PJpKysLKcEAwBvkdy+dsOGNRn5LFwOwCv0blNbiNuWVSQ77R4AAPAiDS7E1dTUyN/fv94xHx8fVVdXN3soAPAmPeNDFexnVVFFjXZks14SAM/XqXWw/KxmlVTWaPehUqPjAAAAtJgG75rqcDh0zTXXyM/Pr+5YRUWFbrrpJgUFBdUd++yzz5o3IQB4OKvFrIHtWmlxSp5Wp+erZ3yY0ZEAwKmsFrO6x4Vqw74Cbc4sVIfWwUZHAgAAaBENHhF39dVXKzo6WmFhYXW3K664QvHx8fWOAQAaj3XiAHib3kfWiduaxUhgAADgPRo8Iu7NN990Zg4A8Gq/XSfObnfIbDYZnAgAnKtXwpGdU/ezYQMAAPAeDR4RBwBwnj5twhTgY9Hhsmql5BYbHQcAnO7ozqlbsgrlcLBhAwAA8A4U4gDABfgcWSdOklan5xucBgCcr0tMiHytZhVX1GhvfpnRcQAAAFoEhTgAcBHJ7VknDoD38LGY1T02RJK0OZPpqQAAwDtQiAMAF5Hc4dd14pimBcAb9DwyPZVCHAAA8BYU4gDARfRNDJOf1ayDJVXalVdidBwAcLq6nVMz2TkVAAB4BwpxAOAi/KwW9W8bLklaxTpxALxAz/janVO3HaAQBwAAvAOFOABwIcnta6enrs6gEAfA83WKDpYk5ZdW6VBJpcFpAAAAnI9CHAC4kOQORzZsSD/EOnEAPF6gr1WJEQGSpNRcpuQDAADPRyEOAFzIgLat5GsxK7e4UrsPlRkdBwCcrnN07c6pFOIAAIA3oBAHAC7E38eivom1i5evTj9kcBoAcL7OR6anpuUUG5wEAADA+SjEAYCLYZ04AN7k6DpxjIgDAADegEIcALgY1okD4E06xzA1FQAAeA8KcQDgYga2ayWr2aSswgrtP1xudBwAcKqjI+LyiitVUFZlcBoAAADnohAHAC4m0Neq3m1q14lbxTpxADxcsJ9VCeHsnAoAALwDhTgAcEGsEwfAm9StE5dDIQ4AAHg2CnEA4IJOPbpOXAYj4gB4vs51GzawcyoAAPBsFOIAwAUNSoqQxWzSvvxyZRWwThwAz9blyIYNaUxNBQAAHo5CHAC4oGA/q3rFh0oydlRcRbVNOUUV2pldrDUZ+TpQSFEQQPPrFFM7Ii4lhxFxAADAs1mNDgAAOL7kDpHauL9Qq9PzdWH/Nif1WFU1dh0oLFdBWbUKy6tVUF6twrKq2q/LjnxfXq3CsmoVlP96vLLGXu9x/n1eT109NOmksgDA7x1dIy6nqFKF5dUKC/AxOBEAAIBzUIgDABeV3D5Cry1JP6kNG3KLKvTOyj2as3qPDpdVN+kxzCYpPNBX4QE+8vdhIDWA5hfq76PYUH9lF1UoLbdEA9u1MjoSAACAU1CIAwAXNSgpQiaTlHGwVLlFFYoO9W/wfbdlFemNZRn6amOmqm0OSZK/j1kRgb4KDfBReKCPwgN8FXbk67BAn9qvA3xrvw/wqftZsJ9VJpPJWS8TACRJnWOCjxTiiinEAQAAj0UhDgBcVFiAj3rEhWprVpFWZeTrvL7xJzzfbndocUqeXl+WruVpv64rN6hdK103or3O6BEri5mCGgDX1Dk6REtTDyolhw0bAACA56IQBwAuLLl9pLZmFWl1+qE/LMSVV9n02fr9emNZhtLzSiVJFrNJE3rH6drh7dUvMbwFEwNA03Q+smFDKjunAgAAD0YhDgBcWHKHCM1ennHcdeJyiyv07so9em/Vr+u/hfhZdWlyW109NEkJ4QEtHRcAmqzzkQ0b0tg5FQAAeDAKcQDgwgYnRUiS0nJLdLCkUlHBftp+4Mj6bxuyVGWr3dW0TasA/X1Ye/3tlEQF+9G0A3A/R3dOzSqsUHFFtUL82TkVAAB4Ht6tAYALaxXkq26xIdqRXayZi3Zpe3ZRvfXfBrZrpeuGt9eZPVn/DYB7Cw/0VesQP+UVV2pXXinT6gEAgEeiEAcALi65fYR2ZBfr9WUZkmrXfzurV6yuHd5e/duysyAAz9ElJlh5xZVKySmmEAcAADwShTgAcHHjesXq7ZV7FOJn1SWDE3X10CS1aRVodCwAaHado0O0PO2Q0tiwAQAAeCgKcQDg4oZ2jNLiu0YrMtiP9d8AeLSj68SlsmEDAADwULyjAwA30C4yyOgIAOB0R3dOTWVEHAAA8FBmowMAAAAAktQlJkSStP9wucqqagxOAwAA0PwoxAEAAMAltAryVVSwrySxThwAAPBIFOIAAADgMn5dJ45CHAAA8DwU4gAAAOAyOkfXTk9lnTgAAOCJKMQBAADAZXSOqR0Rl5bLzqkAAMDzUIgDAACAyzg6Ii6FqakAAMADUYgDAACAyzg6Im7f4TKVV9kMTgMAANC8KMQBAADAZUQG+apVoI8cDmlXHqPiAACAZ6EQBwAAAJdhMpnqpqemsWEDAADwMBTiAAAA4FI6HZmemsqGDQAAwMNQiAMAAIBL6RJdW4hjwwYAAOBpKMQBAADApXSOYWoqAADwTBTiAAAA4FI6HxkRt+dQqSqq2TkVAAB4DgpxAAAAcCmtQ/wU6m+V3SFlHCw1Og4AAECzoRAHAAAAl2IymdTlyPTUlBw2bAAAAJ6DQhwAAABcTucjO6eyThwAAPAkFOIAAADgcjpF146IS2XnVAAA4EEoxAEAAMDlHN2wITWXqakAAMBzUIgDAACAyzk6NXX3oTJV1dgNTgMAANA8KMQBAADA5cSG+ivEzyqb3cHOqQAAwGNQiAMAAIDLMZlM6hTD9FQAAOBZKMQBAADAJdWtE8eGDQAAwENQiAMAAIBL6nxk59S0XApxAADAM1CIAwAAgEtiaioAAPA0FOIAAADgkrrE1I6IyzhYqmobO6cCAAD3RyEOAAAALik+zF9BvhZV2xzac4idUwEAgPujEAcAAACXZDKZ1IkNGwAAgAcxvBD30ksvKSkpSf7+/kpOTtaaNWv+8Ny33npLJpOp3s3f37/eOSUlJZoyZYratGmjgIAA9ejRQzNnznT2ywAAAIATdDqyYUMqGzYAAAAPYDXyyT/66CNNmzZNM2fOVHJysp599lmNGzdOO3fuVHR09HHvExoaqp07d9Z9bzKZ6v182rRp+umnn/Tee+8pKSlJP/zwg2655RbFx8frvPPOc+rrAQAAQPPqcmTDhpQcNmwAAADuz9ARcU8//bSuv/56TZo0qW7kWmBgoGbPnv2H9zGZTIqNja27xcTE1Pv5ihUrdPXVV2v06NFKSkrSDTfcoL59+55wpB0AAABcU+cjhbg0RsQBAAAPYFghrqqqSmvXrtXYsWN/DWM2a+zYsVq5cuUf3q+kpETt2rVTYmKizj//fG3durXez4cOHaqvvvpKmZmZcjgcWrhwoVJSUnTmmWf+4WNWVlaqqKio3g0AgOZCPwM0XecjU1PT80pVw86pwB+irwEA92BYIe7gwYOy2WzHjGiLiYlRdnb2ce/TtWtXzZ49W19++aXee+892e12DR06VPv3768754UXXlCPHj3Upk0b+fr6avz48XrppZc0cuTIP8wyY8YMhYWF1d0SExOb50UCACD6GeBkJIQHyN/HrCqbXXvzy4yOA7gs+hoAcA+Gb9bQGEOGDNFVV12lfv36adSoUfrss8/UunVrvfrqq3XnvPDCC1q1apW++uorrV27Vk899ZQmT56sH3/88Q8fd/r06SosLKy77du3ryVeDgDAS9DPAE1nNv9m51SmpwJ/iL4GANyDYZs1REVFyWKxKCcnp97xnJwcxcbGNugxfHx81L9/f6WlpUmSysvLdd999+nzzz/X2WefLUnq06ePNmzYoCeffLLeNNjf8vPzk5+f30m8GgAA/hj9DHByukSHaEtmkVJzijWuZ8P+nwh4G/oaAHAPho2I8/X11cCBA7VgwYK6Y3a7XQsWLNCQIUMa9Bg2m02bN29WXFycJKm6ulrV1dUym+u/LIvFIrudNUUAAADcUacYRsQBAADPYNiIOEmaNm2arr76ag0aNEiDBw/Ws88+q9LSUk2aNEmSdNVVVykhIUEzZsyQJP3nP//Rqaeeqk6dOqmgoEBPPPGE9uzZo+uuu06SFBoaqlGjRumuu+5SQECA2rVrp8WLF+udd97R008/bdjrBAAAQNMd3bAhNYdCHAAAcG+GFuIuvvhi5eXl6YEHHlB2drb69eun7777rm4Dh71799Yb3Xb48GFdf/31ys7OVqtWrTRw4ECtWLFCPXr0qDvnww8/1PTp03X55ZcrPz9f7dq108MPP6ybbrqpxV8fAAAATl7nI2vE7corkc3ukMVsMjgRAABA05gcDofD6BCupqioSGFhYSosLFRoaKjRcQDA7dGu1sf1ABrHZneoxwPfqbLGrsV3jVa7yCCjI8HF0K4ei2sCAM2rudpVt9o1FQAAAN7HYjapY+vaUXEpTE8FAABujEIcAAAAXF7nug0big1OAgAA0HQU4gAAAODyjq4Tl8aIOAAA4MYoxAEAAMDldTq6c2ouhTgAAOC+KMQBAADA5XU5MjU1LbdEdjt7jQEAAPdEIQ4AAAAur21EoHwtZpVX25RZUG50HAAAgCahEAcAAACXZ7WY1aF1kCQ2bAAAAO6LQhwAAADcQqcjGzaksmEDAABwUxTiAAAA4BY6s2EDAABwcxTiAAAA4BaObtiQmsPUVAAA4J4oxAEAAMAtdD5aiMstkcPBzqkAAMD9UIgDAACAW2gXGSSr2aSyKpuyCiuMjgMAANBoFOIAAADgFnwsZrWPOrJzKtNTAQCAG6IQBwAAALfRJaZ2w4Y0NmwAAABuiEIcAAAA3Ean6Np14lIYEQcAANwQhTgAAAC4jd9u2AAAAOBuKMQBAADAbXSOPjI1NYedUwEAgPuhEAcAAAC3kRQVKIvZpOLKGuUUVRodBwAAoFEoxAEAAMBt+FktSooMlMQ6cQAAwP1QiAMAAIBbOTo9lXXiAACAu6EQBwAAALdydMOGtFxGxAEAAPdCIQ4AAABupVP0kZ1TcxgRBwAA3AuFOAAAALiV305NZedUAADgTijEAQAAwK10aB0ks0kqLK9WXjE7pwIAAPdBIQ4AAABuxd/HonaRQZLYsAEAALgXCnEAAABwO7+uE8eGDQAAwH1QiAMAAIDb6Xy0EOcBI+LsdodKKmtUUW1Tjc3OuncAAHgwq9EBAAAAgMbqEnNkwwYX3jnV4XCooKxaOcUVyimqVE5RhXKLfv06p7hSuUUVyiuuVI29fvHNajbJajHJx2yW1WKS1WKWj9kky2+Pmc3yOfIzP6tZg9tH6IJ+CUqKCjLoFQMAgD9DIQ4AAABu5+jU1JTcYjkcDplMphZ53qoauwrKq1RYVq3C8moVlFWr4MimETlFFcr9bdGtuFJVNfYmPU+N3aEau0MVavj9V+w6pGd/TFW/xHBd2D9B5/SJU2SwX5OeHwAAOAeFOAAAALidjq2DZTJJBWXVOlRapagmFpwqa2zauK9Qh0oqVVBXWDu20FZYVqWC8mqVVdka/RytAn0UE+qv6FB/xYT4KSbUXzGhfrXfH/k6LMBHNrtDNTbHkSKcXTU2h6ptdtXYa/+02R2qtjlU85tjR88/XFalb7dka1lqnjbsK9CGfQX6z9fbNLJzlC7on6AzesQo0Jf/+gMAYDR6YwAAALidAF+LElsFam9+mVJzShpViKux2bUqPV9fbczUd1uyVVRR06jnNpmksAAfhQf4KCzQV2EBPooK9q0tqh0ptEUfKbC1DvGTn9XS2JfXJJcObqvc4gp9vfGAvtiQqU37C7VwZ54W7sxToK9F43rG6vx+8RreKUpWC0tFAwBgBApxAAAAcEudo4O1N79MabnFGtIx8oTn2u0Ordt7WHM3ZumbzQd0sKSq7mdRwX5KigxUeKCPwgJ8FR5YW2QLD/y10Hb0+/AAX4X4W2U2t8xU2MaKDvHX34e319+Ht9euvBJ9uT5TX2zI0t78Mn2+PlOfr89UVLCvzukTrwv7J6hPm7AWm9YLAAAoxAEAAMBNdY4J0YIduUr5gw0bHA6HtmYVae7GLH296YAyC8rrftYq0Edn9Y7TuX3iNbh9hCwuWlg7GR1bB2vamV11xxldtG5vgb7ckKmvN9UWId9asVtvrdit9lFBuqBfgi7oH692kWzyAACAs1GIAwAAgFvqfGTDhtTc4nrH03JLNHdjluZuylJ6Xmnd8aAj0zPPPTI908dLpmeaTCYNbNdKA9u10v3n9NDS1Dx9sT5LP2zLVsbBUj3zY4qe+TFFfdqEaWz3GI3tHqPucSGMlAMAwAkoxAEAAMAtdY6pLcSl5ZZo/+Eyfb3pgL7akKVtB4rqzvG1mjWmW7TO6xuv07pFy9+nZdZrc1U+FrNO7xaj07vFqKSyRj9szdbn6zO1PO2gNu0v1Kb9hXp6foriw/w1tkeMxnSP0akdIlpsnTsAADwdhTgAAAC4pY6tawtxB0uqNPyxhXXHrWaTRnSO0rl943VGjxiF+PsYFdGlBftZNXFAG00c0Ea5xRX6aXuuftyeq2VpecoqrNA7K/fonZV7FORr0cgurTWme4xO7xatiCBfo6MDAOC2vGM8vhsqLS2VyWSSyWRSaWnpn9+hBRiVydnP29KvyxnP1xKvwRX/TR6Pq+d09Xxwfyfzb6yx923Kc53s70BT7+9pfUljuXq+pgrys6rTkempJpN0aocIPXJhb63551i9OWmwJg5o0+xFOE+9ltEh/rpkcFu9fvUgrb//TL1x9SBdOjhR0SF+Kq2y6dst2frHxxs16KH5+ssrKzRz8S6l5RbL4XAYHR1uwlV+d1oyh7Oeqzkf15PeR3jSa3El3vianY0RcQAAAHBbL102QBv3F2hUl9aKCfU3Oo5HCPC1aEz32mmpdrtDmzMLtWB7juZvz9X2A0X6Zc9h/bLnsB79doeSIgM15si6coOSWnnNunsAADQVhTgAAAC4ra6xIeoaG2J0DI9lNpvUNzFcfRPDNe3MrsosKNeC7Tn6cXuuVu06pN2HyvTGsgy9sSxDvhazfCwnt8HDqR0i9cY1pzRTegAAXA+FOAAAAAANkhAeoKuGJOmqIUkqqazR0pQ8/bg9Vz/tyNHhsmpV2U7u8StqTvIBAABwcRTiAAAAADRasJ9VZ/WO01m942SzO5RVUK6TXTLO34eprQAAz0YhDgAAAMBJsZhNSowINDoGAAAuj4+cAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZAIQ4AAAAAAABoARTiAAAAAAAAgBZgNTqAK3I4HJKkoqIiwzKUlpbWfV1UVCSbzWZYlqOMyuTs523p1+WM52uJ1+CK/yaPx9Vzuno+Zznanh5tX72dM/uZk/k31tj7NuW5TvZ3oKn397S+pLFcPZ874Vq6JvqZY7nCe5rfcpXfnZbM4aznas7H9aT3EZ70WlyJN77mP9JcfY3JQW91jP379ysxMdHoGADgcfbt26c2bdoYHcNw9DMA4Bz0M7+irwEA5zjZvoZC3HHY7XZlZWUpJCREJpOpUfctKipSYmKi9u3bp9DQUCcldA53zi6R32junN+ds0vukd/hcKi4uFjx8fEym1kVwW63a+fOnerRo4dL/701hTv8e2wqXpt78tTX5qmvS2raa6OfOdafvadx539D7pxdcu/8ZDcG2Y3z2/whISHN0tcwNfU4zGbzSX+SFhoa6pb/yCT3zi6R32junN+ds0uunz8sLMzoCC7DbDYrISFBkuv/vTWVp74uidfmrjz1tXnq65Ia/9roZ+pr6Hsad/435M7ZJffOT3ZjkN04R/M3R1/Dx0UAAAAAAABAC6AQBwAAAAAAALQACnHNzM/PTw8++KD8/PyMjtJo7pxdIr/R3Dm/O2eX3D+/t/LUvzdPfV0Sr81deepr89TXJXn2a3Ml7nyd3Tm75N75yW4MshvHGfnZrAEAAAAAAABoAYyIAwAAAAAAAFoAhTgAAAAAAACgBVCIAwAAAAAAAFoAhTgAAAAAAACgBVCIO0kPP/ywhg4dqsDAQIWHhzfoPtdcc41MJlO92/jx450b9A80Jb/D4dADDzyguLg4BQQEaOzYsUpNTXVu0D+Qn5+vyy+/XKGhoQoPD9e1116rkpKSE95n9OjRx1z/m266qUXyvvTSS0pKSpK/v7+Sk5O1Zs2aE57/8ccfq1u3bvL391fv3r01b968Fsn5RxqT/6233jrmOvv7+7dg2l8tWbJE5557ruLj42UymfTFF1/86X0WLVqkAQMGyM/PT506ddJbb73l9Jx/pLH5Fy1adMy1N5lMys7ObpnAOC53b29PxN3a4hNx93b6RNy1DT8Rd2/fT8RT2/4ZM2bolFNOUUhIiKKjo3XBBRdo586df3o/d/pdc2Xu/N7FnftRd+sn3bkvdNe+zp37M3fur4zqkyjEnaSqqir99a9/1c0339yo+40fP14HDhyou33wwQdOSnhiTcn/+OOP6/nnn9fMmTO1evVqBQUFady4caqoqHBi0uO7/PLLtXXrVs2fP19ff/21lixZohtuuOFP73f99dfXu/6PP/6407N+9NFHmjZtmh588EGtW7dOffv21bhx45Sbm3vc81esWKFLL71U1157rdavX68LLrhAF1xwgbZs2eL0rMfT2PySFBoaWu8679mzpwUT/6q0tFR9+/bVSy+91KDzMzIydPbZZ+u0007Thg0bdPvtt+u6667T999/7+Skx9fY/Eft3Lmz3vWPjo52UkI0hLu3tyfiTm3xibh7O30i7tyGn4i7t+8n4qlt/+LFizV58mStWrVK8+fPV3V1tc4880yVlpb+4X3c6XfN1bnzexd37kfdqZ90577Qnfs6d+7P3Lm/MqxPcqBZvPnmm46wsLAGnXv11Vc7zj//fKfmaayG5rfb7Y7Y2FjHE088UXesoKDA4efn5/jggw+cmPBY27Ztc0hy/Pzzz3XHvv32W4fJZHJkZmb+4f1GjRrlmDp1agskrG/w4MGOyZMn131vs9kc8fHxjhkzZhz3/L/97W+Os88+u96x5ORkx4033ujUnH+ksfkb8zvRkiQ5Pv/88xOec/fddzt69uxZ79jFF1/sGDdunBOTNUxD8i9cuNAhyXH48OEWyYTGccf29kTcrS0+EXdvp0/EU9rwE3H39v1EPLntz83NdUhyLF68+A/PcaffNXfhzu9d3K0fdbd+0p37Qk/p69y5P3P3/qql+iRGxBlk0aJFio6OVteuXXXzzTfr0KFDRkdqkIyMDGVnZ2vs2LF1x8LCwpScnKyVK1e2aJaVK1cqPDxcgwYNqjs2duxYmc1mrV69+oT3nTNnjqKiotSrVy9Nnz5dZWVlTs1aVVWltWvX1rtuZrNZY8eO/cPrtnLlynrnS9K4ceNa/DpLTcsvSSUlJWrXrp0SExN1/vnna+vWrS0R96S50rU/Gf369VNcXJzOOOMMLV++3Og4aCRXam9PxJ3a4hNx93b6RLytDT8Rd/k7Oxnu1vYXFhZKkiIiIv7wHG/4e3N17vjexVX6UXfqJ925L/S2vs5VrvvJcMX+qqX6JGvT4uFkjB8/XhMnTlT79u21a9cu3XfffTrrrLO0cuVKWSwWo+Od0NF52zExMfWOx8TEtPic7uzs7GOGr1qtVkVERJwwy2WXXaZ27dopPj5emzZt0j333KOdO3fqs88+c1rWgwcPymazHfe67dix47j3yc7OdonrLDUtf9euXTV79mz16dNHhYWFevLJJzV06FBt3bpVbdq0aYnYTfZH176oqEjl5eUKCAgwKFnDxMXFaebMmRo0aJAqKyv1+uuva/To0Vq9erUGDBhgdDw0kCu1tyfiTm3xibh7O30i3taGn4i7t+8n4o5tv91u1+23365hw4apV69ef3ieu/yueSp3fe/iKv2oO/WT7twXeltf5879mav2Vy3ZJ1GIO457771Xjz322AnP2b59u7p169akx7/kkkvqvu7du7f69Omjjh07atGiRRozZkyTHvO3nJ3f2Rqav6l+ux5D7969FRcXpzFjxmjXrl3q2LFjkx8X9Q0ZMkRDhgyp+37o0KHq3r27Xn31Vf33v/81MJnn69q1q7p27Vr3/dChQ7Vr1y4988wzevfddw1M5nncvb09Edpi70Yb7n7cse2fPHmytmzZomXLlhkdxa2583sXd+5H6SfdH32dMVy1v2rJPolC3HHceeeduuaaa054TocOHZrt+Tp06KCoqCilpaU1SyHOmfljY2MlSTk5OYqLi6s7npOTo379+jXpMX+vofljY2OPWXizpqZG+fn5dTkbIjk5WZKUlpbmtE4tKipKFotFOTk59Y7n5OT8YdbY2NhGne9MTcn/ez4+Purfv7/S0tKcEbFZ/dG1Dw0NdelPl05k8ODBvNFxAndvb0/EE9viE3H3dvpEvK0NPxFPbN9PxJXb/ilTptQtWv9nI0/c5XfNKO783sWd+1FP7CfduS/0tr7O0/ozo/urlu6TKMQdR+vWrdW6desWe779+/fr0KFD9TqIk+HM/O3bt1dsbKwWLFhQ14EVFRVp9erVjd596Y80NP+QIUNUUFCgtWvXauDAgZKkn376SXa7va6jaogNGzZIUrNd/+Px9fXVwIEDtWDBAl1wwQWSaoe+LliwQFOmTDnufYYMGaIFCxbo9ttvrzs2f/78ep/atJSm5P89m82mzZs3a8KECU5M2jyGDBlyzBbURl375rJhwwan/hv3Vu7e3p6IJ7bFJ+Lu7fSJeFsbfiKe2L6fiCu2/Q6HQ7feeqs+//xzLVq0SO3bt//T+7jL75pR3Pm9izv3o57YT7pzX+htfZ2n9WdG9VeG9UlN3EwCR+zZs8exfv16x7///W9HcHCwY/369Y716/+/vTsPqqp84wD+5bKj4BVUkkZBEhE3grIylwu4YKahLSoli7k0lAIlljMFCqRGKk5kTQUTYEMZJaXjgoYGCSqJgiFeARErZ2gzLcTKhOf3hz9PHpYLKF29+f3MMOM55z3v+5wz8rzzPpxzb6nU19crbTw9PSUnJ0dEROrr6yUmJkYOHDggtbW1kpeXJ76+vuLh4SF//vnnLR+/iMhrr70mWq1WtmzZIt98840EBQXJgAED5I8//jB6/JMnTxYfHx8pLi6WwsJC8fDwkODgYOX4mTNnxNPTU4qLi0VE5OTJk5KQkCAlJSVSW1srW7ZsEXd3dxk3bty/HuumTZvE2tpaMjIy5Pjx47Jw4ULRarXyww8/iIhISEiILFu2TGlfVFQkFhYWsnbtWtHr9bJ8+XKxtLSU8vLyfz3Wrog/Pj5edu3aJTU1NXL48GGZPXu22NjYSEVFhdFjr6+vV/5vA5Dk5GQpLS2Vb7/9VkREli1bJiEhIUr7U6dOiZ2dnSxdulT0er289dZbYm5uLrm5uUaP/XriX79+vXz++edSXV0t5eXlEhUVJRqNRvLy8m5K/HSFqedbQ0wpFxti6nnaEFPO4YaYen435L+a+yMiIqRHjx6Sn58vdXV1ys/FixeVNqb8u3arM+W1iynPo6Y0T5ryXGjKc50pz2emPF/drDmJhbgbFBYWJgBa/Hz55ZdKGwCSnp4uIiIXL16USZMmSe/evcXS0lJcXV1lwYIFSnK41eMXufJV4LGxseLs7CzW1tYyfvx4qaysNH7wInL27FkJDg6W7t27i4ODg8ydO1c1GdfW1qqu57vvvpNx48aJo6OjWFtby8CBA2Xp0qXy22+/GSXeN998U/r37y9WVlZy3333ycGDB5VjOp1OwsLCVO2zs7Nl0KBBYmVlJUOHDpXt27cbJc62dCb+6Ohopa2zs7NMmTJFjhw5chOi/ucrspv/XI03LCxMdDpdi3PuvvtusbKyEnd3d9XvgLF1Nv6kpCS56667xMbGRhwdHcXPz0/27t17c4InhannW0NMLRcbYup52hBTzeGGmHp+N+S/mvtbu6bmuc/Uf9duZaa8djHledTU5klTngtNda4z5fnMlOermzUnmf1/cCIiIiIiIiIiIvoXaW52AERERERERERERLcDFuKIiIiIiIiIiIiMgIU4IiIiIiIiIiIiI2AhjoiIiIiIiIiIyAhYiCMiIiIiIiIiIjICFuKIiIiIiIiIiIiMgIU4IiIiIiIiIiIiI2AhjoiIiOg/JCMjA1qtVtlesWIF7r777psWDxERERH9g4U4oluMmZkZPv/8c4NtTp8+DTMzM5SVlXXp2P9Wv0REdPPExMRgz549NzsMIiKiFjqy9rmV+iXqCizEERnRpUuXbnYIRnM7XSsRUVfryhzavXt3ODk5dVl/XaG162tsbERTU1On+7re84iIiNrDNQ39G1iII/q/bdu2QavVorGxEQBQVlYGMzMzLFu2TGkzf/58zJkzR9nevHkzhg4dCmtra7i5uWHdunWqPt3c3JCYmIjQ0FA4ODhg4cKFuHTpEhYtWoS+ffvCxsYGrq6uWL16tdIeAGbMmAEzMzNlu7kBAwYAAHx8fGBmZgY/Pz/lWFpaGry8vGBjY4PBgwfj7bffVo49/fTTGDFiBP766y8AVyYWHx8fhIaGGuzXz88P0dHRqhimT5+O8PBwg9cKAIWFhRg7dixsbW3Rr18/REZGoqGhodXrIiK6Xfn5+WHRokWIjo5Gr169EBgYCABITk7G8OHD0a1bN/Tr1w/PPvssLly4oDo3IyMD/fv3h52dHWbMmIGzZ8+qjjd/NbUjOf3tt9+Gh4cHbGxs4OzsjMcff9xg/O3l+tbmiKuv0G7duhVDhgyBtbU1vvvuO5w7dw6hoaHo2bMn7Ozs8NBDD6G6ulp1va2dR0REV3L84sWLER0djZ49e8LZ2RmpqaloaGjA3LlzYW9vj4EDB2Lnzp2q844dO4aHHnoI3bt3h7OzM0JCQvDLL78ox3NzczFmzBhotVo4OTlh6tSpqKmpUY5ffbMmJycH/v7+sLOzg7e3Nw4cONBmrIbWPlu2bIGvry9sbGzg7u6O+Ph4XL58GQCQkJAAFxcX1Xz38MMPw9/fH01NTW32Gx4ejunTp6tiiI6OVq2l2pqP27s/RJ3BQhzR/40dOxb19fUoLS0FABQUFKBXr17Iz89X2hQUFCiJ+vDhw5g5cyZmz56N8vJyrFixArGxscjIyFD1u3btWnh7e6O0tBSxsbFISUnB1q1bkZ2djcrKSmRlZSmTw6FDhwAA6enpqKurU7ab+/rrrwEAeXl5qKurQ05ODgAgKysLcXFxWLlyJfR6PVatWoXY2FhkZmYCAFJSUtDQ0KAUF19++WWcP38eGzZsMNhvRzW/1pqaGkyePBmPPfYYvvnmG3z88ccoLCzEokWLOtUvEdHtIDMzE1ZWVigqKsI777wDANBoNEhJSUFFRQUyMzOxd+9evPjii8o5xcXFmDdvHhYtWoSysjL4+/vj1VdfvaE4SkpKEBkZiYSEBFRWViI3Nxfjxo1rs31Hc33zOQIALl68iKSkJKSlpaGiogJ9+vRBeHg4SkpKsHXrVhw4cAAigilTpuDvv/9W+mrtPCIiuiIzMxO9evXC119/jcWLFyMiIgJPPPEEHnzwQRw5cgSTJk1CSEgILl68CAA4f/48AgIC4OPjg5KSEuTm5uLHH3/EzJkzlT4bGhrwwgsvoKSkBHv27IFGo8GMGTNaPJH88ssvIyYmBmVlZRg0aBCCg4OVAlpzba199u3bh9DQUERFReH48eN49913kZGRgZUrVypjuLm5Yf78+QCAt956C/v370dmZiY0Gk2H11SG7t+183FH7g9RpwgRKXx9fWXNmjUiIjJ9+nRZuXKlWFlZSX19vZw5c0YASFVVlYiIPPnkkzJx4kTV+UuXLpUhQ4Yo266urjJ9+nRVm8WLF0tAQIA0NTW1GgMA+eyzzwzGWVtbKwCktLRUtf+uu+6SDz/8ULUvMTFRRo0apWzv379fLC0tJTY2ViwsLGTfvn3t9qvT6SQqKkq1LygoSMLCwgxe67x582ThwoWqffv27RONRiN//PGHwWskIrqd6HQ68fHxabfdJ598Ik5OTsp2cHCwTJkyRdVm1qxZ0qNHD2V7+fLl4u3trRrLUE7fvHmzODg4yO+//96h2DuS61ubI9LT0wWAlJWVKfuqqqoEgBQVFSn7fvnlF7G1tZXs7Ow2zyMioit0Op2MGTNG2b58+bJ069ZNQkJClH11dXUCQA4cOCAiV9YLkyZNUvXz/fffCwCprKxsdZyff/5ZAEh5ebmI/LOOSEtLU9pUVFQIANHr9W3G29raZ/z48bJq1SrVvg8++ED69u2rbNfU1Ii9vb289NJLYmtrK1lZWe32GxYWJkFBQap9UVFRotPplO3W5uPruT9EhvCJOKJr6HQ65OfnQ0Swb98+PProo/Dy8kJhYSEKCgrg4uICDw8PAIBer8fo0aNV548ePRrV1dXK660AcO+996rahIeHo6ysDJ6enoiMjMTu3bu7JPaGhgbU1NRg3rx56N69u/Lz6quvqh4bHzVqFGJiYpCYmIglS5ZgzJgxXTI+0PJajx49ioyMDFU8gYGBaGpqQm1tbZeNS0T0X3DPPfe02JeXl4fx48fjzjvvhL29PUJCQnD27FnlKQa9Xo/7779fdc6oUaNuKI6JEyfC1dUV7u7uCAkJQVZWljJeazqa65vPEQBgZWWFESNGKNt6vR4WFhaqa3JycoKnpyf0en2b5xER0T+uzY/m5uZwcnLC8OHDlX3Ozs4AgJ9++gnAlTz+5ZdfqvL44MGDAUBZR1RXVyM4OBju7u5wcHBQ3uhp/tEA147dt29f1TgddfToUSQkJKjiWbBgAerq6pT5yN3dHWvXrkVSUhIeeeQRPPnkk50aw5Dm83FH7g9RZ1jc7ACIbiV+fn54//33cfToUVhaWmLw4MHw8/NDfn4+zp07B51O1+k+u3Xrptr29fVFbW0tdu7ciby8PMycORMTJkzAp59+ekOxX/3MoNTU1BaLMnNzc+XfTU1NKCoqgrm5OU6ePNmhvjUaDUREte/aV4Suan6tFy5cwDPPPIPIyMgWbfv379+hsYmIbhfNc+jp06cxdepUREREYOXKlXB0dERhYSHmzZuHS5cuwc7O7rrGaS+n29vb48iRI8jPz8fu3bsRFxeHFStW4NChQ9BqtS3662iub359AGBrawszM7NOX8P1nkdEdDuwtLRUbZuZman2Xc2fV18rvXDhAqZNm4akpKQWfV0tpk2bNg2urq5ITU2Fi4sLmpqaMGzYsBZfZmBonI66cOEC4uPj8eijj7Y4ZmNjo/z7q6++grm5OU6fPo3Lly/DwsJweeNG1jTt3R+izmAhjugaVz8nbv369UrRzc/PD6+99hrOnTuHJUuWKG29vLxQVFSkOr+oqAiDBg1SFb5a4+DggFmzZmHWrFl4/PHHMXnyZPz6669wdHSEpaWl6om61lhZWQGAqp2zszNcXFxw6tQpPPXUU22eu2bNGpw4cQIFBQUIDAxEeno65s6d22a/ANC7d2/U1dUp242NjTh27Bj8/f0Nxunr64vjx49j4MCBBtsREVFLhw8fRlNTE9atWweN5spLDNnZ2ao2Xl5eKC4uVu07ePCgwX47ktMtLCwwYcIETJgwAcuXL4dWq8XevXtbXRR1Za738vLC5cuXUVxcjAcffBAAcPbsWVRWVmLIkCE33D8REbXk6+uLzZs3w83NrdVi1tU8nJqairFjxwK48iU9XaG1tY+vry8qKysNzisff/wxcnJykJ+fj5kzZyIxMRHx8fEG++3duzeOHTum2ldWVtaicNlce/eHqLP4airRNXr27IkRI0YgKytL+VKGcePG4ciRI6iqqlI9EbdkyRLs2bMHiYmJqKqqQmZmJjZs2ICYmBiDYyQnJ+Ojjz7CiRMnUFVVhU8++QR33HGH8pSBm5sb9uzZgx9++AHnzp1rtY8+ffrA1tZW+aDQ3377DQAQHx+P1atXIyUlBVVVVSgvL0d6ejqSk5MBAKWlpYiLi0NaWhpGjx6N5ORkREVF4dSpUwb7DQgIwPbt27F9+3acOHECEREROH/+fLv386WXXsL+/fuVDxGvrq7Gli1b+GUNREQdMHDgQPz999948803cerUKXzwwQfKlzhcFRkZidzcXKxduxbV1dXYsGEDcnNzDfbbXk7ftm0bUlJSUFZWhm+//RYbN25EU1MTPD09W+2vK3O9h4cHgoKCsGDBAhQWFuLo0aOYM2cO7rzzTgQFBXW6PyIiat9zzz2HX3/9FcHBwTh06BBqamqwa9cuzJ07F42NjejZsyecnJzw3nvv4eTJk9i7dy9eeOGFLhm7tbVPXFwcNm7ciPj4eFRUVECv12PTpk145ZVXAABnzpxBREQEkpKSMGbMGKSnp2PVqlWqP0S11m9AQABKSkqwceNGVFdXY/ny5S0Kc9dzf4g6i4U4omZ0Oh0aGxuVQpyjoyOGDBmCO+64Q7UI8fX1RXZ2NjZt2oRhw4YhLi4OCQkJCA8PN9i/vb09Xn/9ddx7770YOXIkTp8+jR07dihPO6xbtw5ffPEF+vXrBx8fn1b7sLCwQEpKCt599124uLgoi5P58+cjLS0N6enpGD58OHQ6HTIyMjBgwAD8+eefmDNnDsLDwzFt2jQAwMKFC+Hv74+QkBA0Nja22e/TTz+NsLAwhIaGQqfTwd3dvd2n4YArnxFRUFCAqqoqjB07Fj4+PoiLi4OLi0u75xIR3e68vb2RnJyMpKQkDBs2DFlZWVi9erWqzQMPPIDU1FS88cYb8Pb2xu7du5WFSlvay+larRY5OTkICAiAl5cX3nnnHXz00UcYOnRoq/11da5PT0/HPffcg6lTp2LUqFEQEezYsaPdJxaIiOj6uLi4oKioCI2NjZg0aRKGDx+O6OhoaLVaaDQaaDQabNq0CYcPH8awYcPw/PPPY82aNV0ydmtrn8DAQGzbtg27d+/GyJEj8cADD2D9+vVwdXWFiCA8PBz33Xef8gefwMBAREREYM6cOcrH9bTVb2xsLF588UWMHDkS9fX1CA0NveH7Q9RZZtL8JWkiIiIiIiIiIiLqcizfEhERERERERERGQELcUREREREREREREbAQhwREREREREREZERsBBHRERERERERERkBCzEERERERERERERGQELcUREREREREREREbAQhwREREREREREZERsBBHRERERERERERkBCzEERERERERERERGQELcUREREREREREREbAQhwREREREREREZERsBBHRERERERERERkBP8DOg3JOE15wZwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAAKKCAYAAACK4tQZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACPHklEQVR4nOzdd3gc1b3/8feU7atVr5abLPcOxnRCC90QQgmhBAiQEEIuuQQSkhsChNwkpEAIPfSW300gNEPo2HTb2Bhj415k2bJ6WWn77sz8/lhZ0npl42Bbq7W+r+fhQTua3T2zXs1nTplzFMuyLIQQQogsoma6AEIIIcR/SsJLCCFE1pHwEkIIkXUkvIQQQmQdCS8hhBBZR8JLCCFE1pHwEkIIkXUkvIQQQmQdCS8hhBBZR8JLiCxWU1ODoig89thjPdtuvvlmFEXJXKGEGAASXkIIkUVCoRA333wz8+fPz3RRMkrCS4j9zC9/+UvC4XCmiyH2kVAoxC233DLkw0vPdAGEGIoSiQSmaWK32/f6a+u6jq7Ln7bYv0nNSww62/ts1q5dy4UXXkhubi7FxcXceOONWJbFli1bOOOMM/D5fJSVlfHnP/857TWi0Sg33XQT1dXVOBwOhg8fzk9/+lOi0WjKfo8++ijHHnssJSUlOBwOJk2axH333Zf2eqNGjeK0007jgw8+YPbs2TidTqqqqnjiiSe+9Hi290v96U9/4i9/+QtjxozB4XCwcuVKYrEYv/rVrzjwwAPJzc3F4/Fw5JFHMm/evLTX6ejo4JJLLiE3N5e8vDwuvvhiOjo6dvr57fj+ffvFtlMUhZtvvrnncVdXFz/+8Y8ZNWoUDoeDkpISvv71r/Ppp59+6XEOVvvT96mmpobi4mIAbrnlFhRFSfs3XL16NWeffTYFBQU4nU5mzZrFSy+91PP7pqYmiouLOfroo+m7qMj69evxeDx861vf2q3PNeMsIQaZm266yQKsGTNmWN/+9rete++91zr11FMtwLr99tut8ePHWz/4wQ+se++91zr88MMtwHr33Xd7nm8YhnXCCSdYbrfb+vGPf2w98MAD1tVXX23pum6dccYZKe910EEHWZdccol1xx13WHfddZd1wgknWIB19913p+w3cuRIa/z48VZpaan1i1/8wrr77rutAw44wFIUxVqxYsUuj2fTpk0WYE2aNMmqqqqyfv/731t33HGHtXnzZqu5udkqLy+3rr32Wuu+++6z/vCHP1jjx4+3bDabtXTp0p7XME3TOuqooyxVVa2rrrrKuuuuu6xjjz3WmjZtmgVYjz76aNrnt+P7991nO8C66aabeh6ff/75lt1ut6699lrroYcesm677TZrzpw51lNPPbXLYxzM9qfvUyAQsO677z4LsM4880zrySeftJ588klr2bJllmVZ1ooVK6zc3Fxr0qRJ1m233Wbdfffd1lFHHWUpimI999xzPa/zzDPPWIB155139hzj4YcfbpWWllotLS17+pEPCAkvMehsP9l873vf69mWSCSsyspKS1EU6/e//33P9vb2dsvlclkXX3xxz7Ynn3zSUlXVev/991Ne9/7777cA68MPP+zZFgqF0t7/xBNPtKqqqlK2jRw50gKs9957r2dbU1OT5XA4rJ/85Ce7PJ7t4eHz+aympqaU3yUSCSsajaZsa29vt0pLS63vfve7PdteeOEFC7D+8Ic/pDz3yCOP3KvhlZuba/3whz/c5fFkm/3t+9Tc3Jz277bdcccdZ02dOtWKRCI920zTtA477DBr7NixKft++9vfttxut7V27Vrrj3/8owVYL7zwwi7fezCRZkMxaF1++eU9P2uaxqxZs7Asi8suu6xne15eHuPHj2fjxo0925555hkmTpzIhAkTaGlp6fnv2GOPBUhpknO5XD0/+/1+Wlpa+NrXvsbGjRvx+/0p5Zk0aRJHHnlkz+Pi4uK0996Vs846q6fJp+9xbe/3Mk2TtrY2EokEs2bNSmmq+/e//42u6/zgBz9Iee6PfvSj3Xrv3ZWXl8fChQvZtm3bXn3dwWB/+z7tqK2tjXfeeYdzzz2Xrq6unnK2trZy4oknsm7dOurq6nr2v/vuu8nNzeXss8/mxhtv5KKLLuKMM874Su+dCdKrKwatESNGpDzOzc3F6XRSVFSUtr21tbXn8bp161i1alVaUGzX1NTU8/OHH37ITTfdxMcff0woFErZz+/3k5ubu9PyAOTn59Pe3r5bxzN69Oh+tz/++OP8+c9/ZvXq1cTj8X7337x5M+Xl5Xi93pTnjh8/frfee3f94Q9/4OKLL2b48OEceOCBnHLKKXznO9+hqqpqr75PJuxv36cdrV+/HsuyuPHGG7nxxht3WtZhw4YBUFBQwF//+lfOOeccSktL+etf//qV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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:15:42,118 - explainableai.feature_analysis - INFO - Dataframe Created...\n", + "2024-10-07 16:15:42,121 - explainableai.core - INFO - Performing cross-validation...\n", + "2024-10-07 16:15:42,121 - explainableai.model_evaluation - DEBUG - Cross validation...\n", + "2024-10-07 16:15:51,826 - explainableai.model_evaluation - INFO - validated...\n", + "2024-10-07 16:15:51,826 - explainableai.core - INFO - Model comparison results:\n", + "2024-10-07 16:15:51,826 - explainableai.core - DEBUG - Printing results...\n", + "2024-10-07 16:15:51,826 - explainableai.core - INFO - \n", + "Model Performance:\n", + "2024-10-07 16:15:51,826 - explainableai.core - INFO - accuracy: 1.0000\n", + "2024-10-07 16:15:51,837 - explainableai.core - INFO - f1_score: 1.0000\n", + "2024-10-07 16:15:51,837 - explainableai.core - INFO - confusion_matrix:\n", + "[[169 0]\n", + " [ 0 286]]\n", + "2024-10-07 16:15:51,838 - explainableai.core - INFO - classification_report:\n", + " precision recall f1-score support\n", + "\n", + " 0 1.00 1.00 1.00 169\n", + " 1 1.00 1.00 1.00 286\n", + "\n", + " accuracy 1.00 455\n", + " macro avg 1.00 1.00 1.00 455\n", + "weighted avg 1.00 1.00 1.00 455\n", + "\n", + "2024-10-07 16:15:51,839 - explainableai.core - INFO - \n", + "Top 5 Important Features:\n", + "2024-10-07 16:15:51,839 - explainableai.core - INFO - worst texture: 0.0033\n", + "2024-10-07 16:15:51,840 - explainableai.core - INFO - radius error: 0.0020\n", + "2024-10-07 16:15:51,840 - explainableai.core - INFO - mean texture: 0.0018\n", + "2024-10-07 16:15:51,841 - explainableai.core - INFO - area error: 0.0018\n", + "2024-10-07 16:15:51,841 - explainableai.core - INFO - worst concave points: 0.0009\n", + "2024-10-07 16:15:51,842 - explainableai.core - INFO - \n", + "Cross-validation Score: 0.9604 (+/- 0.0149)\n", + "2024-10-07 16:15:51,842 - explainableai.core - INFO - \n", + "Visualizations saved:\n", + "2024-10-07 16:15:51,843 - explainableai.core - INFO - - Feature Importance: feature_importance.png\n", + "2024-10-07 16:15:51,843 - explainableai.core - INFO - - Partial Dependence: partial_dependence.png\n", + "2024-10-07 16:15:51,843 - explainableai.core - INFO - - Learning Curve: learning_curve.png\n", + "2024-10-07 16:15:51,844 - explainableai.core - INFO - - Correlation Heatmap: correlation_heatmap.png\n", + "2024-10-07 16:15:51,844 - explainableai.core - INFO - - ROC Curve: roc_curve.png\n", + "2024-10-07 16:15:51,845 - explainableai.core - INFO - - Precision-Recall Curve: precision_recall_curve.png\n", + "2024-10-07 16:15:51,845 - explainableai.core - INFO - \n", + "SHAP values calculated successfully. See 'shap_summary.png' for visualization.\n", + "2024-10-07 16:15:51,846 - explainableai.core - INFO - Generating LLM explanation...\n", + "2024-10-07 16:15:51,846 - explainableai.llm_explanations - DEBUG - Generate content...\n", + "2024-10-07 16:15:52,111 - explainableai.llm_explanations - ERROR - Some error in generating response... 400 API key not valid. Please pass a valid API key. [reason: \"API_KEY_INVALID\"\n", + "domain: \"googleapis.com\"\n", + "metadata {\n", + " key: \"service\"\n", + " value: \"generativelanguage.googleapis.com\"\n", + "}\n", + "]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Results for Random Forest:\n", + "{'model_performance': {'accuracy': 1.0, 'f1_score': np.float64(1.0), 'confusion_matrix': array([[169, 0],\n", + " [ 0, 286]]), 'classification_report': ' precision recall f1-score support\\n\\n 0 1.00 1.00 1.00 169\\n 1 1.00 1.00 1.00 286\\n\\n accuracy 1.00 455\\n macro avg 1.00 1.00 1.00 455\\nweighted avg 1.00 1.00 1.00 455\\n'}, 'feature_importance': {'worst texture': np.float64(0.003296703296703285), 'radius error': np.float64(0.001978021978021971), 'mean texture': np.float64(0.001758241758241752), 'area error': np.float64(0.001758241758241752), 'worst concave points': np.float64(0.000879120879120876), 'mean radius': np.float64(0.0), 'mean perimeter': np.float64(0.0), 'mean area': np.float64(0.0), 'mean smoothness': np.float64(0.0), 'mean compactness': np.float64(0.0), 'mean concavity': np.float64(0.0), 'mean concave points': np.float64(0.0), 'mean symmetry': np.float64(0.0), 'mean fractal dimension': np.float64(0.0), 'texture error': np.float64(0.0), 'perimeter error': np.float64(0.0), 'smoothness error': np.float64(0.0), 'compactness error': np.float64(0.0), 'concavity error': np.float64(0.0), 'concave points error': np.float64(0.0), 'symmetry error': np.float64(0.0), 'fractal dimension error': np.float64(0.0), 'worst radius': np.float64(0.0), 'worst perimeter': np.float64(0.0), 'worst area': np.float64(0.0), 'worst smoothness': np.float64(0.0), 'worst compactness': np.float64(0.0), 'worst concavity': np.float64(0.0), 'worst symmetry': np.float64(0.0), 'worst fractal dimension': np.float64(0.0)}, 'shap_values': array([[[-0.02817769, 0.02817769],\n", + " [-0.00743516, 0.00743516],\n", + " [-0.03090336, 0.03090336],\n", + " ...,\n", + " [ 0.11731347, -0.11731347],\n", + " [ 0.04097617, -0.04097617],\n", + " [ 0.0001876 , -0.0001876 ]],\n", + "\n", + " [[ 0.02146795, -0.02146795],\n", + " [ 0.01293296, -0.01293296],\n", + " [ 0.02377878, -0.02377878],\n", + " ...,\n", + " [ 0.0867181 , -0.0867181 ],\n", + " [ 0.01824471, -0.01824471],\n", + " [ 0.00401472, -0.00401472]],\n", + "\n", + " [[-0.01523057, 0.01523057],\n", + " [-0.01407987, 0.01407987],\n", + " [-0.01593919, 0.01593919],\n", + " ...,\n", + " [-0.04243702, 0.04243702],\n", + " [ 0.00085408, -0.00085408],\n", + " [-0.00157538, 0.00157538]],\n", + "\n", + " ...,\n", + "\n", + " [[-0.00760451, 0.00760451],\n", + " [-0.00695714, 0.00695714],\n", + " [-0.01013629, 0.01013629],\n", + " ...,\n", + " [-0.04741325, 0.04741325],\n", + " [-0.00633944, 0.00633944],\n", + " [-0.00139158, 0.00139158]],\n", + "\n", + " [[-0.00132996, 0.00132996],\n", + " [ 0.00520777, -0.00520777],\n", + " [-0.00080756, 0.00080756],\n", + " ...,\n", + " [ 0.1724399 , -0.1724399 ],\n", + " [ 0.00309631, -0.00309631],\n", + " [ 0.00639376, -0.00639376]],\n", + "\n", + " [[-0.01184732, 0.01184732],\n", + " [ 0.00366241, -0.00366241],\n", + " [-0.01262526, 0.01262526],\n", + " ...,\n", + " [-0.04974929, 0.04974929],\n", + " [-0.00466538, 0.00466538],\n", + " [-0.0014666 , 0.0014666 ]]]), 'cv_scores': (np.float64(0.9604395604395604), np.float64(0.01490621974313245)), 'model_comparison': {'Model': {'cv_score': np.float64(0.9895188136300552), 'test_score': 1.0}}, 'llm_explanation': None}\n", + "\n", + "Analyzing XGBoost...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:15:52,111 - explainableai.core - DEBUG - Fitting the model...\n", + "2024-10-07 16:15:52,121 - explainableai.core - INFO - Preprocessing data...\n", + "2024-10-07 16:15:52,121 - explainableai.core - DEBUG - Creating Preprocessing Steps...\n", + "2024-10-07 16:15:52,121 - explainableai.core - INFO - Pre proccessing completed...\n", + "2024-10-07 16:15:52,121 - explainableai.core - DEBUG - Fitting and transforming the data...\n", + "2024-10-07 16:15:52,121 - explainableai.core - DEBUG - Updating feature names...\n", + "2024-10-07 16:15:52,121 - explainableai.core - INFO - Fitting models and analyzing...\n", + "2024-10-07 16:15:52,121 - explainableai.core - DEBUG - Comparing the models...\n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:49] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:50] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:55] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:56] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "2024-10-07 16:15:53,371 - explainableai.core - INFO - Comparing successfully...\n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:15:53] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:53:58] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "2024-10-07 16:15:53,555 - explainableai.core - INFO - Model fitting is complete...\n", + "2024-10-07 16:15:53,556 - explainableai.core - DEBUG - Analysing...\n", + "2024-10-07 16:15:53,557 - explainableai.core - INFO - Evaluating model performance...\n", + "2024-10-07 16:15:53,557 - explainableai.model_evaluation - DEBUG - Evaluting model\n", + "2024-10-07 16:15:53,557 - explainableai.model_evaluation - DEBUG - Evaluating report...\n", + "2024-10-07 16:15:53,566 - explainableai.model_evaluation - INFO - Report Generated...\n", + "2024-10-07 16:15:53,567 - explainableai.core - INFO - Calculating feature importance...\n", + "2024-10-07 16:15:53,567 - explainableai.core - DEBUG - Calculating the features...\n", + "2024-10-07 16:15:53,886 - explainableai.core - INFO - Features calculated...\n", + "2024-10-07 16:15:53,887 - explainableai.core - INFO - Generating visualizations...\n", + "2024-10-07 16:15:53,888 - explainableai.core - DEBUG - Generating visulatization...\n", + "2024-10-07 16:15:53,888 - explainableai.visualizations - DEBUG - Plotting feature importance...\n", + "2024-10-07 16:15:54,081 - explainableai.visualizations - INFO - Feature importance plot saved...\n", + "2024-10-07 16:15:54,082 - explainableai.visualizations - DEBUG - Plotting partial dependence...\n", + "2024-10-07 16:15:56,125 - explainableai.visualizations - INFO - Partial dependence plot saved...\n", + "2024-10-07 16:15:56,125 - explainableai.visualizations - DEBUG - Plotting learning curve...\n", + "2024-10-07 16:16:00,053 - explainableai.visualizations - INFO - Learning curve plot saved.\n", + "2024-10-07 16:16:00,061 - explainableai.visualizations - DEBUG - Plot correlation heatmap\n", + "2024-10-07 16:16:01,064 - explainableai.visualizations - DEBUG - Plotting roc curve...\n", + "2024-10-07 16:16:01,150 - explainableai.visualizations - INFO - Plotting roc curve successfully...\n", + "2024-10-07 16:16:01,150 - explainableai.visualizations - DEBUG - Plot precision recall curve...\n", + "2024-10-07 16:16:01,243 - explainableai.visualizations - INFO - Plot precision recall curve successfully...\n", + "2024-10-07 16:16:01,243 - explainableai.core - INFO - Visualizations generated.\n", + "2024-10-07 16:16:01,243 - explainableai.core - INFO - Calculating SHAP values...\n", + "2024-10-07 16:16:01,243 - explainableai.feature_analysis - DEBUG - Convert X to Dataframe...\n" + ] + }, + { + "data": { + "image/png": "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WbNmdserXr06b7zxht2yTZs24eXlxZw5c3B1vfYncdSoUcbX7dq1Y8mSJaSnp9O1a9d8neOxY8eYNm0a7dq1A6Bv375MmzaNpUuXsn79ejp16gTA3LlziY2NZf78+dSqVcvYvnv37gwYMIDIyEgmT55st++0tDSWLFmCu7t7nmKJi4vjqaee4qmnnjKWJSYm8s0331CnTh3mz59vXINq1aoxfvx41q1bR+/evQHYuHEja9eu5eWXX6ZDhw68++679OvXj6effpqwsDDeffdd2rZtS0BAAO3atWP69OnUqFEjxzU7fPgwUVFRhIWFER4ebiwfMGAA48ePZ/bs2YSGhtolM8ePH2f27Nk0b948T+cqInefuj9JoXB3c6GYa/aPk0aAEpG8CA4OJjMzk3379gGwe/du/P39GfrkYMxZ6SSd/5VLyVeJiYnBZDIZScXly5f58ccfadu2rZFQAJhMJoYOHQpk3wD/2eDBg3MsK1GiBGlpaWzbtu2OFDdXqVLFSChsnn76aSA7oYHsLkVr166lcePGlClThri4OOOfh4cH9evXZ+fOnTn23adPnzwnFAAuLi7079/fblmjRo2wWq307t3bLqlq3LgxAKdPnzaWffnll3h5edGuXTvi4+NxcXEhPj6epKQk2rRpw9mzZzl16tQt41i7di0mk4nQ0FC7c42Li6Nt27YkJydz4MABu21q1aqlhELEyamlQgqNn4cbvyWmE5+aQSVHByMiTi8kJATITiZatGhBTEwMTZs25cEGdcHNA7crxzn2WxIxMTHUrFkTX19fAM6ePQtAUFBQjn1Wq1YNs9lMbGxsjtdy6x4UFhbG3r17iYiIwNfXlyZNmtCqVSs6duxo96T8duXWRapUqVJ4e3sbMV65coX4+Hh27txJhw4dct2PrZvU9SpXrpyvWEqVKkXx4sXtlvn4+ABQoUKFXJfHx8cby06ePElycjKPPvookJ2Q9OrVy267y5cv37Ib1okTJ7BarTlqZK536dIlu+/ze64icvcpqZBC43tdUiEicisBAQEEBQURExNDWloaBw8eZMKECZjNZrwr1uLq5RMcOH6Oo0ePFspQrrk91a9cuTLLly9n165d7N69m7179zJ16lQiIyOZN28eFStWLPBxb8XWQtKsWTOGDBmS5+3y00oBuScmt3rt+tYbq9VKyZIlmTp1KikpKTz2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i1i5ciUvjJ8H5CUVKSkprFixgt27d3Pz5k0sLS159tlnefPNN6lZs+Zjr9/s2bPZunUrISEhfPfddxw8eJCMjAyaNWvG5MmTady4sU777Oxs1q5dS3BwMNevX8fCwoJWrVoxbtw46tevr9PW3d2d3r1769RVaLe98sorLFq0iHPnzmFmZkbnzp2ZOnUqlSpVAmDMmDGEh4crz9GaNWsWffr0ITY2Fj8/P44fP05cXBxWVlbUqlWLV155hd69ez/2vAt63RwcHHjhhRdYvHgxf/31F0FBQcTGxvLhhx/i5OTEuHHjmDVrFmlpaWzcuJF//vmHN954g7Fjxxb4WsXExODt7c3o0aNxcXFh9erVREZG4uXlJTUpQpQyBU4qcnNz+eqrr9iyZQuZmZm8+OKLzJo1izp16lCnTp3ijFFUIGbGRjhXtuCfu2lE3kmVpEKIJ5SVlcXEiRMJCwujbdu29OjRA1NTU65cucKePXuUpOLGjRsMHz6clJQU+vfvT+3atQkLCyMgIIDTp0+zZMkSvTvqs2fPxtjYmCFDhpCVlcXPP//MtGnT2Lx5MzVq1FDaLV68mICAAFxdXXn99depUqUK//zzD7t372bcuHGYmJiQlZXFmjVreOGFF3j++ecxNzfn3LlzBAYGcurUKdauXYuJiQnW1tZ06tSJvXv3kpiYiK2trXKc3Nxctm/fToMGDahZtx5cvkR8QhIjRowgNjYWb29vXF1duXPnDps2beKNN95gzZo1ODk5FehaTpo0CRsbG0aPHk1cXBwbNmxgzJgxrFixQucD8EcffURISAienp74+PgQFxfHxo0b8fX1xd/fXy8Jyc+lS5d455136NOnD926dSMsLIzAwEDUajUffPABACNGjECj0XDy5Ek+/vhj5bnNmzcnOzubCRMmcPv2beX1TElJ4cqVK5w8efKxSUVKSkqhr9uCBQvIzs6mX79+WFpaUqdOHWUNq59//pnExET69u2Lg4MDjo6OT3St9u7dy/r16/Hx8cHHxwdLS8vHXkshRMkqcFLxySefMHv2bLp27YqFhQULFizg1q1brFixojjjExWQSxVL/rmbRtSdVJ51sTd0OEKUSevWrSMsLAxfX18mTJig81hubq7y/eLFi7l79y7z589XehoGDBjAggULWLNmDVu3bqVv3746z69cuTLfffcdKpUKyLtbPnz4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Tg6DBg0iOzubtWvXMnHiRObMmcPcuXPp168fPXr0ICQkhGXLllGjRg169uypPP/AgQO8++671KpViyFDhmBjY8Nff/2Fn58fly5d4osvvlDahoaGEhUVRdeuXXFyciIxMZGtW7fy7rvvMm/ePLp3764X38SJE7Gzs2PUqFEkJiby008/MXnyZLZs2YKlpWW+56Qt1E5ITGTE9OlERETw4osv0r9/f3Jycrh48SIHDhxQkopz584xZswYjI2NGTBgAA4ODuzfv5+FCxdy+fJl5s2bp3eMt956i2rVqjFu3DiuXbvG+vXreffdd+nSpQu//fYbL7/8Mqampqxfv57p06ezefNmnJ2ddfaxb98+rl+/rhxz3759+Pv7Exsby6xZs5R2J06cIDw8nA4dOlCjRg3S09P5888/mTdvHnfv3sXX11dpm5yczMiRIx95ziNGjECj0XDy5Ek+/vhj5bnNmzd/7LWfMWMGarXuYIeZM2eyc+dOXnzxRfr06UNWVhbbt29nwoQJfPnllzz//PMABAcHM3v2bFq1asW4ceMwMzPj5s2bHDx4kPj4eOzs7EhISGD8+PEA+Pj4UL16dRISEjh//jxnz56VpEKIUkiSClGuGKlVuFax5EJsMlduJ0tSIUQB5eTksHLlSkxMTABwcXFh6tSpTJ8+nYCAAJo0aQLAyy+/TO/evdm4caOSVGRkZDB37lzc3NxYunSpcnfdx8eHBg0a8N1333HixAnlbvXIkSOZOHGizvEHDRrE66+/zo8//phvUtG4cWPef/995WdXV1fef/99duzYgY+PT77npO2p2PJzABEREfzvf//jlVde0WmTm3t/aNTXX39NVlYWAQEBNGjQAICBAwcyY8YMduzYgbe3N88++6zO85s2bcr06dN1tq1bt45bt26xfv16rKzyek89PDx47bXX+O233/TO/fLly6xevZrGjRsrx3z33XcJCgrilVdeoVmzZgD06tWL/v376zz39ddfZ9y4caxcuZKhQ4cq137x4sWPPee2bduyY8cOTp48qZMg/tfDrr29vb2ybc+ePWzfvl3veIMGDcLX15dvvvmGTp06oVKpCA0NxdLSUud3BWDcuHHK96dPnyY+Pp7PPvsMLy+vh8YmhCg9pKZClDv1tDNA3ZK1KoQoqP79+ysJBUCrVq0AcHNzUxIKABMTE5o2bUp0dLSy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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-10-07 16:16:01,583 - explainableai.feature_analysis - INFO - Dataframe Created...\n", + "2024-10-07 16:16:01,590 - explainableai.core - INFO - Performing cross-validation...\n", + "2024-10-07 16:16:01,590 - explainableai.model_evaluation - DEBUG - Cross validation...\n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:16:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:00] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:16:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:16:01] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:03] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:16:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:04] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", + "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [16:16:02] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", "Parameters: { \"use_label_encoder\" } are not used.\n", "\n", " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:05] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + "2024-10-07 16:16:02,450 - explainableai.model_evaluation - INFO - validated...\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - Model comparison results:\n", + "2024-10-07 16:16:02,450 - explainableai.core - DEBUG - Printing results...\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - \n", + "Model Performance:\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - accuracy: 1.0000\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - f1_score: 1.0000\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - confusion_matrix:\n", + "[[169 0]\n", + " [ 0 286]]\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - classification_report:\n", + " precision recall f1-score support\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:07] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + " 0 1.00 1.00 1.00 169\n", + " 1 1.00 1.00 1.00 286\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:08] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", + " accuracy 1.00 455\n", + " macro avg 1.00 1.00 1.00 455\n", + "weighted avg 1.00 1.00 1.00 455\n", "\n", - " warnings.warn(smsg, UserWarning)\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\numpy\\ma\\core.py:2846: RuntimeWarning: invalid value encountered in cast\n", - " _data = np.array(data, dtype=dtype, copy=copy,\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n" + "2024-10-07 16:16:02,450 - explainableai.core - INFO - \n", + "Top 5 Important Features:\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - worst texture: 0.0136\n", + "2024-10-07 16:16:02,450 - explainableai.core - INFO - worst concave points: 0.0092\n", + "2024-10-07 16:16:02,457 - explainableai.core - INFO - mean concave points: 0.0059\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - compactness error: 0.0048\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - mean texture: 0.0033\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - \n", + "Cross-validation Score: 0.9824 (+/- 0.0112)\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - \n", + "Visualizations saved:\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - Feature Importance: feature_importance.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - Partial Dependence: partial_dependence.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - Learning Curve: learning_curve.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - Correlation Heatmap: correlation_heatmap.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - ROC Curve: roc_curve.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - - Precision-Recall Curve: precision_recall_curve.png\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - \n", + "SHAP values calculated successfully. See 'shap_summary.png' for visualization.\n", + "2024-10-07 16:16:02,458 - explainableai.core - INFO - Generating LLM explanation...\n", + "2024-10-07 16:16:02,464 - explainableai.llm_explanations - DEBUG - Generate content...\n", + "2024-10-07 16:16:02,730 - explainableai.llm_explanations - ERROR - Some error in generating response... 400 API key not valid. Please pass a valid API key. [reason: \"API_KEY_INVALID\"\n", + "domain: \"googleapis.com\"\n", + "metadata {\n", + " key: \"service\"\n", + " value: \"generativelanguage.googleapis.com\"\n", + "}\n", + "]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Logistic Regression Test Accuracy: 97.37%\n", - "Random Forest Test Accuracy: 96.49%\n" + "Results for XGBoost:\n", + "{'model_performance': {'accuracy': 1.0, 'f1_score': np.float64(1.0), 'confusion_matrix': array([[169, 0],\n", + " [ 0, 286]]), 'classification_report': ' precision recall f1-score support\\n\\n 0 1.00 1.00 1.00 169\\n 1 1.00 1.00 1.00 286\\n\\n accuracy 1.00 455\\n macro avg 1.00 1.00 1.00 455\\nweighted avg 1.00 1.00 1.00 455\\n'}, 'feature_importance': {'worst texture': np.float64(0.013626373626373612), 'worst concave points': np.float64(0.009230769230769199), 'mean concave points': np.float64(0.005934065934065913), 'compactness error': np.float64(0.004835164835164818), 'mean texture': np.float64(0.003296703296703285), 'worst area': np.float64(0.003296703296703285), 'mean compactness': np.float64(0.001538461538461533), 'worst symmetry': np.float64(0.001538461538461533), 'area error': np.float64(0.001318681318681314), 'radius error': np.float64(0.001098901098901095), 'worst perimeter': np.float64(0.000659340659340657), 'mean radius': np.float64(0.0), 'mean perimeter': np.float64(0.0), 'mean area': np.float64(0.0), 'mean smoothness': np.float64(0.0), 'mean concavity': np.float64(0.0), 'mean symmetry': np.float64(0.0), 'mean fractal dimension': np.float64(0.0), 'texture error': np.float64(0.0), 'perimeter error': np.float64(0.0), 'smoothness error': np.float64(0.0), 'concavity error': np.float64(0.0), 'concave points error': np.float64(0.0), 'symmetry error': np.float64(0.0), 'fractal dimension error': np.float64(0.0), 'worst radius': np.float64(0.0), 'worst smoothness': np.float64(0.0), 'worst compactness': np.float64(0.0), 'worst concavity': np.float64(0.0), 'worst fractal dimension': np.float64(0.0)}, 'shap_values': array([[ 0. , 0.47992012, 0.00751822, ..., -1.7419593 ,\n", + " -1.3272045 , 0.27730063],\n", + " [ 0. , -0.91630375, -0.00541482, ..., -1.3817174 ,\n", + " -1.123408 , 0.25335163],\n", + " [ 0. , 0.79309905, 0.00751822, ..., 1.2224349 ,\n", + " -1.123034 , 0.27730063],\n", + " ...,\n", + " [ 0. , 0.7297472 , 0.07059038, ..., 1.1524037 ,\n", + " 1.0196985 , -0.3740746 ],\n", + " [ 0. , 0.4190652 , 0.07059038, ..., -2.5678008 ,\n", + " -1.1041393 , 0.25335163],\n", + " [ 0. , -0.32773632, 0.00751822, ..., 1.0871819 ,\n", + " 0.7314011 , -0.3740746 ]], dtype=float32), 'cv_scores': (np.float64(0.9824175824175825), np.float64(0.011206636293610526)), 'model_comparison': {'Model': {'cv_score': np.float64(0.9931862664220944), 'test_score': 1.0}}, 'llm_explanation': None}\n", + "\n", + "Analyzing Neural Network (MLP)...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:54:52] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n" + "2024-10-07 16:16:02,743 - explainableai.core - DEBUG - Fitting the model...\n", + "2024-10-07 16:16:02,743 - explainableai.core - INFO - Preprocessing data...\n", + "2024-10-07 16:16:02,745 - explainableai.core - DEBUG - Creating Preprocessing Steps...\n", + "2024-10-07 16:16:02,745 - explainableai.core - INFO - Pre proccessing completed...\n", + "2024-10-07 16:16:02,745 - explainableai.core - DEBUG - Fitting and transforming the data...\n", + "2024-10-07 16:16:02,750 - explainableai.core - DEBUG - Updating feature names...\n", + "2024-10-07 16:16:02,751 - explainableai.core - INFO - Fitting models and analyzing...\n", + "2024-10-07 16:16:02,752 - explainableai.core - DEBUG - Comparing the models...\n", + "2024-10-07 16:16:04,074 - explainableai.core - INFO - Comparing successfully...\n", + "2024-10-07 16:16:04,346 - explainableai.core - INFO - Model fitting is complete...\n", + "2024-10-07 16:16:04,346 - explainableai.core - DEBUG - Analysing...\n", + "2024-10-07 16:16:04,346 - explainableai.core - INFO - Evaluating model performance...\n", + "2024-10-07 16:16:04,346 - explainableai.model_evaluation - DEBUG - Evaluting model\n", + "2024-10-07 16:16:04,346 - explainableai.model_evaluation - DEBUG - Evaluating report...\n", + "2024-10-07 16:16:04,353 - explainableai.model_evaluation - INFO - Report Generated...\n", + "2024-10-07 16:16:04,353 - explainableai.core - INFO - Calculating feature importance...\n", + "2024-10-07 16:16:04,353 - explainableai.core - DEBUG - Calculating the features...\n", + "2024-10-07 16:16:04,494 - explainableai.core - INFO - Features calculated...\n", + "2024-10-07 16:16:04,494 - explainableai.core - INFO - Generating visualizations...\n", + "2024-10-07 16:16:04,499 - explainableai.core - DEBUG - Generating visulatization...\n", + "2024-10-07 16:16:04,499 - explainableai.visualizations - DEBUG - Plotting feature importance...\n", + "2024-10-07 16:16:04,635 - explainableai.visualizations - INFO - Feature importance plot saved...\n", + "2024-10-07 16:16:04,635 - explainableai.visualizations - DEBUG - Plotting partial dependence...\n", + "2024-10-07 16:16:06,863 - explainableai.visualizations - INFO - Partial dependence plot saved...\n", + "2024-10-07 16:16:06,863 - explainableai.visualizations - DEBUG - Plotting learning curve...\n", + "2024-10-07 16:16:10,093 - explainableai.visualizations - INFO - Learning curve plot saved.\n", + "2024-10-07 16:16:10,093 - explainableai.visualizations - DEBUG - Plot correlation heatmap\n", + "2024-10-07 16:16:10,944 - explainableai.visualizations - DEBUG - Plotting roc curve...\n", + "2024-10-07 16:16:10,999 - explainableai.visualizations - INFO - Plotting roc curve successfully...\n", + "2024-10-07 16:16:10,999 - explainableai.visualizations - DEBUG - Plot precision recall curve...\n", + "2024-10-07 16:16:11,056 - explainableai.visualizations - INFO - Plot precision recall curve successfully...\n", + "2024-10-07 16:16:11,056 - explainableai.core - INFO - Visualizations generated.\n", + "2024-10-07 16:16:11,056 - explainableai.core - INFO - Calculating SHAP values...\n", + "2024-10-07 16:16:11,062 - explainableai.feature_analysis - DEBUG - Convert X to Dataframe...\n", + "2024-10-07 16:16:11,063 - explainableai.feature_analysis - ERROR - Error calculating SHAP values: Model type not yet supported by TreeExplainer: \n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 34, in calculate_shap_values\n", + " logger.error(\"Model type:\", type(model))\n", + "Message: 'Model type:'\n", + "Arguments: (,)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 35, in calculate_shap_values\n", + " logger.error(\"X shape:\", X.shape)\n", + "Message: 'X shape:'\n", + "Arguments: ((455, 30),)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 36, in calculate_shap_values\n", + " logger.error(\"X dtype:\", X.dtypes)\n", + "Message: 'X dtype:'\n", + "Arguments: (mean radius float64\n", + "mean texture float64\n", + "mean perimeter float64\n", + "mean area float64\n", + "mean smoothness float64\n", + "mean compactness float64\n", + "mean concavity float64\n", + "mean concave points float64\n", + "mean symmetry float64\n", + "mean fractal dimension float64\n", + "radius error float64\n", + "texture error float64\n", + "perimeter error float64\n", + "area error float64\n", + "smoothness error float64\n", + "compactness error float64\n", + "concavity error float64\n", + "concave points error float64\n", + "symmetry error float64\n", + "fractal dimension error float64\n", + "worst radius float64\n", + "worst texture float64\n", + "worst perimeter float64\n", + "worst area float64\n", + "worst smoothness float64\n", + "worst compactness float64\n", + "worst concavity float64\n", + "worst concave points float64\n", + "worst symmetry float64\n", + "worst fractal dimension float64\n", + "dtype: object,)\n", + "--- Logging error ---\n", + "Traceback (most recent call last):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 17, in calculate_shap_values\n", + " explainer = shap.TreeExplainer(model)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 195, in __init__\n", + " self.model = TreeEnsemble(model, self.data, self.data_missing, model_output)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\shap\\explainers\\_tree.py\", line 1217, in __init__\n", + " raise InvalidModelError(\"Model type not yet supported by TreeExplainer: \" + str(type(model)))\n", + "shap.utils._exceptions.InvalidModelError: Model type not yet supported by TreeExplainer: \n", + "\n", + "During handling of the above exception, another exception occurred:\n", + "\n", + "Traceback (most recent call last):\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 1160, in emit\n", + " msg = self.format(record)\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 999, in format\n", + " return fmt.format(record)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 703, in format\n", + " record.message = record.getMessage()\n", + " ^^^^^^^^^^^^^^^^^^^\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\logging\\__init__.py\", line 392, in getMessage\n", + " msg = msg % self.args\n", + " ~~~~^~~~~~~~~~~\n", + "TypeError: not all arguments converted during string formatting\n", + "Call stack:\n", + " File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel_launcher.py\", line 18, in \n", + " app.launch_new_instance()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\traitlets\\config\\application.py\", line 1075, in launch_instance\n", + " app.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelapp.py\", line 739, in start\n", + " self.io_loop.start()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\tornado\\platform\\asyncio.py\", line 205, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 641, in run_forever\n", + " self._run_once()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py\", line 1986, in _run_once\n", + " handle._run()\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 545, in dispatch_queue\n", + " await self.process_one()\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 534, in process_one\n", + " await dispatch(*args)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 437, in dispatch_shell\n", + " await result\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 362, in execute_request\n", + " await super().execute_request(stream, ident, parent)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\kernelbase.py\", line 778, in execute_request\n", + " reply_content = await reply_content\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\ipkernel.py\", line 449, in do_execute\n", + " res = shell.run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\ipykernel\\zmqshell.py\", line 549, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3075, in run_cell\n", + " result = self._run_cell(\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3130, in _run_cell\n", + " result = runner(coro)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\async_helpers.py\", line 128, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3334, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3517, in run_ast_nodes\n", + " if await self.run_code(code, result, async_=asy):\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3577, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"C:\\Users\\Shravya H Jain\\AppData\\Local\\Temp\\ipykernel_10140\\3974386392.py\", line 215, in \n", + " results = xai.analyze() # Perform the analysis\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\core.py\", line 153, in analyze\n", + " results['shap_values'] = calculate_shap_values(self.model, self.X, self.feature_names)\n", + " File \"c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\explainableai\\feature_analysis.py\", line 37, in calculate_shap_values\n", + " logger.error(\"Feature names:\", feature_names)\n", + "Message: 'Feature names:'\n", + "Arguments: (['mean radius', 'mean texture', 'mean perimeter', 'mean area', 'mean smoothness', 'mean compactness', 'mean concavity', 'mean concave points', 'mean symmetry', 'mean fractal dimension', 'radius error', 'texture error', 'perimeter error', 'area error', 'smoothness error', 'compactness error', 'concavity error', 'concave points error', 'symmetry error', 'fractal dimension error', 'worst radius', 'worst texture', 'worst perimeter', 'worst area', 'worst smoothness', 'worst compactness', 'worst concavity', 'worst concave points', 'worst symmetry', 'worst fractal dimension'],)\n", + "2024-10-07 16:16:11,135 - explainableai.core - INFO - Performing cross-validation...\n", + "2024-10-07 16:16:11,135 - explainableai.model_evaluation - DEBUG - Cross validation...\n", + "2024-10-07 16:16:12,197 - explainableai.model_evaluation - INFO - validated...\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - Model comparison results:\n", + "2024-10-07 16:16:12,197 - explainableai.core - DEBUG - Printing results...\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - \n", + "Model Performance:\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - accuracy: 1.0000\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - f1_score: 1.0000\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - confusion_matrix:\n", + "[[169 0]\n", + " [ 0 286]]\n", + "2024-10-07 16:16:12,197 - explainableai.core - INFO - classification_report:\n", + " precision recall f1-score support\n", + "\n", + " 0 1.00 1.00 1.00 169\n", + " 1 1.00 1.00 1.00 286\n", + "\n", + " accuracy 1.00 455\n", + " macro avg 1.00 1.00 1.00 455\n", + "weighted avg 1.00 1.00 1.00 455\n", + "\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - \n", + "Top 5 Important Features:\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - worst symmetry: 0.0246\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - worst texture: 0.0207\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - worst concavity: 0.0189\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - worst concave points: 0.0169\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - radius error: 0.0167\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - \n", + "Cross-validation Score: 0.9758 (+/- 0.0128)\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - \n", + "Visualizations saved:\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - - Feature Importance: feature_importance.png\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - - Partial Dependence: partial_dependence.png\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - - Learning Curve: learning_curve.png\n", + "2024-10-07 16:16:12,208 - explainableai.core - INFO - - Correlation Heatmap: correlation_heatmap.png\n", + "2024-10-07 16:16:12,215 - explainableai.core - INFO - - ROC Curve: roc_curve.png\n", + "2024-10-07 16:16:12,215 - explainableai.core - INFO - - Precision-Recall Curve: precision_recall_curve.png\n", + "2024-10-07 16:16:12,215 - explainableai.core - INFO - \n", + "SHAP values calculation failed. Please check the console output for more details.\n", + "2024-10-07 16:16:12,216 - explainableai.core - INFO - Generating LLM explanation...\n", + "2024-10-07 16:16:12,216 - explainableai.llm_explanations - DEBUG - Generate content...\n", + "2024-10-07 16:16:12,466 - explainableai.llm_explanations - ERROR - Some error in generating response... 400 API key not valid. Please pass a valid API key. [reason: \"API_KEY_INVALID\"\n", + "domain: \"googleapis.com\"\n", + "metadata {\n", + " key: \"service\"\n", + " value: \"generativelanguage.googleapis.com\"\n", + "}\n", + "]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "XGBoost Test Accuracy: 97.37%\n", - "Neural Network (MLP) Test Accuracy: 97.37%\n", - "PyTorch Model Test Accuracy: 98.25%\n" + "Results for Neural Network (MLP):\n", + "{'model_performance': {'accuracy': 1.0, 'f1_score': np.float64(1.0), 'confusion_matrix': array([[169, 0],\n", + " [ 0, 286]]), 'classification_report': ' precision recall f1-score support\\n\\n 0 1.00 1.00 1.00 169\\n 1 1.00 1.00 1.00 286\\n\\n accuracy 1.00 455\\n macro avg 1.00 1.00 1.00 455\\nweighted avg 1.00 1.00 1.00 455\\n'}, 'feature_importance': {'worst symmetry': np.float64(0.02461538461538464), 'worst texture': np.float64(0.020659340659340684), 'worst concavity': np.float64(0.018901098901098902), 'worst concave points': np.float64(0.01692307692307692), 'radius error': np.float64(0.016703296703296712), 'worst area': np.float64(0.01428571428571428), 'compactness error': np.float64(0.013186813186813163), 'area error': np.float64(0.011428571428571399), 'worst radius': np.float64(0.009670329670329648), 'worst smoothness': np.float64(0.009670329670329648), 'worst perimeter': np.float64(0.00857142857142854), 'mean texture': np.float64(0.008351648351648321), 'mean concavity': np.float64(0.007252747252747227), 'perimeter error': np.float64(0.00659340659340657), 'mean radius': np.float64(0.006153846153846132), 'fractal dimension error': np.float64(0.006153846153846132), 'texture error': np.float64(0.005714285714285694), 'mean compactness': np.float64(0.003736263736263723), 'mean concave points': np.float64(0.003076923076923066), 'symmetry error': np.float64(0.002417582417582409), 'worst compactness': np.float64(0.00219780219780219), 'concave points error': np.float64(0.001978021978021971), 'worst fractal dimension': np.float64(0.001978021978021971), 'mean symmetry': np.float64(0.001758241758241752), 'smoothness error': np.float64(0.001318681318681314), 'mean fractal dimension': np.float64(0.001098901098901095), 'mean smoothness': np.float64(0.000879120879120876), 'mean perimeter': np.float64(0.000659340659340657), 'concavity error': np.float64(0.000659340659340657), 'mean area': np.float64(0.000219780219780219)}, 'shap_values': None, 'cv_scores': (np.float64(0.9758241758241759), np.float64(0.01281527888976989)), 'model_comparison': {'Model': {'cv_score': np.float64(0.9943240454076367), 'test_score': 1.0}}, 'llm_explanation': None}\n", + "\n", + "Performing XAI Analysis on PyTorch Model using Captum:\n" ] }, { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024-10-07 11:54:58,627 - explainableai.llm_explanations - DEBUG - Initializing gemini...\n", - "2024-10-07 11:54:58,627 - explainableai.llm_explanations - INFO - Gemini initialize successfully...\n", - "2024-10-07 11:54:58,658 - explainableai.core - DEBUG - Fitting the model...\n", - "2024-10-07 11:54:58,658 - explainableai.core - ERROR - Some error occur while fitting the models...'numpy.ndarray' object has no attribute 'columns'\n", - "2024-10-07 11:54:58,658 - explainableai.core - DEBUG - Fitting the model...\n", - "2024-10-07 11:54:58,658 - explainableai.core - ERROR - Some error occur while fitting the models...'numpy.ndarray' object has no attribute 'columns'\n", - "2024-10-07 11:54:58,658 - explainableai.core - DEBUG - Analysing...\n", - "2024-10-07 11:54:58,675 - explainableai.core - INFO - Evaluating model performance...\n", - "2024-10-07 11:54:58,675 - explainableai.model_evaluation - DEBUG - Evaluting model\n", - "2024-10-07 11:54:58,675 - explainableai.model_evaluation - DEBUG - Model prediction...\n", - "2024-10-07 11:54:58,675 - explainableai.model_evaluation - ERROR - Some error in model prediction...'NoneType' object has no attribute 'predict'\n", - "2024-10-07 11:54:58,675 - explainableai.core - INFO - Calculating feature importance...\n", - "2024-10-07 11:54:58,675 - explainableai.core - DEBUG - Calculating the features...\n" - ] + "data": { + "image/png": "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REREVmnsU/5w1drhbF4REs7k1/n22GgjIiIiIiIiIiKrpHO0x9gwfwDAB4mZEKnbs9rYaCMiIiIiIiIiIqs1oUcAHOxskHbxJlKyr9fptuzqdHYiIiIiIiIiIiIz8nJ1xJRegbCzsUGQt2udbouNNiIiIiIiIiIismqxUcEm2Q6/OkpERERERERERGQEbLQREREREREREREZARttRERERERERERERsBGGxERERERERERkRGw0UZERERERERERGQEbLQREREREREREREZARttRERERERERERERsBGGxERERERERERkRGw0UZERERERERERGQEbLQREREREREREREZARttRERERERERERERsBGGxERERERERERkRGw0UZERERERERERGQEduYOwBKJCACgoKDAzJEYKi4uVv5dUFCA0tJSVW7PmPPWRYxqmbMu5zXV/OZm7flZkvL9afn+tb6zlDpjae8Bc8Vjiu2aMjc11TFTb8NYLD1WS4+vLrDOVGSqWlOXrzdjz22s+azx/+CWsN+whBgsKQ5Lwefjv2paazTCalTBpUuX4OfnZ+4wiIiszq+//oqmTZuaOwyzY50hIqobrDP/xVpDRFQ3HlVr2GirhF6vx+XLl+Hq6gqNRmPucKpUUFAAPz8//Prrr9DpdOYO57FYQw4A87Ak1pADYB15/D4HV1dXFBYWokmTJrCx4a8W/C91Ru2vDcZvPmqOHWD85mbp8YsI68xDLO2YxtJfQzXBHCyHNeTBHCxDbXKoaa3hV0crYWNjo6pPwnQ6nWpf1OWsIQeAeVgSa8gBsI48ynNwc3MzdygWwxh1Ru2vDcZvPmqOHWD85mbJ8bPOGLLUYxpLfg3VFHOwHNaQB3OwDDXNoSa1hh/3EBERERERERERGQEbbUREREREREREREbARpuKabVaLFy4EFqt1tyhPDZryAFgHpbEGnIArCMPa8jBEqn9eWX85qPm2AHGb25qj5/MzxpeQ8zBclhDHszBMtRFDrwYAhERERERERERkRHwjDYiIiIiIiIiIiIjYKONiIiIiIiIiIjICNhoIyIiIiIiIiIiMgI22oiIiIiIiIiIiIyAjTaVefPNNxEeHg5nZ2e4u7vXaB0RwWuvvQZfX184OTmhb9++OHfuXN0GWo3r169jzJgx0Ol0cHd3x6RJk1BUVFTtOpGRkdBoNAa3P/7x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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "An error occurred during the XAI analysis: The 'estimator' parameter of permutation_importance must be an object implementing 'fit'. Got None instead.\n" - ] - } - ], - "source": [ - "# import os\n", - "# import numpy as np\n", - "# import pandas as pd\n", - "# from sklearn.ensemble import RandomForestClassifier\n", - "# from sklearn.linear_model import LogisticRegression\n", - "# from xgboost import XGBClassifier\n", - "# from sklearn.neural_network import MLPClassifier\n", - "# from sklearn.model_selection import GridSearchCV, train_test_split\n", - "# from sklearn.preprocessing import StandardScaler\n", - "# from sklearn.pipeline import Pipeline\n", - "# from sklearn.datasets import load_breast_cancer\n", - "# from sklearn.metrics import accuracy_score\n", - "\n", - "# # Import PyTorch Libraries\n", - "# import torch\n", - "# import torch.nn as nn\n", - "# import torch.optim as optim\n", - "# from torch.utils.data import TensorDataset, DataLoader\n", - "\n", - "# # Set the Google API key as an environment variable (if required)\n", - "# os.environ['GOOGLE_API_KEY'] = 'YOUR_API_KEY'\n", - "\n", - "# # Load dataset\n", - "# data = load_breast_cancer()\n", - "# X = data.data\n", - "# y = data.target\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)\n", - "# X_train = pd.DataFrame(X_train, columns=data.feature_names)\n", - "# X_test = pd.DataFrame(X_test, columns=data.feature_names)\n", - "\n", - "# # Feature scaling\n", - "# scaler = StandardScaler()\n", - "# X_train_scaled = scaler.fit_transform(X_train)\n", - "# X_test_scaled = scaler.transform(X_test)\n", - "\n", - "# # Logistic Regression with 'saga' solver and hyperparameter tuning\n", - "# logistic_regression_params = {\n", - "# 'logistic_regression__C': [0.01, 0.1, 1, 10],\n", - "# 'logistic_regression__penalty': ['l2', 'elasticnet'],\n", - "# 'logistic_regression__l1_ratio': [0.1, 0.5, 0.9],\n", - "# 'logistic_regression__solver': ['saga'],\n", - "# 'logistic_regression__max_iter': [5000]\n", - "# }\n", - "# logistic_regression_pipeline = Pipeline([\n", - "# ('scaler', scaler),\n", - "# ('logistic_regression', LogisticRegression())\n", - "# ])\n", - "# logistic_regression_gs = GridSearchCV(logistic_regression_pipeline, logistic_regression_params, cv=5)\n", - "\n", - "# # Random Forest with hyperparameter tuning\n", - "# random_forest_params = {\n", - "# 'n_estimators': [1000, 2000, 3000],\n", - "# 'max_depth': [10, 20, 30, None],\n", - "# 'min_samples_split': [2, 5, 10],\n", - "# 'min_samples_leaf': [1, 2, 4]\n", - "# }\n", - "# random_forest = RandomForestClassifier(random_state=42)\n", - "# random_forest_gs = GridSearchCV(random_forest, random_forest_params, cv=5)\n", - "\n", - "# # XGBoost with hyperparameter tuning\n", - "# xgboost_params = {\n", - "# 'n_estimators': [1000, 2000, 3000],\n", - "# 'learning_rate': [0.01, 0.1, 0.3],\n", - "# 'max_depth': [3, 6, 9],\n", - "# 'subsample': [0.7, 0.8, 1.0]\n", - "# }\n", - "# xgboost = XGBClassifier(random_state=42)\n", - "# xgboost_gs = GridSearchCV(xgboost, xgboost_params, cv=5)\n", - "\n", - "# # Neural Network (MLP) with hyperparameter tuning\n", - "# mlp_params = {\n", - "# 'hidden_layer_sizes': [(100, 50), (128, 64, 32)],\n", - "# 'activation': ['relu', 'tanh'],\n", - "# 'solver': ['adam'],\n", - "# 'alpha': [0.0001, 0.001],\n", - "# 'learning_rate': ['constant', 'adaptive'],\n", - "# 'max_iter': [3000]\n", - "# }\n", - "# mlp = MLPClassifier(random_state=42)\n", - "# mlp_gs = GridSearchCV(mlp, mlp_params, cv=5)\n", - "\n", - "# # Fit the models\n", - "# logistic_regression_gs.fit(X_train_scaled, y_train)\n", - "# random_forest_gs.fit(X_train_scaled, y_train)\n", - "# xgboost_gs.fit(X_train_scaled, y_train)\n", - "# mlp_gs.fit(X_train_scaled, y_train)\n", - "\n", - "# # Evaluate the models on the test set\n", - "# logistic_regression_best = logistic_regression_gs.best_estimator_\n", - "# random_forest_best = random_forest_gs.best_estimator_\n", - "# xgboost_best = xgboost_gs.best_estimator_\n", - "# mlp_best = mlp_gs.best_estimator_\n", - "\n", - "# # Store models in a dictionary\n", - "# models = {\n", - "# 'Logistic Regression': logistic_regression_best,\n", - "# 'Random Forest': random_forest_best,\n", - "# 'XGBoost': xgboost_best,\n", - "# 'Neural Network (MLP)': mlp_best\n", - "# }\n", - "\n", - "# # Predictions and accuracy calculations\n", - "# for model_name, model in models.items():\n", - "# model.fit(X_train_scaled, y_train) # Fit the model again for consistency\n", - "# accuracy = model.score(X_test_scaled, y_test) # Calculate test accuracy\n", - "# print(f\"{model_name} Test Accuracy: {accuracy * 100:.2f}%\")\n", - "\n", - "# # PyTorch Model for XAI Example\n", - "# class SimpleNN(nn.Module):\n", - "# def __init__(self, input_size):\n", - "# super(SimpleNN, self).__init__()\n", - "# self.fc1 = nn.Linear(input_size, 64)\n", - "# self.fc2 = nn.Linear(64, 32)\n", - "# self.fc3 = nn.Linear(32, 1)\n", - "\n", - "# def forward(self, x):\n", - "# x = torch.relu(self.fc1(x))\n", - "# x = torch.relu(self.fc2(x))\n", - "# x = torch.sigmoid(self.fc3(x))\n", - "# return x\n", - "\n", - "# # Prepare data for PyTorch\n", - "# X_train_tensor = torch.tensor(X_train_scaled, dtype=torch.float32)\n", - "# y_train_tensor = torch.tensor(y_train, dtype=torch.float32).view(-1, 1)\n", - "# X_test_tensor = torch.tensor(X_test_scaled, dtype=torch.float32)\n", - "# y_test_tensor = torch.tensor(y_test, dtype=torch.float32).view(-1, 1)\n", - "\n", - "# # Create DataLoader\n", - "# train_dataset = TensorDataset(X_train_tensor, y_train_tensor)\n", - "# train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)\n", - "\n", - "# # Initialize and train the PyTorch model\n", - "# input_size = X.shape[1]\n", - "# torch_model = SimpleNN(input_size)\n", - "# criterion = nn.BCELoss()\n", - "# optimizer = optim.Adam(torch_model.parameters(), lr=0.001)\n", - "\n", - "# # Training Loop\n", - "# for epoch in range(100): # Adjust the number of epochs as needed\n", - "# for batch_X, batch_y in train_loader:\n", - "# optimizer.zero_grad()\n", - "# outputs = torch_model(batch_X)\n", - "# loss = criterion(outputs, batch_y)\n", - "# loss.backward()\n", - "# optimizer.step()\n", - "\n", - "# # Evaluate the PyTorch model\n", - "# with torch.no_grad():\n", - "# torch_model.eval()\n", - "# test_outputs = torch_model(X_test_tensor)\n", - "# predicted = (test_outputs > 0.5).float()\n", - "# accuracy = (predicted.view(-1) == y_test_tensor.view(-1)).float().mean().item()\n", - "# print(f\"PyTorch Model Test Accuracy: {accuracy * 100:.2f}%\")\n", - "\n", - "# # Explainable AI (XAI) Analysis with XAIWrapper\n", - "# try:\n", - "# from explainableai import XAIWrapper # Ensure to import your XAI wrapper\n", - "\n", - "# # Create an instance of XAIWrapper\n", - "# xai = XAIWrapper()\n", - "\n", - "# # Perform XAI analysis on the fitted Scikit-learn models\n", - "# xai.fit(models, X_train_scaled, y_train)\n", - "\n", - "# # If you have a method to analyze the PyTorch model, include it here\n", - "# xai.fit(torch_model, X_train_tensor.numpy(), y_train_tensor.numpy())\n", - " \n", - "# results = xai.analyze() # Perform the analysis\n", - "# print(results)\n", - "# except Exception as e:\n", - "# print(f\"An error occurred during the XAI analysis: {e}\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n", - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n" - ] + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAMWCAYAAADs4eXxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde3zP9f//8dsbO9l5hg1jDsPMaTMVwxbKIQppzkxEhzV8HOJTk1mf+DhGIlSjWs6H5JBTbR9GJUxCThnSIqcxZGyv3x++e/282djKTLpfL5f3pb1er+fr+Xy8Xu+3d3vseXhZDMMwEBEREREREZF7rkhhByAiIiIiIiLysFLSLSIiIiIiIlJAlHSLiIiIiIiIFBAl3SIiIiIiIiIFREm3iIiIiIiISAFR0i0iIiIiIiJSQJR0i4iIiIiIiBQQJd0iIiIiIiIiBURJt4iIiIiIiEgBUdItIiIFIiUlBYvFwpw5cwo7lHwZNWoUFovFap+vry8RERGFE9DflMViYdSoUeZ29n09ffr0fWm/MN+zbdu20bBhQxwdHbFYLCQnJxdKHH9XCQkJWCwWFi9eXNih5Nutn/u8yu/35cKFC/Hw8CA9PT3fbT2IcvrevV8ee+wxhg0bVihtyz+Hkm4RkVvMmTMHi8XC999/n+9zL1++zKhRo0hISLj3gRWQ6dOnPxCJ8alTpxg+fDi1atXCyckJe3t7qlSpQu/evdm8eXNhh1fgVq9e/ad+Wc+L8+fPY29vj8ViYd++fTmWefvtt1m+fPlt+7ds2cKoUaM4f/58gcT2VzyIsV27do3nnnuOs2fPMnnyZD755BMqVKhQYO1lJ6jZLxsbGypVqkTPnj35+eef81WXr6+vVV25vR6E74s7yf4Ot1gsOX53GIaBj48PFouFNm3aFEKEf01mZiZvvvkmr776Kk5OTub+jIwMpkyZQmBgIC4uLri5uREQEEC/fv346aefCjHi+y89PZ0333yTli1b4uHhccfP7WuvvcZ7773Hb7/9dn+DlH+UYoUdgIjIw+Ty5cvExMQAEBYWVrjB5NH06dPx9PQs1J7c7777jqeeeoqLFy/SuXNnXnzxRezs7Dhy5AjLly9nzpw5JCYm0qRJk0KJb//+/RQpUrB/p169ejXvvfdegSTeixYtwmKx4OXlRXx8PG+99dZtZd5++206duxIu3btrPZv2bKFmJgYIiIicHNzy3ObV65coVixgv01406x3Y/3LCeHDx/m6NGjzJ49m759+963dqOioqhfvz7Xrl1jx44dzJo1i1WrVrF7927KlCmTpzreeecdq57T1atXM2/ePCZPnoynp6e5v2HDhvc8/oJgb2/PZ599RqNGjaz2JyYm8ssvv2BnZ1dIkf01X3zxBfv376dfv35W+5999lnWrFlDly5deOGFF7h27Ro//fQTK1eupGHDhlSvXr2QIr7/Tp8+zejRoylfvjx16tS54x/Cn3nmGVxcXJg+fTqjR4++f0HKP4qSbhGRh4hhGPzxxx84ODgUdih5du7cOdq1a0exYsVITk6+7RfDt956i/nz59/1mi5duoSjo2OBxPh3/eU826effkrr1q2pUKECn332WY5J972QlZVFRkYG9vb22NvbF0gbeVVY79mpU6cA8vUHirvJy2e7cePGdOzYEYDevXtTtWpVoqKimDt3LiNGjMhTO7f+weW3335j3rx5tGvXDl9f3z8Tuqkwvptat27NokWLmDp1qtUfgD777DPq1at336Y63GtxcXGEhIRQtmxZc9+2bdtYuXIl//nPf/j3v/9tVX7atGkP1GiQ+8Hb25vU1FS8vLz4/vvvqV+/fq5lixQpQseOHfn444+JiYkptGHu8nDT8HIRkTyIiIjAycmJEydO0K5dO5ycnChZsiRDhgwhMzMTuDEnr2TJkgDm/7hvnd/3008/0bFjRzw8PLC3tyc4OJgVK1bc1t4PP/xAaGgoDg4OlCtXjrfeeou4uDgsFgspKSlmOV9fX9q0acPatWsJDg7GwcGBmTNnAjd+MWvatCmlSpXCzs6OGjVqMGPGDKt2fH192bNnD4mJiWa8N/fQnz9/noEDB+Lj44OdnR1VqlThv//9L1lZWVb1nD9/noiICFxdXXFzc6NXr155/iXv/fffJzU1lXfeeSfHnhiLxUKXLl2sfmnKnv+3d+9eunbtiru7u9mb9cMPPxAREUGlSpWwt7fHy8uL559/njNnztxW9+bNm6lfvz729vZUrlzZvHe3yml+cF7uTfY8zQkTJjBr1iwqV66MnZ0d9evXZ9u2bWa5iIgI3nvvPfN6s1/Z5s+fT7169XB2dsbFxYVatWoxZcqUPNxdOHbsGJs2baJz58507tyZI0eOsGXLltvu8aVLl5g7d67ZdkREBKNGjWLo0KEAVKxY0TyW/Rm0WCxERkYSHx9PQEAAdnZ2fPnll+axnHrtT58+TXh4OC4uLpQoUYIBAwbwxx9/3HbPchoKenOdd4stp/fs559/5rnnnsPDw4PixYvz2GOPsWrVKqsy2cO1Fy5cyH/+8x/KlSuHvb09zZo149ChQ3e81xEREYSGhgLw3HPP3fbv6auvvqJx48Y4Ojri5ubGM888c9tw/zt9tvOjadOmABw5coT09HQcHR0ZMGDAbeV++eUXihYtypgxY/JU7/Xr14mNjTU/y76+vvz73//m6tWrVuXu9N10/vx5Bg0ahK+vL3Z2dpQrV46ePXvelgRnZWXl+z24WZcuXThz5gzr168392VkZLB48WK6du2a4zmXLl1i8ODB5r/ratWqMWHCBAzDsCp39epVBg0aRMmSJXF2dubpp5/ml19+ybHOEydO8Pzzz1O6dGns7OwICAjgo48+yvN13OyPP/7gyy+/pHnz5lb7Dx8+DEBISMht5xQtWpQSJUqY20ePHuXll1+mWrVqODg4UKJECZ577jmr/7fA/x+mv3nzZqKioihZsiRubm7079+fjIwMzp8/T8+ePXF3d8fd3Z1hw4ZZ3aebv/8mT55MhQoVcHBwIDQ0lB9//DFP1/vpp59Sr149HBwc8PDwoHPnzhw/fvyu59nZ2eHl5ZWnNgCeeOIJjh49qvUXpMCop1tEJI8yMzNp0aIFjz76KBMmTGDDhg1MnDiRypUr89JLL1GyZElmzJjBSy+9RPv27enQoQMAtWvXBmDPnj1m78Tw4cNxdHRk4cKFtGvXjiVLltC+fXvgxi9ojz/+OBaLhREjRuDo6MgHH3yQa8/d/v376dKlC/379+eFF16gWrVqAMyYMYOAgACefvppihUrxhdffMHLL79MVlYWr7zyCnBjOGn2vMDXX38dgNKlSwM3hsqHhoZy4sQJ+vfvT/ny5dmyZQsjRowwk2S40YP1zDPPsHnzZl588UX8/f1ZtmwZvXr1ytN9/eKLL3BwcDDvV34899xz+Pn58fbbb5u/7K1fv56ff/6Z3r174+XlxZ49e5g1axZ79uzhm2++MZPZ3bt38+STT1KyZElGjRrF9evXefPNN83rv5O83ptsn332GRcvXqR///5YLBbGjRtHhw4d+Pnnn7GxsaF///78+uuvrF+/nk8++cTq3PXr19OlSxeaNWvGf//7XwD27dtHUlJSjknUrebNm4ejoyNt2rTBwcGBypUrEx8fbzVE+JNPPqFv37488sgj5pDVypUr4+joyIEDB24bYpz9xyW4kUguXLiQyMhIPD0979ojGh4ejq+vL2PGjOGbb75h6tSpnDt3jo8//viu13KzDh063DW2m508eZKGDRty+fJloqKiKFGiBHPnzuXpp59m8eLF5r+/bGPHjqVIkSIMGTKEtLQ0xo0bR7du3fj2229zjal///6ULVuWt99+2xzunf152rBhA61ataJSpUqMGjWKK1eu8O677xISEsKOHTtuu285fbbzIzsJK1GiBE5OTrRv354FCxYwadIkihYtapabN28ehmHQrVu3PNXbt29f5s6dS8eOHRk8eDDffvstY8aMYd++fSxbtsyqbE7fTenp6TRu3Jh9+/bx/PPPExQUxOnTp1mxYgW//PKL1TD2P/Me3MzX15cGDRowb948WrVqBcCaNWtIS0ujc+fOTJ061aq8YRg8/fTTfP311/Tp04e6deuydu1ahg4dyokTJ5g8ebLVffj000/p2rUrDRs25KuvvuKpp566LYaTJ0/y2GOPmX+gKlmyJGvWrKFPnz5cuHCBgQMH5ulasm3fvp2MjAyCgoKs9mevGxAfH09ISMgdp3Zs27aNLVu20LlzZ8qVK0dKSgozZswgLCyMvXv3Urx4cavyr776Kl5eXsTExPDNN98wa9Ys3Nzc2LJlC+XLl+ftt99m9erVjB8/npo1a9KzZ0+r8z/++GMuXrzIK6+8wh9//MGUKVNo2rQpu3fvvuP37X/+8x+io6MJDw+nb9++/P7777z77rs0adKEnTt33tPRJPXq1QMgKSmJwMDAe1aviMkQERErcXFxBmBs27bN3NerVy8DMEaPHm1VNjAw0KhXr565/fvvvxuA8eabb95Wb7NmzYxatWoZf/zxh7kvKyvLaNiwoeHn52fue/XVVw2LxWLs3LnT3HfmzBnDw8PDAIwjR46Y+ytUqGAAxpdffnlbe5cvX75tX4sWLYxKlSpZ7QsICDBCQ0NvKxsbG2s4OjoaBw4csNo/fPhwo2jRosaxY8cMwzCM5cuXG4Axbtw4s8z169eNxo0bG4ARFxd3W903c3d3N+rWrXvb/gsXLhi///67+UpPTzePvfnmmwZgdOnSJU/XPW/ePAMw/ve//5n72rVr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0aNHSUpKYtu2bVZzvkVERERERB5kf4ukG24khZmZmWbS7eHhQY0aNfDy8jJ7c+FGz+rChQuZP38+NWvWZOTIkYwePdpqEbWcODs7M27cOIKDg6lfvz4pKSmsXr2aIkVu3KKJEyeyfv16fHx8CAwMzLEOW1tb1q1bR6lSpWjdujW1atUyVwAHaNeuHVOmTGHChAkEBAQwc+ZM4uLirHrq/6wqVarQoUMHWrduzZNPPknt2rWZPn26efzDDz/k3LlzBAUF0aNHD6KioihVqpRVHUuWLKF+/fp06dKFGjVqMGzYMLN3u2HDhrz44ot06tSJkiVLMm7cuDzFVbx4cf73v/9Rvnx5cy5+nz59+OOPP3BxcaF48eL89NNPPPvss1StWpV+/frxyiuv0L9/f4oWLcqZM2fo2bMnVatWJTw8nFatWhETE/OX75eIiIiIiMj9YDEMwyjsIOSvGTVqFMuXLyc5ObmwQ3ngXLhwAVdXV9LS0jTUXETuO9/hqwo7hHxLGftUYYcgIiLyt5DXXONv09MtIiIiIiIi8nejpFtERERERESkgGh4uTzUNLxcREREREQKgoaXi4iIiIiIiBQyJd0iIiIiIiIiBURJt4iIiIiIiEgBUdItIiIiIiIiUkCKFXYAIv80f8fn9orIP4ee0y0iInJvqadbREREREREpIAo6RYREREREREpIEq65Y4sFgvLly8v7DBERERERET+lpR030N/5wR11KhR1K1bt7DDEBEREREReago6c6jjIyMwg5BRERERERE/mYeiqR75cqVuLm5kZmZCUBycjIWi4Xhw4ebZfr27Uv37t3N7SVLlhAQEICdnR2+vr5MnDjRqk5fX19iY2Pp2bMnLi4u9OvXj4yMDCIjI/H29sbe3p4KFSowZswYszxA+/btsVgs5vat7lQH3OgtnzlzJm3atKF48eL4+/uzdetWDh06RFhYGI6OjjRs2JDDhw9b1TtjxgwqV66Mra0t1apV45NPPrE6fuzYMZ555hmcnJxwcXEhPDyckydPAjBnzhxiYmLYtWsXFosFi8XCnDlzzHNPnz5N+/btKV68OH5+fqxYscI8lpCQgMViYePGjQQHB1O8eHEaNmzI/v37rdr//PPPCQoKwt7enkqVKhETE8P169cBMAyDUaNGUb58eezs7ChTpgxRUVHmudOnT8fPzw97e3tKly5N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2rVrs2HDBr744gtKlCiBm5sbS5cupWnTpvj7+/P+++8zb948AgIC7ll8IiIiIiIiBeWhWb1cJCd5XVHwftLq5SLyINPq5SIiInnzj1u9XERERERERORBo6RbREREREREpIA8NAupifxdaOimiIiIiMg/h3q6RURERERERAqIkm4RERERERGRAqKkW0RERERERKSAaE63iIiImPRYQxEReZD9HddHUk+3iIiIiIiISAFR0i0iIiIiIiJSQJR0i4iIiIiIiBQQJd2SK4vFwvLlyws7DBERERERkb8tJd3/UBkZGf/ItkVERERERO4nJd0PoJUrV+Lm5kZmZiYAycnJWCwWhg8fbpbp27cv3bt3N7eXLFlCQEAAdnZ2+Pr6MnHiRKs6fX19iY2NpWfPnri4uNCvXz8yMjKIjIzE29sbe3t7KlSowJgxY8zyAO3bt8disZjbOXnttdeoWrUqxYsXp1KlSkRHR3Pt2jXz+KhRo6hbty4ffPABFStWxN7eHoDz58/Tt29fSpYsiYuLC02bNmXXrl3meYcPH+aZZ56hdOnSODk5Ub9+fTZs2PDnbqqIiIiIiEghUNL9AGrcuDEXL15k586dACQmJuLp6UlCQoJZJjExkbCwMAC2b99OeHg4nTt3Zvfu3YwaNYro6GjmzJljVe+ECROoU6cOO3fuJDo6mqlTp7JixQoWLlzI/v37iY+PN5Prbdu2ARAXF0dqaqq5nRNnZ2fmzJnD3r17mTJlCrNnz2by5MlWZQ4dOsSSJUtYunQpycnJADz33HOcOnWKNWvWsH37doKCgmjWrBlnz54FID09ndatW7Nx40Z27txJy5Ytadu2LceOHfuTd1ZEREREROT+shiGYRR2EHK7evXq0aVLF4YMGUL79u2pX78+MTExnDlzhrS0NMqVK8eBAwfw8/OjW7du/P7776xbt848f9iwYaxatYo9e/YAN3quAwMDWbZsmVkmKiqKPXv2sGHDBiwWy20xWCwWli1bRrt27fIV+4QJE5g/fz7ff/89cKOn++233+bEiROULFkSgM2bN/PUU09x6tQp7OzszHOrVKnCsGHD6NevX45116xZkxdffJHIyMgcj1+9epWrV6+a2xcuXMDHx4e0tDRcXFzydR0iIv9Eek63iIg8yB6k53RfuHABV1fXu+Ya6ul+QIWGhpKQkIBhGGzatIkOHTrg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5JNPUqtWLQYOHIibm5vZVkHq27cvH3zwAXFxcdSqVYvQ0FDmzJljPiqsWLFiTJ06lZkzZ1KmTBmeeeaZPJ0nIiIiIiLyd2QxDMMo7CAkb1JSUqhYsSI7d+6kbt26hR3O38KFCxdwdXUlLS0NFxeXwg5HROSB5zt8VWGHIPK3lDL2qcIOQUTus7zmGurpFhERERERESkgSrpFRERERERECogWUvsb8fX1RbMBRESkIGmIrIiIyL2lnm4RERERERGRAqKkW0RERERERKSAKOkWERERERERKSCa0y0iIiImPTJM5M/TmggikhP1dIuIiIiIiIgUECXdIiIiIiIiIgVESbeIiIiIiIhIAVHS/ZCxWCwsX778jmVSUlKwWCwkJyff07YLql4REREREZG/KyXdfyMZGRmFHcJ980+6VhEREREReXgp6b5HVq5ciZubG5mZmQAkJydjsVgYPny4WaZv3750797d3F6yZAkBAQHY2dnh6+vLxIkTrer09fUlNjaWnj174uLiQr9+/cjIyCAyMhJvb2/s7e2pUKECY8aMMcsDtG/fHovFYm7fqmLFigAEBgZisVgICwszj33wwQf4+/tjb29P9erVmT59unns+eefp3bt2ly9ehW4kRgHBgbSs2fPO9YbFhbGwIEDrWJo164dERERd7xWgM2bN9O4cWMcHBzw8fEhKiqKS5cu5XhdIiIiIiIiDxol3fdI48aNuXjxIjt37gQgMTERT09PEhISzDKJiYlmIrp9+3bCw8Pp3Lkzu3fvZtSoUURHRzNnzhyreidMmECdOnXYuXMn0dHRTJ06lRUrVrBw4UL2799PfHy8mVxv27YNgLi4OFJTU83tW3333XcAbNiwgdTUVJYuXQpAfHw8I0eO5D//+Q/79u3j7bffJjo6mrlz5wIwdepULl26ZP4h4fXXX+f8+fNMmzbtjvXm1a3XevjwYVq2bMmzzz7LDz/8wIIFC9i8eTORkZH5qldERERERKSw6Dnd94irqyt169YlISGB4OBgEhISGDRoEDExMaSnp5OWlsahQ4cIDQ0FYNKkSTRr1ozo6GgAqlatyt69exk/frxVD3DTpk0ZPHiwuX3s2DH8/Pxo1KgRFouFChUqmMdKliwJgJubG15eXrnGml2uRIkSVuXefPNNJk6cSIcOHYAbPdd79+5l5syZ9OrVCycnJz799FNC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/fr1SUlJYfXq1WbiO3HiRNavX4+Pjw+BgYH5iv2NN94gKCiIFi1aEBYWhpeXF+3atbMqM378eBo3bkzbtm1p3rw5jRo1ol69enes96OPPuL69evUq1ePgQMH8tZbb1kdt7W1ZcSIEdSuXZsmTZpQtGhR5s+fn6/YRURERERECovFuHlCrchD5sKFC7i6upKWlqb53SIieeA7fFVhhyAihSRl7FOFHYLI30pecw31dIuIiIiIiIgUECXdIiIiIiIiIgVEC6mJiIiIScNLRURE7i31dIuIiIiIiIgUECXdIiIiIiIiIgVESbeIiIiIiIhIAdGcbhEReSjp0Vd/juZ0i4iI3Fvq6RYREREREREpIEq6RURERERERArIPUm6DcOgX79+eHh4YLFYSE5OvhfV3lMRERG0a9cuX+fMmTMHNzc3c3vUqFHUrVv3nsZVEMLCwhg4cGBhhyEiIiIiIvKPd0/mdH/55ZfMmTOHhIQEKlWqhKen572oNkdhYWHUrVuXd955p8DayM2QIUN49dVX73u7+bV06VJsbGwKOwwREREREZF/vHuSdB8+fBhvb28aNmyYa5mMjAxsbW3vRXOFxsnJCScnp8IO4648PDwKO4Qc5fQZMAyDzMxMihXL30fxz54nIiIiIiJyP/3l4eURERG8+uqrHDt2DIvFgq+vL3CjRzoyMpKBAwfi6elJixYtAJg0aRK1atXC0dERHx8fXn75ZdLT063qTEpKIiwsjOLFi+Pu7k6LFi04d+4cERERJCYmMmXKFCwWCxaLhZSUFDIzM+nTpw8VK1bEwcGBatWqMWXKlHxfy5w5cyhfvjzFixenffv2nDlzxur4rcPLs4esv/3225QuXRo3NzdGjx7N9evXGTp0KB4eHpQrV464uDireo4fP054eDhubm54eHjwzDPPkJKSclu9EyZMwNvbmxIlSvDKK69w7do1s8z06dPx8/PD3t6e0qVL07FjR/PYrcPLz507R8+ePXF3d6d48eK0atWKgwcPWl23m5sba9euxd/fHycnJ1q2bElqauod79ePP/5Iq1atcHJyonTp0vTo0YPTp09bxXHrZyAhIQGLxcKaNWuoV68ednZ2bN68matXrxIVFUWpUqWwt7enUaNGbNu2zawrt/NEREREREQeZH856Z4yZQqjR4+mXLlypKamWiVKc+fOxdbWlqSkJN5/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xMfH8+STT9KoUSO++eYb4/eYw8PDsba2pnr16ri7u5OamsqgQYPo3LkzPXr0oGHDhly8eJHBgwffV2xPPfUUERERzJ07l9q1a7Np0yb+8Y9/PLC531KqVCl27NhBxYoV6dy5M/7+/vTr14/ffvut0KuyLi4urFq1ihYtWuDv788///lPli1bZnHg3O0iIyOpV68e7du3p1GjRpjNZtavX59nS/n98PLyIiYmhpycHFq3bk1AQAAjR47ExcXF4h33wpoxYwZdunShZ8+eBAYGcvLkSTZu3Iirq+vvjlFERERERKS4mcx3e3FX5C8uIyMDZ2dn0tPTtdVc5G/G541vizuEv6SUGc8XdwgiIiJ/CYXNNf7UlW4RERERERGRvxMl3SIiIiIiIiJFpERxByAiIlIUtE1aREREHgZa6RYREREREREpIkq6RURERERERIqIkm4RERERERGRIqKkW0RERERERKSI6CA1EZG/Cf1utRSGDqATERF5sLTSLSIiIiIiIlJElHSLiIiIiIiIFBEl3SIiIiIiIiJFREn3I8rHx4cPPviguMMQERERERH5W1PS/TeWk5NDbm7unzLWtWvX8i2/fv367+rv97YTERERERH5Mynpvs3XX39NQEAA9vb2uLm50apVK7KystixYwclS5bk7NmzFvVHjhxJkyZNAIiKisLFxYV169ZRtWpVSpUqRdeuXbly5QpLlizBx8cHV1dXhg8fTk5OjtGHj48PU6ZMoVevXjg4OFCpUiXWrl3L+fPn6dChAw4ODtSqVYvY2FiLsXft2kWTJk2wt7fH29ub4cOHk5WVBUCzZs346aefeO211zCZTJhMJosY165dS/Xq1bG1tWXXrl33nFt+Ll++TP/+/XF3d8fJyYkWLVoQHx9v3J84cSJ16tRh8eLFVK5cGTs7OwBMJhMLFizghRdeoHTp0kydOhWABQsW8MQTT2BjY0PVqlX57LPPLMYrqJ2IiIiIiMjDTEn3/0lLSyMkJIS+ffuSkJDA9u3b6dy5M2azmWeeeYbHH3/cIhG8fv06S5cupW/fvkbZlStXmDdvHsuXLyc6Oprt27fTqVMn1q9fz/r16/nss89YuHAhX3/9tcXY77//PkFBQRw6dIjnn3+enj170qtXL15++WUOHjzIE088Qa9evTCbzQAkJyfTtm1bunTpwuHDh1mxYgW7du1i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ly/nH//4x33H06pVKwICAoznu2/fPnr16kXTpk3z3Z4uIiIiIiLyV1HsSTfA+PHjef3115kwYQL+/v706NHDeP+4VKlSbNy4kUuXLtGgQQO6du1Ky5YtmT9//n2NsWDBArp27crgwYOpVq0aAwYMMH7Oa9CgQXTu3JkePXrQsGFDLl68aLHqfYuvry9PPvkkhw8ftthaDjffof7+++85ceIETZo0oW7dukyYMMFYwS6Ir68vnTt35rnnnqN169bUqlWLjz/+2Lg/fPhwRo0axeuvv05AQADR0dGsXbsWPz+/+5r/7bp06ULbtm1p3rw57u7uLFu2DBcXFyIiIggKCqJWrVps2bKFf//737i5ueXbR5s2bVi3bh2bNm2iQYMGPPXUU7z//vsFJul3YzKZ+Oabb3B1deWZZ56hVatWPP7446xYseJ3z1FERERERORhUOynl/+d5XeKuDxYhT1RUESkKOj0chERkUfXX+b0chEREREREZFHlZJuERERERERkSKi7eXySNP2chERERERKQraXi4iIiIiIiJSzJR0i4iIiIiIiBQRJd0iIiIiIiIiRURJt4iIiIiIiEgRKVHcAYiIiMjD44/+trh+51tERMSSVrpFREREREREioiSbhEREREREZEioqT7ERcVFYWLi0txhyEiIiIiIvK3pKT7EdejRw9OnDhhXE+cOJE6deoUX0AiIiIiIiJ/IzpI7RFnb2+Pvb19cYcBwLVr17CxsbEoy8nJwWQyYWV1f3//+b3tRERERERE/kzKWO4iNzeXd999F19fX2xtbalYsSJTp0417h85coQWLVpgb2+Pm5sbAwcOJDMz07gfFhZGx44dmTVrFp6enri5uTFkyBCuX79u1MnOzmbs2LF4e3tja2uLr68v//rXv4CbiWW/fv2oXLky9vb2VK1alblz5xptN23ahJ2dHZcvX7aIe8SIEbRo0QKw3F4eFRXFpEmTiI+Px2QyYTKZiIqKom/fvrRv396ij+vXr1OuXDkjlvzs2rWLJk2aYG9vj7e3N8OHDycrK8u47+PjwzvvvEOvXr1wcnJi4MCBRjxr166levXq2Nrakpqayq+//kqvXr1wdXWlVKlStGvXjqSkJKOvgtqJiIiIiIg8zJR038W4ceOYMWMG48eP5/jx43zxxRd4eHgAkJWVRZs2bXB1dWX//v189dVXbNmy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TGH9+vXs3r3beFYffPABI0aMMOqEhYURHR1NamoqNjY2QOG/rzvb5Sc7O5vs7GzjOiMjA29vb9LT03FycrrnvIqTfqdbRB4G+p1uERGRwsnIyMDZ2fmeucZfcqU7ISGB7OxsWrZsWeD92rVrGwkcQFBQELm5uSQmJuLh4QFAjRo1jIQbwMPDg5o1axrX1tbWuLm5ce7cOYv+b09qS5QoQf369UlISDDKPvroIz755BNSU1O5evUq165do06dOgCcO3eOM2fOFBj73fj4+BgJN4Cnp6cR28mTJ7ly5QrPPvusRZtr165Rt25dAF599VW6dOnCwYMHad26NR07dqRx48bAzWT42WefpWrVqrRt25b27dvTunXrfOPIysoiOTmZfv36MWDAAKP8xo0bODs7W9StX79+nvYBAQEWiXNhv6872+Vn+vTpTJo06a51RERERERE/ix/yaTb3t7+gfRTsmRJi2uTyZRvWW5ubqH7XL58OeHh4cyePZtGjRrh6OjIe++9x969e4E/FvvdYrv1/vO3337LY489ZlHP1tYWgHbt2vHTTz+xfv16Nm/eTMuWLRkyZAizZs0iMDCQU6dOsWHDBrZs2UL37t1p1aqVxTvht9waKyIigoYNG1rcu307PGCRSN+trDAK027cuHGMGjXKuL610i0iIiIiIlIc/pIHqfn5+WFvb8/WrVvzve/v7098fDxZWVlGWUxMDFZWVg/kAK4ffvjB+PeNGzc4cOAA/v7+xjiNGzdm8ODB1K1bF19fX5KTk436jo6O+Pj4FBg73Eyuc3Jy7ium6tWrY2trS2pqKr6+vhaf25NOd3d3evfuzeeff84HH3zAokWLjHtOTk706NGDiIgIVqxYwcqVK7l06VKesTw8PPDy8uLHH3/MM1blypXvK254sN+Xra0tTk5OFh8REREREZHi8pdc6bazs2Ps2LGMGTMGGxsbgoKCOH/+PMeOHaNfv36Ehoby9ttv07t3byZOnMj58+cZNmwYPXv2NLYq/xEfffQRfn5++Pv78/777/Prr7/St29f4OYfBD799FM2btxI5cqV+eyzz9i/f79FMjpx4kReeeUVypUrR7t27fjf//5HTEwMw4YNAzCS8qCgIGxtbXF1db1nTI6OjoSHh/Paa6+Rm5vL008/bRzQ5uTkRO/evZkwYQL16tWjRo0aZGdns27dOuOP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Z21tDcCePXsIDQ1l0qRJtGnTBmdnZ5YvX87s2bMLjCUzM5N69erl+161u7t7vrEUFOP9uFe7cePGMWrUKOP61kq3iIiIiIhIcVDS/Rdx8eJFEhMTiYiIoEmTJgDs2rXrnu08PDzw8vLixx9/JDQ0NN86u3fvplKlSrz11ltG2U8//XTXfgMDA1mxYgXlypX7w9u2nZyc8PLyIiYmhqZNmxrlMTExPPnkk/fVl62tLba2tn8oHhERERERkQdFSfdfhKurK25ubixatAhPT09SU1N54403CtV20qRJDB8+HGdnZ9q2bUt2djaxsbH8+uuvjBo1Cj8/P1JTU1m+fDkNGjTg22+/ZfXq1XftMzQ0lPfee48OHToYp47/9NNPrFq1ijFjxlChQoX7mt/o0aN5++23eeKJJ6hTpw6RkZHExcXphHIREREREflL00+G/UVYWVmxfPlyDhw4QM2aNXnttdd47733CtW2f//+LF68mMjISAICAmjatClRUVFUrlwZgBdeeIHXXnuNoUOHUqdOHXbv3s348ePv2mepUqXYsWMHFStWpHPnzvj7+9OvXz9+++2337XyPXz4cEaNGsXrr79OQEAA0dHRrF271uLkchERERERkb8anV4uj7TCnigoIiI36fRykUeXTi8XebAKm2topVtERERERESkiCjpFhERERERESkiOkhNREREDNp+KiIi8mBppVtERERERESkiCjpFhERERERESkiSrpFREREREREioiSbhEREREREZEiooPURERExKDf6f570gF6IiJFRyvdIiIiIiIiIkVESbeIiIiIiIhIEVHS/ScLCwujY8eOxR2GiIiIiIiI/An0TvefbO7cuZjN5iIfp1mzZtSpU4cPPvigyMcSERERERGR/Gml+0+Sk5NDbm4uzs7OuLi4FHc4hXbt2rUH1tf169cfWP8PMi4REREREZGioqQ7H82aNWPo0KEMHToUZ2dnypYty/jx4y1WqLOzswkPD+exxx6jdOnSNGzYkO3btxv3o6KicHFxYe3atVSvXh1bW1tSU1PzbC9v1qwZw4YNY+TIkbi6uuLh4UFERARZWVn06dMHR0dHfH192bBhg0WMR48epV27djg4OODh4UHPnj25cOECcHML+/fff8/cuXMxmUyYTCZSUlLu2e72uY8cOZKyZcvSpk2bAp/T4sWL8ff3x87O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rbcIDw8nLi6OKlWqEBISwo0bN/KNc//+/bRt25bu3buTlpZmkURPnDiRTp06ceTIEfr27Utubi4VKlTgq6++4vjx40yYMIE333yTL7/80mizYMEChgwZwsCBAzly5Ahr167F19fXGAsgMjKStLQ04zozM5PnnnuOrVu3cujQIdq2bUtwcDCpqamFft6zZ88mKiqKTz75hF27dnHp0iVWr159z3bvv/8+QUFBHDp0iOeff56ePXvSq1cvXn75ZQ4ePMgTTzxBr169jAQ+OTmZtm3b0qVLFw4fPsyKFSvYtWuX8YeF2+OpX78+hw4dYvDgwbz66qskJiYCMG/ePNauXcuXX35JYmIiS5cuNf4AcaesrCzatGmDq6sr+/fv56uvvmLLli15xtu2bRvJycls27aNJUuWEBUVRVRUVKGfn4iIiIiISLEy34emTZuan376aeP6xo0b5tKlS5t79uxplKWlpZkB8549e8xms9n8zjvvmFu3bm3Rz+nTp82AOTExMd9xzp8/bwbMR44cMZvNZvOpU6fMgHnx4sVGnWPHjpkBc0JCQoHxdujQwdy7d2+LMsA8cuTIe851yJAh5i5duhjXXl5e5rfeeqvA+oB59erV9+y3Ro0a5g8//NC4rlSpkvn9998vsL6np6f53XffNa6vX79urlChgrlDhw5GWdOmTc0jRoyw6PPll182rm99J+PHjzfK9uzZYwbMaWlpZrPZbO7Xr5954MCBFmPv3LnTbGVlZb569Wq+/ebm5prLlStnXrBggdlsNpuHDRtmbtGihTk3Nzffudz+jBYtWmR2dXU1Z2ZmGve//fZbs5WVlfns2bNms9ls7t27t7lSpUrmGzduGHW6detm7tGjR4HP67fffjOnp6cbn1v/19LT0wtsIyLyd1Zp7DqLj4iIiBROenp6oXKN+17prlWrlvFva2tr3NzcCAgIMMo8PDwAOHfuHADx8fFs27YNBwcH41OtWjUAYwt5UlISISEhPP744zg5ORmro3euCN8+tqenp8U496N+/fp5yj766CPq1auHu7s7Dg4OLFq0yBj/3LlznDlzhpYtW97XOJmZmYSHh+Pv74+LiwsODg4kJCQUeqU7PT2dtLQ0GjZsaJSVKFEi3/jvdPuzuvWd3Ot7ioqKsvie2rRpQ25uLqdOncq3X5PJRPny5Y0+wsLCiIuLo2rVqgwf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kBDGjh3LwYMHuXr1KqdPn6ZHjx73HWf//v3p2bMn77//PpGRkfTo0YNSpUoVWN/W1hZbW9v7HkdERERERKQoKOn+nQIDA1m5ciU+Pj6UKJH3MV68eJHExEQiIiJo0qQJALt27frD49aqVYuff/6ZEydO5Lva7e/vT0xMjEVZTEwMVapUMd77LswYixcv5tKlS/mudsfExBAWFkanTp2Am3+ASElJsahToUIFmjZtytKlS7l69SrPPvss5cqVK3BMGxsbi5X4W5577jlKly7NggULiI6OZseOHYWag4iIiIiIyMNA28t/pyFDhnDp0iVCQkLYv38/ycnJbNy4kT59+pCTk4Orqytubm4sWrSIkydP8t133zFq1Kg/PG7Tpk155pln6NKlC5s3b+bUqVNs2LCB6OhoAF5//XW2bt3KO++8w4kTJ1iyZAnz588nPDy80GOEhIRQvnx5OnbsSExMDD/++CMrV640TlX38/Nj1apVxMXFER8fz0svvZTvynxoaCjLly/nq6++uufWch8fH/bu3UtKSgoXLlww+rO2tiYsLIxx48bh5+dHo0aNCj0PERERERGR4qak+3fy8vIiJiaGnJwcWrduTUBAACNHjsTFxQUrKyusrKxYvnw5Bw4coGbNmrz22mu89957D2TslStX0qBBA0JCQqhevTpjxowxVokDAwP58ssvWb58OTVr1mTChAlMnjyZsLCwQvdvY2PDpk2bKFeuHM899xwBAQEWJ6TPmTMHV1dXGjduTHBwMG3atCEwMDBPP127duXixYtcuXLF+HmwgoSHh2NtbU316tVxd3e3eD+8X79+XLt2jT59+hR6DiIiIiIiIg8DnV4uD72dO3fSsmVLTp8+bRxoV1iFPVFQRERu0unlhaPTy0VEpLC5ht7plodWdnY258+fZ+LEiXTr1u2+E24REREREZHipu3l8tBatmwZlSpV4vLly7z77rvFHY6IiIiIiMh90/ZyeaRpe7mIiIiIiBSFwuYaWukWERERERERKSJKukVERERERESKiJJuERERERERkSKi08tFRETEUNw/Gaaf4hIRkUeNVrpFREREREREioiSbhEREREREZEioqRbREREREREpIgo6ZZC2b59OyaTicuXLxd3KCIiIiIiIn8ZSrpFREREREREishDn3Q3a9aMYcOGMXLkSFxdXfHw8CAiIoKs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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -2634,62 +1382,124 @@ "from sklearn.preprocessing import StandardScaler\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.datasets import load_breast_cancer\n", + "from sklearn.metrics import accuracy_score\n", "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torch.utils.data import TensorDataset, DataLoader\n", "\n", + "# Attempt to import XAIWrapper; handle if not available\n", + "try:\n", + " from explainableai import XAIWrapper\n", + "except ImportError:\n", + " XAIWrapper = None\n", + " print(\"XAIWrapper not found. Make sure the 'explainableai' package is installed.\")\n", + "\n", + "# Attempt to import Captum for PyTorch XAI; handle if not available\n", + "try:\n", + " from captum.attr import IntegratedGradients\n", + " import matplotlib.pyplot as plt\n", + "except ImportError:\n", + " IntegratedGradients = None\n", + " plt = None\n", + " print(\"Captum or matplotlib not found. Install them using 'pip install captum matplotlib'.\")\n", + "\n", "# Load dataset\n", "data = load_breast_cancer()\n", "X = data.data\n", "y = data.target\n", "\n", - "# Split data into training and test sets\n", + "# Split data into training and test sets (80-20 split)\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", "\n", - "# Feature scaling\n", + "# Feature scaling (standardization)\n", "scaler = StandardScaler()\n", "X_train_scaled = scaler.fit_transform(X_train)\n", "X_test_scaled = scaler.transform(X_test)\n", "\n", - "# Model Definitions and Hyperparameter tuning setups\n", + "# Define Logistic Regression Pipeline without scaler (already scaled)\n", "logistic_regression_pipeline = Pipeline([\n", - " ('scaler', StandardScaler()),\n", " ('logistic_regression', LogisticRegression(solver='saga', max_iter=5000))\n", "])\n", - "logistic_regression_gs = GridSearchCV(logistic_regression_pipeline, \n", - " param_grid={'logistic_regression__C': [0.01, 0.1, 1, 10], \n", - " 'logistic_regression__penalty': ['l2', 'elasticnet'],\n", - " 'logistic_regression__l1_ratio': [0.1, 0.5, 0.9]},\n", - " cv=5)\n", "\n", - "random_forest_gs = GridSearchCV(RandomForestClassifier(random_state=42),\n", - " param_grid={'n_estimators': [1000, 2000, 3000],\n", - " 'max_depth': [10, 20, 30, None],\n", - " 'min_samples_split': [2, 5, 10],\n", - " 'min_samples_leaf': [1, 2, 4]},\n", - " cv=5)\n", - "\n", - "xgboost_gs = GridSearchCV(XGBClassifier(random_state=42),\n", - " param_grid={'n_estimators': [1000, 2000, 3000],\n", - " 'learning_rate': [0.01, 0.1, 0.3],\n", - " 'max_depth': [3, 6, 9],\n", - " 'subsample': [0.7, 0.8, 1.0]},\n", - " cv=5)\n", - "\n", - "mlp_gs = GridSearchCV(MLPClassifier(random_state=42),\n", - " param_grid={'hidden_layer_sizes': [(100, 50), (128, 64, 32)],\n", - " 'activation': ['relu', 'tanh'],\n", - " 'solver': ['adam'],\n", - " 'alpha': [0.0001, 0.001],\n", - " 'learning_rate': ['constant', 'adaptive'],\n", - " 'max_iter': [3000]},\n", - " cv=5)\n", - "\n", - "# Fit the models\n", + "# Define parameter grid for Logistic Regression with conditional parameters\n", + "logistic_regression_params = [\n", + " {\n", + " 'logistic_regression__penalty': ['l2'],\n", + " 'logistic_regression__C': [0.01, 0.1, 1, 10],\n", + " 'logistic_regression__solver': ['saga'],\n", + " 'logistic_regression__max_iter': [5000]\n", + " },\n", + " {\n", + " 'logistic_regression__penalty': ['elasticnet'],\n", + " 'logistic_regression__C': [0.01, 0.1, 1, 10],\n", + " 'logistic_regression__solver': ['saga'],\n", + " 'logistic_regression__l1_ratio': [0.1, 0.5, 0.9],\n", + " 'logistic_regression__max_iter': [5000]\n", + " }\n", + "]\n", + "\n", + "# Initialize GridSearchCV for Logistic Regression\n", + "logistic_regression_gs = GridSearchCV(\n", + " logistic_regression_pipeline, \n", + " param_grid=logistic_regression_params,\n", + " cv=5,\n", + " verbose=0,\n", + " n_jobs=-1\n", + ")\n", + "\n", + "# Initialize GridSearchCV for Random Forest\n", + "random_forest_gs = GridSearchCV(\n", + " RandomForestClassifier(random_state=42),\n", + " param_grid={\n", + " 'n_estimators': [1000, 2000, 3000],\n", + " 'max_depth': [10, 20, 30, None],\n", + " 'min_samples_split': [2, 5, 10],\n", + " 'min_samples_leaf': [1, 2, 4]\n", + " },\n", + " cv=5,\n", + " verbose=0,\n", + " n_jobs=-1\n", + ")\n", + "\n", + "# Initialize GridSearchCV for XGBoost\n", + "xgboost_gs = GridSearchCV(\n", + " XGBClassifier(random_state=42, use_label_encoder=False, eval_metric='logloss'),\n", + " param_grid={\n", + " 'n_estimators': [1000, 2000, 3000],\n", + " 'learning_rate': [0.01, 0.1, 0.3],\n", + " 'max_depth': [3, 6, 9],\n", + " 'subsample': [0.7, 0.8, 1.0]\n", + " },\n", + " cv=5,\n", + " verbose=0,\n", + " n_jobs=-1\n", + ")\n", + "\n", + "# Initialize GridSearchCV for MLPClassifier\n", + "mlp_gs = GridSearchCV(\n", + " MLPClassifier(random_state=42),\n", + " param_grid={\n", + " 'hidden_layer_sizes': [(100, 50), (128, 64, 32)],\n", + " 'activation': ['relu', 'tanh'],\n", + " 'solver': ['adam'],\n", + " 'alpha': [0.0001, 0.001],\n", + " 'learning_rate': ['constant', 'adaptive'],\n", + " 'max_iter': [3000]\n", + " },\n", + " cv=5,\n", + " verbose=0,\n", + " n_jobs=-1\n", + ")\n", + "\n", + "# Fit the models (this may take some time due to extensive hyperparameter grids)\n", + "print(\"Fitting Logistic Regression...\")\n", "logistic_regression_gs.fit(X_train_scaled, y_train)\n", + "print(\"Fitting Random Forest...\")\n", "random_forest_gs.fit(X_train_scaled, y_train)\n", + "print(\"Fitting XGBoost...\")\n", "xgboost_gs.fit(X_train_scaled, y_train)\n", + "print(\"Fitting MLP Classifier...\")\n", "mlp_gs.fit(X_train_scaled, y_train)\n", "\n", "# Store best models in a dictionary\n", @@ -2701,11 +1511,15 @@ "}\n", "\n", "# Evaluate the models on the test set\n", + "print(\"\\nEvaluating Models on Test Set:\")\n", "for model_name, model in models.items():\n", - " accuracy = model.score(X_test_scaled, y_test) # Calculate test accuracy\n", - " print(f\"{model_name} Test Accuracy: {accuracy * 100:.2f}%\")\n", + " if model is not None:\n", + " accuracy = model.score(X_test_scaled, y_test) # Calculate test accuracy\n", + " print(f\"{model_name} Test Accuracy: {accuracy * 100:.2f}%\")\n", + " else:\n", + " print(f\"{model_name} is None and was not evaluated.\")\n", "\n", - "# PyTorch Model for XAI Example\n", + "# Define a simple PyTorch neural network\n", "class SimpleNN(nn.Module):\n", " def __init__(self, input_size):\n", " super(SimpleNN, self).__init__()\n", @@ -2725,7 +1539,7 @@ "X_test_tensor = torch.tensor(X_test_scaled, dtype=torch.float32)\n", "y_test_tensor = torch.tensor(y_test, dtype=torch.float32).view(-1, 1)\n", "\n", - "# Create DataLoader\n", + "# Create DataLoader for training\n", "train_dataset = TensorDataset(X_train_tensor, y_train_tensor)\n", "train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)\n", "\n", @@ -2735,6 +1549,7 @@ "criterion = nn.BCELoss()\n", "optimizer = optim.Adam(torch_model.parameters(), lr=0.001)\n", "\n", + "print(\"\\nTraining PyTorch Model...\")\n", "# Training Loop\n", "for epoch in range(100): # Adjust the number of epochs as needed\n", " for batch_X, batch_y in train_loader:\n", @@ -2743,6 +1558,8 @@ " loss = criterion(outputs, batch_y)\n", " loss.backward()\n", " optimizer.step()\n", + " if (epoch + 1) % 10 == 0:\n", + " print(f\"Epoch [{epoch+1}/100], Loss: {loss.item():.4f}\")\n", "\n", "# Evaluate the PyTorch model\n", "with torch.no_grad():\n", @@ -2752,86 +1569,58 @@ " accuracy = (predicted.view(-1) == y_test_tensor.view(-1)).float().mean().item()\n", " print(f\"PyTorch Model Test Accuracy: {accuracy * 100:.2f}%\")\n", "\n", - "# XAI Analysis with XAIWrapper\n", - "try:\n", - " from explainableai import XAIWrapper # Ensure to import your XAI wrapper\n", - "\n", - " # Create an instance of XAIWrapper\n", - " xai = XAIWrapper()\n", - "\n", - " # Perform XAI analysis on the fitted Scikit-learn models\n", - " for model_name, model in models.items():\n", - " if model is not None:\n", - " print(f\"Analyzing {model_name}...\")\n", - " xai.fit(model, X_train_scaled, y_train)\n", - " results = xai.analyze() # Perform the analysis\n", - " print(f\"Results for {model_name}: {results}\")\n", - "\n", - " # Analyze the PyTorch model separately\n", - " if torch_model is not None:\n", - " print(\"Analyzing PyTorch Model...\")\n", - " xai.fit(torch_model, X_train_tensor.numpy(), y_train_tensor.numpy())\n", - " results = xai.analyze() # Perform the analysis\n", - " print(f\"Results for PyTorch Model: {results}\")\n", - "\n", - "except Exception as e:\n", - " print(f\"An error occurred during the XAI analysis: {e}\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1197: UserWarning: l1_ratio parameter is only used when penalty is 'elasticnet'. Got (penalty=l2)\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Logistic Regression Test Accuracy: 97.37%\n", - "Random Forest Test Accuracy: 96.49%\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\Shravya H Jain\\Desktop\\explain\\explainableai\\.venv\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [11:08:59] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n", - "Parameters: { \"use_label_encoder\" } are not used.\n", - "\n", - " warnings.warn(smsg, UserWarning)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "XGBoost Test Accuracy: 97.37%\n", - "Neural Network (MLP) Test Accuracy: 95.61%\n" - ] - } - ], - "source": [ - "# Define the models after hyperparameter tuning\n", - "models = {\n", - " 'Logistic Regression': logistic_regression_best,\n", - " 'Random Forest': random_forest_best,\n", - " 'XGBoost': xgboost_best,\n", - " 'Neural Network (MLP)': mlp_best\n", - "}\n", - "\n", - "# Loop through the models, train and evaluate them\n", - "for model_name, model in models.items():\n", - " model.fit(X_train, y_train) # Fit the model on the training set\n", - " accuracy = model.score(X_test, y_test) # Calculate accuracy on the test set\n", - " print(f\"{model_name} Test Accuracy: {accuracy * 100:.2f}%\") # Print the test accuracy\n" + "# XAI Analysis with XAIWrapper for Scikit-learn models\n", + "if XAIWrapper is not None:\n", + " try:\n", + " # Create an instance of XAIWrapper\n", + " xai = XAIWrapper()\n", + "\n", + " # Convert scaled training data back to DataFrame with column names\n", + " X_train_df = pd.DataFrame(X_train_scaled, columns=data.feature_names)\n", + "\n", + " print(\"\\nPerforming XAI Analysis on Scikit-learn Models:\")\n", + " # Perform XAI analysis on the fitted Scikit-learn models\n", + " for model_name, model in models.items():\n", + " if model is not None:\n", + " print(f\"\\nAnalyzing {model_name}...\")\n", + " if hasattr(model, 'predict'):\n", + " xai.fit(model, X_train_df, y_train)\n", + " results = xai.analyze() # Perform the analysis\n", + " print(f\"Results for {model_name}:\\n{results}\")\n", + " else:\n", + " print(f\"Skipping {model_name}: Model does not have a predict method.\")\n", + " except Exception as e:\n", + " print(f\"An error occurred during the XAI analysis for Scikit-learn models: {e}\")\n", + "else:\n", + " print(\"\\nXAIWrapper is not available. Skipping XAI analysis for Scikit-learn models.\")\n", + "\n", + "# XAI Analysis for PyTorch model using Captum\n", + "if IntegratedGradients is not None and plt is not None:\n", + " def pytorch_xai_analysis(model, X_test, y_test):\n", + " try:\n", + " model.eval()\n", + " ig = IntegratedGradients(model)\n", + " # Select a sample or a subset for analysis\n", + " sample = X_test[:1] # Analyze the first test sample\n", + " attributions, delta = ig.attribute(sample, target=0, return_convergence_delta=True)\n", + " attributions = attributions.squeeze().numpy()\n", + "\n", + " # Plot attributions\n", + " feature_names = data.feature_names\n", + " plt.figure(figsize=(10, 8))\n", + " plt.barh(feature_names, attributions)\n", + " plt.xlabel('Attribution')\n", + " plt.title('Integrated Gradients Attribution for PyTorch Model (Sample 1)')\n", + " plt.tight_layout()\n", + " plt.show()\n", + "\n", + " except Exception as e:\n", + " print(f\"An error occurred during the PyTorch XAI analysis: {e}\")\n", + "\n", + " print(\"\\nPerforming XAI Analysis on PyTorch Model using Captum:\")\n", + " pytorch_xai_analysis(torch_model, X_test_tensor, y_test_tensor)\n", + "else:\n", + " print(\"\\nCaptum or matplotlib not available. Skipping XAI analysis for PyTorch model.\")\n" ] } ],