{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "UltimateJupiterNotebookCAIC-1_AF.ipynb", "provenance": [], "collapsed_sections": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "499d8582265046e2970e453489ba6031": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_fbf81571f4cb4c059a3e5a66b7ef2221", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 3, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 3, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_4347d82e97784a83a087906c398d0e1f" } }, "fbf81571f4cb4c059a3e5a66b7ef2221": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "4347d82e97784a83a087906c398d0e1f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "a6c8551cb31645318ee511bd4a1e3859": { "model_module": "@jupyter-widgets/controls", "model_name": "TextModel", "state": { "_view_name": "TextView", "style": "IPY_MODEL_7630cddea594473e9538bef58294d8c2", "_dom_classes": [], "description": "", "_model_name": "TextModel", "placeholder": "​", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": "Following data types have been inferred automatically, if they are correct press enter to continue or type 'quit' otherwise.", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "continuous_update": true, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_169d6da9acf647d6bd4f509a5fdd50ba" } }, "7630cddea594473e9538bef58294d8c2": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_view_name": "StyleView", "_model_name": "DescriptionStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "169d6da9acf647d6bd4f509a5fdd50ba": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": "100%", "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "0e9ab74349ab43df8d009f7bd46b034f": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_935ed9dc79c34b8ebd029281bfdcc6f8", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 79, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 79, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_c7560dbc634b435a8b54faaa681f63c9" } }, "935ed9dc79c34b8ebd029281bfdcc6f8": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "c7560dbc634b435a8b54faaa681f63c9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "73622256dba84671bcab7e329b378818": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_81f4ba27c56546f48f4c958c203d9ff0", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_4a04ba961a454ceda4d285771d7567a2" } }, "81f4ba27c56546f48f4c958c203d9ff0": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "4a04ba961a454ceda4d285771d7567a2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "f49794a0e9f54c26a7d7f84c0f3344e4": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_8adc97a7aeff4c6da935b5f1b7855696", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_d490a6b4780f436685e43fd6614510ed" } }, "8adc97a7aeff4c6da935b5f1b7855696": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "d490a6b4780f436685e43fd6614510ed": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "6a21aea1e810435582c37b3aace35901": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_63588303eaf74b1b8351bce44c98dec8", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_8eb369ace554446aa838a50afd0bf50e", "IPY_MODEL_c762527fa7374891b97f5d50430d5dd8" ] } }, "63588303eaf74b1b8351bce44c98dec8": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "8eb369ace554446aa838a50afd0bf50e": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_9e49a094eca748aa9286b42c7bf180ed", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_2994bc88f7624637ab65cef6e500da32" } }, "c762527fa7374891b97f5d50430d5dd8": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
objectivebinary:logistic
use_label_encoderTrue
base_score0.5
boostergbtree
colsample_bylevel1
colsample_bynode1
colsample_bytree1
gamma0
gpu_id-1
importance_typegain
interaction_constraints
learning_rate0.300000012
max_delta_step0
max_depth6
min_child_weight1
missingnan
monotone_constraints()
n_estimators100
n_jobs-1
num_parallel_tree1
random_state1506
reg_alpha0
reg_lambda1
scale_pos_weight1
subsample1
tree_methodauto
validate_parameters1
verbosity0
\n
", "text/plain": " Parameters\nobjective binary:logistic\nuse_label_encoder True\nbase_score 0.5\nbooster gbtree\ncolsample_bylevel 1\ncolsample_bynode 1\ncolsample_bytree 1\ngamma 0\ngpu_id -1\nimportance_type gain\ninteraction_constraints \nlearning_rate 0.300000012\nmax_delta_step 0\nmax_depth 6\nmin_child_weight 1\nmissing nan\nmonotone_constraints ()\nn_estimators 100\nn_jobs -1\nnum_parallel_tree 1\nrandom_state 1506\nreg_alpha 0\nreg_lambda 1\nscale_pos_weight 1\nsubsample 1\ntree_method auto\nvalidate_parameters 1\nverbosity 0" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_e75c29fbbf504123a6518d12d501f3ab", "_model_module": "@jupyter-widgets/output" } }, "9e49a094eca748aa9286b42c7bf180ed": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "2994bc88f7624637ab65cef6e500da32": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "e75c29fbbf504123a6518d12d501f3ab": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "03350dd1e5214f3aabc48b7565ae4b49": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_de314b3f0f544c61acf5fd33e99c911c", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_4550376ea6bd45b9af276503dfbf6a90" } }, "a463af2b79b94ecd9365cc4ba0ee1641": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_db9f6b4f028741f8bd5f4d93803b5e67", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_43c55b638f584647aaefcf3b9cfcee29" } }, "db9f6b4f028741f8bd5f4d93803b5e67": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "43c55b638f584647aaefcf3b9cfcee29": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "bce1c8fe885d45608d740beaadec1033": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_7034122a4ff1489e9d7d26af63ce6af4", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_bf891634e154429f9e7a228e21d84a2d", "IPY_MODEL_2e407875db904ec0ae0a9b9ede4cd9ca" ] } }, "7034122a4ff1489e9d7d26af63ce6af4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "bf891634e154429f9e7a228e21d84a2d": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_55475be2cb3343bdac82821b1e7dc07b", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_3ab14392cd464feca63d9f5bc7c721cf" } }, "2e407875db904ec0ae0a9b9ede4cd9ca": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
C1.0
class_weightNone
dualFalse
fit_interceptTrue
intercept_scaling1
l1_ratioNone
max_iter1000
multi_classauto
n_jobsNone
penaltyl2
random_state1506
solverlbfgs
tol0.0001
verbose0
warm_startFalse
\n
", "text/plain": " Parameters\nC 1.0\nclass_weight None\ndual False\nfit_intercept True\nintercept_scaling 1\nl1_ratio None\nmax_iter 1000\nmulti_class auto\nn_jobs None\npenalty l2\nrandom_state 1506\nsolver lbfgs\ntol 0.0001\nverbose 0\nwarm_start False" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_25ff3ee0e3ba4ac59b4b968455e6ffd1", "_model_module": "@jupyter-widgets/output" } }, "55475be2cb3343bdac82821b1e7dc07b": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "3ab14392cd464feca63d9f5bc7c721cf": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "25ff3ee0e3ba4ac59b4b968455e6ffd1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "465c097926b74791b7ed2dfeb41366e8": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_26fb1c534a0f4c32850a5704b197684f", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_729905d4b2234c8d9895a1fa6713748f" } }, "26fb1c534a0f4c32850a5704b197684f": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "729905d4b2234c8d9895a1fa6713748f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "cc14420b2b9241d3b51fcf513404de1e": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_108169e47ebe4b9bac95b4a38214dd1e", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_ca04ad074d944f4daf5860fdd0393732" } }, "108169e47ebe4b9bac95b4a38214dd1e": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "ca04ad074d944f4daf5860fdd0393732": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "392d9d1a9fa146ab90b0a9e5949d6b61": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_65706dd29fe5457bb1f2201f38b98161", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_6e27df66c8244d3f8506606169a712e3", "IPY_MODEL_d3f96bd6691643239b6757383587be54" ] } }, "65706dd29fe5457bb1f2201f38b98161": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "6e27df66c8244d3f8506606169a712e3": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_9e08f8f4343a441ab290545c679533cf", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_e14d0ac066224518ac2eaef551c70c10" } }, "d3f96bd6691643239b6757383587be54": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
nan_modeMin
eval_metricLogloss
iterations1000
sampling_frequencyPerTree
leaf_estimation_methodNewton
grow_policySymmetricTree
penalties_coefficient1
boosting_typePlain
model_shrink_modeConstant
feature_border_typeGreedyLogSum
bayesian_matrix_reg0.10000000149011612
l2_leaf_reg3
random_strength1
rsm1
boost_from_averageFalse
model_size_reg0.5
subsample0.800000011920929
use_best_modelFalse
class_names[0, 1]
random_seed1506
depth6
posterior_samplingFalse
border_count254
classes_count0
auto_class_weightsNone
sparse_features_conflict_fraction0
leaf_estimation_backtrackingAnyImprovement
best_model_min_trees1
model_shrink_rate0
min_data_in_leaf1
loss_functionLogloss
learning_rate0.015088999643921852
score_functionCosine
task_typeCPU
leaf_estimation_iterations10
bootstrap_typeMVS
max_leaves64
\n
", "text/plain": " Parameters\nnan_mode Min\neval_metric Logloss\niterations 1000\nsampling_frequency PerTree\nleaf_estimation_method Newton\ngrow_policy SymmetricTree\npenalties_coefficient 1\nboosting_type Plain\nmodel_shrink_mode Constant\nfeature_border_type GreedyLogSum\nbayesian_matrix_reg 0.10000000149011612\nl2_leaf_reg 3\nrandom_strength 1\nrsm 1\nboost_from_average False\nmodel_size_reg 0.5\nsubsample 0.800000011920929\nuse_best_model False\nclass_names [0, 1]\nrandom_seed 1506\ndepth 6\nposterior_sampling False\nborder_count 254\nclasses_count 0\nauto_class_weights None\nsparse_features_conflict_fraction 0\nleaf_estimation_backtracking AnyImprovement\nbest_model_min_trees 1\nmodel_shrink_rate 0\nmin_data_in_leaf 1\nloss_function Logloss\nlearning_rate 0.015088999643921852\nscore_function Cosine\ntask_type CPU\nleaf_estimation_iterations 10\nbootstrap_type MVS\nmax_leaves 64" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_a7a1a6b7f72e4a12bd574eb45c801b39", "_model_module": "@jupyter-widgets/output" } }, "9e08f8f4343a441ab290545c679533cf": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "e14d0ac066224518ac2eaef551c70c10": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "a7a1a6b7f72e4a12bd574eb45c801b39": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "afd584fbc8a24f1baaf7ffd336839df5": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_9e412e3be60c4a65a00a62cc0900524c", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 3, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 3, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_650fd903437f42138427259ae89385c0" } }, "9e412e3be60c4a65a00a62cc0900524c": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "650fd903437f42138427259ae89385c0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "adc3728c289f4410b594a4212f5e729c": { "model_module": "@jupyter-widgets/controls", "model_name": "TextModel", "state": { "_view_name": "TextView", "style": "IPY_MODEL_dd30b884e50b47caa2c7eb30d7d5b397", "_dom_classes": [], "description": "", "_model_name": "TextModel", "placeholder": "​", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": "Following data types have been inferred automatically, if they are correct press enter to continue or type 'quit' otherwise.", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "continuous_update": true, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_eb3d75a11c1c4575a621c248ccfe0f52" } }, "dd30b884e50b47caa2c7eb30d7d5b397": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_view_name": "StyleView", "_model_name": "DescriptionStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "eb3d75a11c1c4575a621c248ccfe0f52": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": "100%", "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "60bb4204212e4b65b4e7fdf846790952": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_7ea62fdec17144158b7fb4cfe3c83b21", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 79, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 79, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_cf5589d70daf40ed94c7ffd89dac990e" } }, "7ea62fdec17144158b7fb4cfe3c83b21": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "cf5589d70daf40ed94c7ffd89dac990e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "5f54753abe0e4486b04eb8d273109b4c": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_87522b28665f4055afc2762b6d60ebe0", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_547856fc003e480eb9533f7541f11b61" } }, "87522b28665f4055afc2762b6d60ebe0": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "547856fc003e480eb9533f7541f11b61": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "5505c035740744dba23dce1750ea4c06": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_f48ed8a89f0a463eabd3c02d11807c26", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_e3346fce67b341a189e271ae4dbbf637" } }, "f48ed8a89f0a463eabd3c02d11807c26": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "e3346fce67b341a189e271ae4dbbf637": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "289080f92a784987bf9803c808c86b2f": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_c00d0d4f76cf4b3ba143096fcabd9160", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_1278fb36784f41728b5aed0c522375eb", "IPY_MODEL_a391a8969f7044ddbb8f996f2ae9d841" ] } }, "c00d0d4f76cf4b3ba143096fcabd9160": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "1278fb36784f41728b5aed0c522375eb": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_5983e5d1fcca4214afeeb0b6e3e9f01b", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_5654c6ccc5e94fe5b4b6015c80437afd" } }, "a391a8969f7044ddbb8f996f2ae9d841": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
objectivebinary:logistic
use_label_encoderTrue
base_score0.5
boostergbtree
colsample_bylevel1
colsample_bynode1
colsample_bytree1
gamma0
gpu_id-1
importance_typegain
interaction_constraints
learning_rate0.300000012
max_delta_step0
max_depth6
min_child_weight1
missingnan
monotone_constraints()
n_estimators100
n_jobs-1
num_parallel_tree1
random_state4581
reg_alpha0
reg_lambda1
scale_pos_weight1
subsample1
tree_methodauto
validate_parameters1
verbosity0
\n
", "text/plain": " Parameters\nobjective binary:logistic\nuse_label_encoder True\nbase_score 0.5\nbooster gbtree\ncolsample_bylevel 1\ncolsample_bynode 1\ncolsample_bytree 1\ngamma 0\ngpu_id -1\nimportance_type gain\ninteraction_constraints \nlearning_rate 0.300000012\nmax_delta_step 0\nmax_depth 6\nmin_child_weight 1\nmissing nan\nmonotone_constraints ()\nn_estimators 100\nn_jobs -1\nnum_parallel_tree 1\nrandom_state 4581\nreg_alpha 0\nreg_lambda 1\nscale_pos_weight 1\nsubsample 1\ntree_method auto\nvalidate_parameters 1\nverbosity 0" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_be8e6cd719384b719d8e05c54eab3225", "_model_module": "@jupyter-widgets/output" } }, "5983e5d1fcca4214afeeb0b6e3e9f01b": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "5654c6ccc5e94fe5b4b6015c80437afd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "be8e6cd719384b719d8e05c54eab3225": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "3f094aa3d2e34e2b988d99c742f9d393": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_aa757b9ea18c486cac397ec90631be22", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 5, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 5, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_2800e9fa0fa84f899598d83083a9f37f" } }, "aa757b9ea18c486cac397ec90631be22": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "2800e9fa0fa84f899598d83083a9f37f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "19bfaa8c92624fc49d00fb576eb168a0": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_209a2ebbe1af4fc498e7ba114ccc3878", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_3eb1e382648f4b47b0b31c76152573bd" } }, "209a2ebbe1af4fc498e7ba114ccc3878": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "3eb1e382648f4b47b0b31c76152573bd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "6e579c53f5154dcc9f288f98732dfda5": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_4a8be249ec484581994f11a00c835fd7", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_224cb2b4e86f479d91d9fca0a4cff63b" } }, "4a8be249ec484581994f11a00c835fd7": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "224cb2b4e86f479d91d9fca0a4cff63b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "8f6833e896f24ce1b691f340f19acbf3": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_4a39820fd6e34def9e7df8b60b827dd4", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_3745871b9e9d4960b65954a97c83eff2", "IPY_MODEL_4a103d29196a45ddb2be13242dc5948d" ] } }, "4a39820fd6e34def9e7df8b60b827dd4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "3745871b9e9d4960b65954a97c83eff2": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_d4177e6dc2a34c94850207968293f112", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 14, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_e8ffa2e43da84377803186697fdf7bd6" } }, "4a103d29196a45ddb2be13242dc5948d": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "application/vnd.jupyter.widget-view+json": { "model_id": "70b3c58232134d9cac7db23f5b62bfda", "version_minor": 0, "version_major": 2 }, "text/plain": "IntProgress(value=0, description='Processing: ', max=5)" }, { "output_type": "pyerr", "metadata": { "tags": [] }, "ename": "ValueError", "evalue": "ignored", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/ipywidgets/widgets/interaction.py\u001b[0m in \u001b[0;36mupdate\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 254\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwidget\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_interact_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 255\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mwidget\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_kwarg\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 256\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 257\u001b[0m \u001b[0mshow_inline_matplotlib_plots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_display\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/tabular.py\u001b[0m in \u001b[0;36mplot_model\u001b[0;34m(estimator, plot, scale, save, fold, fit_kwargs, groups, feature_name, label, use_train_data, verbose, system, display)\u001b[0m\n\u001b[1;32m 7167\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7168\u001b[0m \u001b[0;31m# execute the plot method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 7169\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlocals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7170\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7171\u001b[0m \u001b[0mplot_filename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/tabular.py\u001b[0m in \u001b[0;36mfeature_all\u001b[0;34m()\u001b[0m\n\u001b[1;32m 7100\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7101\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mfeature_all\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 7102\u001b[0;31m \u001b[0m_feature\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_X\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7103\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7104\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_feature\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/tabular.py\u001b[0m in \u001b[0;36m_feature\u001b[0;34m(n)\u001b[0m\n\u001b[1;32m 7128\u001b[0m \u001b[0mmy_range\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msorted_df\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7129\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmove_progress\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 7130\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m5\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m \u001b[0;34m//\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdpi\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_base_dpi\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mscale\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7131\u001b[0m plt.hlines(\n\u001b[1;32m 7132\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmy_range\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxmin\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxmax\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msorted_df\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"Value\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"skyblue\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mfigure\u001b[0;34m(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[0mframeon\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mframeon\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 545\u001b[0m \u001b[0mFigureClass\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mFigureClass\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 546\u001b[0;31m **kwargs)\n\u001b[0m\u001b[1;32m 547\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 548\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfigLabel\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mnew_figure_manager\u001b[0;34m(cls, num, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3355\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFigure\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3356\u001b[0m \u001b[0mfig_cls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FigureClass'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mFigure\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3357\u001b[0;31m \u001b[0mfig\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfig_cls\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3358\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnew_figure_manager_given_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3359\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, figsize, dpi, facecolor, edgecolor, linewidth, frameon, subplotpars, tight_layout, constrained_layout)\u001b[0m\n\u001b[1;32m 347\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 348\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misfinite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0many\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 349\u001b[0;31m raise ValueError('figure size must be positive finite not '\n\u001b[0m\u001b[1;32m 350\u001b[0m f'{figsize}')\n\u001b[1;32m 351\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbbox_inches\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBbox\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_bounds\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: figure size must be positive finite not (8, 0)" ] } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_61900fd657354669ac47d7fc218f0e63", "_model_module": "@jupyter-widgets/output" } }, "d4177e6dc2a34c94850207968293f112": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "e8ffa2e43da84377803186697fdf7bd6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "61900fd657354669ac47d7fc218f0e63": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "e5653ef1f4ac4568af5ca682912df39c": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_bc82ef6f0b8f49f6a44179bd6b853445", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 5, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 3, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_e05532a49de54883a2776a4ce69ff02e" } }, "bc82ef6f0b8f49f6a44179bd6b853445": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "e05532a49de54883a2776a4ce69ff02e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "70b3c58232134d9cac7db23f5b62bfda": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_c4db2e658ea54e1f896d3695a75fb0f8", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 5, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_0edb902376534a8fbd01c22af54b7c27" } }, "c4db2e658ea54e1f896d3695a75fb0f8": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "0edb902376534a8fbd01c22af54b7c27": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "3659c16a4759447f9c8b2e9e1bd7860f": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_ea4bd0ed110e4818a61de5d741d65792", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_ab3daf44e84e407f89d82424587c45d2" } }, "ea4bd0ed110e4818a61de5d741d65792": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "ab3daf44e84e407f89d82424587c45d2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "9c93b53066f449cabffe42495002ff2b": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_84de493313c4416ba147b8514bdf5ccd", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_e8696e757e9140d38d0dec51809b5a37" } }, "84de493313c4416ba147b8514bdf5ccd": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "e8696e757e9140d38d0dec51809b5a37": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "679526b38f8c47ad9a8759d066aabb5c": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_4bb43807c6ed4bbb8bc7a1de36170aad", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_15bacfbd614c48e7ac46997961421489", "IPY_MODEL_9d221ee267124302b6aac1bab99db046" ] } }, "4bb43807c6ed4bbb8bc7a1de36170aad": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "15bacfbd614c48e7ac46997961421489": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_c0a39ef9ad4c46bca8299fb6a5fffec8", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_29af3b998a664828a5afa4b9f7dda07c" } }, "9d221ee267124302b6aac1bab99db046": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
nan_modeMin
eval_metricLogloss
iterations1000
sampling_frequencyPerTree
leaf_estimation_methodNewton
grow_policySymmetricTree
penalties_coefficient1
boosting_typePlain
model_shrink_modeConstant
feature_border_typeGreedyLogSum
bayesian_matrix_reg0.10000000149011612
l2_leaf_reg3
random_strength1
rsm1
boost_from_averageFalse
model_size_reg0.5
subsample0.800000011920929
use_best_modelFalse
class_names[0, 1]
random_seed4581
depth6
posterior_samplingFalse
border_count254
classes_count0
auto_class_weightsNone
sparse_features_conflict_fraction0
leaf_estimation_backtrackingAnyImprovement
best_model_min_trees1
model_shrink_rate0
min_data_in_leaf1
loss_functionLogloss
learning_rate0.014127999544143677
score_functionCosine
task_typeCPU
leaf_estimation_iterations10
bootstrap_typeMVS
max_leaves64
\n
", "text/plain": " Parameters\nnan_mode Min\neval_metric Logloss\niterations 1000\nsampling_frequency PerTree\nleaf_estimation_method Newton\ngrow_policy SymmetricTree\npenalties_coefficient 1\nboosting_type Plain\nmodel_shrink_mode Constant\nfeature_border_type GreedyLogSum\nbayesian_matrix_reg 0.10000000149011612\nl2_leaf_reg 3\nrandom_strength 1\nrsm 1\nboost_from_average False\nmodel_size_reg 0.5\nsubsample 0.800000011920929\nuse_best_model False\nclass_names [0, 1]\nrandom_seed 4581\ndepth 6\nposterior_sampling False\nborder_count 254\nclasses_count 0\nauto_class_weights None\nsparse_features_conflict_fraction 0\nleaf_estimation_backtracking AnyImprovement\nbest_model_min_trees 1\nmodel_shrink_rate 0\nmin_data_in_leaf 1\nloss_function Logloss\nlearning_rate 0.014127999544143677\nscore_function Cosine\ntask_type CPU\nleaf_estimation_iterations 10\nbootstrap_type MVS\nmax_leaves 64" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_bc3075446d0348bcb00f9a672dcc8ad1", "_model_module": "@jupyter-widgets/output" } }, "c0a39ef9ad4c46bca8299fb6a5fffec8": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "29af3b998a664828a5afa4b9f7dda07c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "bc3075446d0348bcb00f9a672dcc8ad1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "69bbea89321f407eae6f435e00728d9d": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_5facd9a5cac94c8d87e51d5d79cc6aca", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 5, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_75c2ebf71ba14b8da324d470fde6096b" } }, "5facd9a5cac94c8d87e51d5d79cc6aca": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "75c2ebf71ba14b8da324d470fde6096b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "8707725331314861821ce500a3eeffac": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_4be5360cabe647d5849b88f489b6cd20", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 3, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 3, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_eb95926f6a4944c292da60aa0213e396" } }, "4be5360cabe647d5849b88f489b6cd20": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "eb95926f6a4944c292da60aa0213e396": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "8395d1cb9e454d068dd6a3db160fc9c6": { "model_module": "@jupyter-widgets/controls", "model_name": "TextModel", "state": { "_view_name": "TextView", "style": "IPY_MODEL_b8d139ba355646888a39dfaa52bb6c36", "_dom_classes": [], "description": "", "_model_name": "TextModel", "placeholder": "​", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": "Following data types have been inferred automatically, if they are correct press enter to continue or type 'quit' otherwise.", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "continuous_update": true, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_6d74e458826c4bd1aed9dca2760c8ca0" } }, "b8d139ba355646888a39dfaa52bb6c36": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_view_name": "StyleView", "_model_name": "DescriptionStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "6d74e458826c4bd1aed9dca2760c8ca0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": "100%", "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "c24b28b804be4c248eba0b3eb3099673": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_5737d68310e24f188f9a1c8844aa4831", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 79, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 79, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_0df65d85f8fc4afd845d8a8346d0ac00" } }, "5737d68310e24f188f9a1c8844aa4831": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "0df65d85f8fc4afd845d8a8346d0ac00": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "8dd10b0c4c8e4c2d899ca98ddf26f19f": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_4cf7d8abf42d43239a03e760182abacd", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_46c96d3cfe814a7fb86366bdf21700ea" } }, "4cf7d8abf42d43239a03e760182abacd": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "46c96d3cfe814a7fb86366bdf21700ea": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "3516024e5141494ba968244737483245": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_4885cdb5a3d2483e924c0cc0d75f97e5", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_dfb224af140240ecb4e4b055a3238bf8" } }, "4885cdb5a3d2483e924c0cc0d75f97e5": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "dfb224af140240ecb4e4b055a3238bf8": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "5238ac85157f48ebbef40b4332450a4d": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_3e4c48f925694b4992df24d3db4cd08d", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_90305a6b029b4002915d714b18d2dc6a", "IPY_MODEL_36efa56b78d848e18fc9d8ff5248025b" ] } }, "3e4c48f925694b4992df24d3db4cd08d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "90305a6b029b4002915d714b18d2dc6a": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_cbb0a03436964633b5fb8378022b6af0", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_389e9955fa29468eb796fe3c1421b4cb" } }, "36efa56b78d848e18fc9d8ff5248025b": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
objectivebinary:logistic
use_label_encoderTrue
base_score0.5
boostergbtree
colsample_bylevel1
colsample_bynode1
colsample_bytree1
gamma0
gpu_id-1
importance_typegain
interaction_constraints
learning_rate0.300000012
max_delta_step0
max_depth6
min_child_weight1
missingnan
monotone_constraints()
n_estimators100
n_jobs-1
num_parallel_tree1
random_state5221
reg_alpha0
reg_lambda1
scale_pos_weight1
subsample1
tree_methodauto
validate_parameters1
verbosity0
\n
", "text/plain": " Parameters\nobjective binary:logistic\nuse_label_encoder True\nbase_score 0.5\nbooster gbtree\ncolsample_bylevel 1\ncolsample_bynode 1\ncolsample_bytree 1\ngamma 0\ngpu_id -1\nimportance_type gain\ninteraction_constraints \nlearning_rate 0.300000012\nmax_delta_step 0\nmax_depth 6\nmin_child_weight 1\nmissing nan\nmonotone_constraints ()\nn_estimators 100\nn_jobs -1\nnum_parallel_tree 1\nrandom_state 5221\nreg_alpha 0\nreg_lambda 1\nscale_pos_weight 1\nsubsample 1\ntree_method auto\nvalidate_parameters 1\nverbosity 0" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_da0fead6fe0547549f7d21c109295c78", "_model_module": "@jupyter-widgets/output" } }, "cbb0a03436964633b5fb8378022b6af0": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "389e9955fa29468eb796fe3c1421b4cb": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "3e279ee794e54f74b1af69f76a966a31": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_1d64432c0de54747a4373d2055e990ea", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 5, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 3, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_20959362abf54f809bbc9279cfeda188" } }, "da0fead6fe0547549f7d21c109295c78": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "1d64432c0de54747a4373d2055e990ea": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "20959362abf54f809bbc9279cfeda188": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "738bda43761e444481ea74b6c2da8022": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_fe521331d9a64ddb94d82c0b68616d84", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_63bc1fbd946143a28334f9a2237178fd" } }, "fe521331d9a64ddb94d82c0b68616d84": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "63bc1fbd946143a28334f9a2237178fd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "2ed584d9e8da4f5da346b1e8d581efc2": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_f46001a0e4914f3db48a84f7987d6b5b", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_33bad682059a4e12839d36d0913169a9" } }, "f46001a0e4914f3db48a84f7987d6b5b": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "33bad682059a4e12839d36d0913169a9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "77c8ccd8bd8f425cb99be8e58ee3d931": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_72ee822a95ed4232bdc1c1ce909333ee", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_dde01c732630412ba04e143c691fef50", "IPY_MODEL_802bef155bd8481cbdfe9220094b971e" ] } }, "72ee822a95ed4232bdc1c1ce909333ee": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "dde01c732630412ba04e143c691fef50": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_940b0b4b95b547e8847918ae1d4c1ee6", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_fdbb8e58e39a4ee3a4b53252a2a17dd6" } }, "802bef155bd8481cbdfe9220094b971e": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
C1.0
class_weightNone
dualFalse
fit_interceptTrue
intercept_scaling1
l1_ratioNone
max_iter1000
multi_classauto
n_jobsNone
penaltyl2
random_state5221
solverlbfgs
tol0.0001
verbose0
warm_startFalse
\n
", "text/plain": " Parameters\nC 1.0\nclass_weight None\ndual False\nfit_intercept True\nintercept_scaling 1\nl1_ratio None\nmax_iter 1000\nmulti_class auto\nn_jobs None\npenalty l2\nrandom_state 5221\nsolver lbfgs\ntol 0.0001\nverbose 0\nwarm_start False" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_cb21cc1e1e9a415da8bca9e7ddd1afd4", "_model_module": "@jupyter-widgets/output" } }, "940b0b4b95b547e8847918ae1d4c1ee6": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "fdbb8e58e39a4ee3a4b53252a2a17dd6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "cb21cc1e1e9a415da8bca9e7ddd1afd4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "fb4b36fcd06149798f6bd0ac5b92f623": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_c28813b57f4149a290aa7fcdad2213cc", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 4, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 4, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_370d6ac451114cbd9d38f3082e51cfbe" } }, "c28813b57f4149a290aa7fcdad2213cc": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "370d6ac451114cbd9d38f3082e51cfbe": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "666ea6b6c5e1477088874e17dc9c33b7": { "model_module": "@jupyter-widgets/controls", "model_name": "IntProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_7175066c42e54289a5038da594728ee0", "_dom_classes": [], "description": "Processing: ", "_model_name": "IntProgressModel", "bar_style": "", "max": 7, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 7, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_3d3e94b00fe743eb9499e640ae18a553" } }, "7175066c42e54289a5038da594728ee0": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "3d3e94b00fe743eb9499e640ae18a553": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "f298fe3f4539460f892778917dca8e35": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "state": { "_view_name": "VBoxView", "_dom_classes": [ "widget-interact" ], "_model_name": "VBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_3ae88fa2ea8642d88a4b44091352d1ae", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_268e0463c4b44a1a9811775756d77c41", "IPY_MODEL_d434264ed45c4de8af5e31ac2901b8c4" ] } }, "3ae88fa2ea8642d88a4b44091352d1ae": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "268e0463c4b44a1a9811775756d77c41": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsModel", "state": { "_options_labels": [ "Hyperparameters", "AUC", "Confusion Matrix", "Threshold", "Precision Recall", "Prediction Error", "Class Report", "Feature Selection", "Learning Curve", "Manifold Learning", "Calibration Curve", "Validation Curve", "Dimensions", "Feature Importance", "Feature Importance (All)", "Decision Boundary", "Lift Chart", "Gain Chart", "Decision Tree" ], "_view_name": "ToggleButtonsView", "style": "IPY_MODEL_497321ff3b6849b19b7ab938133316ad", "_dom_classes": [], "description": "Plot Type:", "_model_name": "ToggleButtonsModel", "tooltips": [], "index": 0, "button_style": "", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "disabled": false, "_view_module_version": "1.5.0", "icons": [ "" ], "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_cc0fbcf2f77846f4bd1266103d07a1f7" } }, "d434264ed45c4de8af5e31ac2901b8c4": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "state": { "_view_name": "OutputView", "msg_id": "", "_dom_classes": [], "_model_name": "OutputModel", "outputs": [ { "output_type": "display_data", "metadata": { "tags": [] }, "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Parameters
nan_modeMin
eval_metricLogloss
iterations1000
sampling_frequencyPerTree
leaf_estimation_methodNewton
grow_policySymmetricTree
penalties_coefficient1
boosting_typePlain
model_shrink_modeConstant
feature_border_typeGreedyLogSum
bayesian_matrix_reg0.10000000149011612
l2_leaf_reg3
random_strength1
rsm1
boost_from_averageFalse
model_size_reg0.5
subsample0.800000011920929
use_best_modelFalse
class_names[0, 1]
random_seed5221
depth6
posterior_samplingFalse
border_count254
classes_count0
auto_class_weightsNone
sparse_features_conflict_fraction0
leaf_estimation_backtrackingAnyImprovement
best_model_min_trees1
model_shrink_rate0
min_data_in_leaf1
loss_functionLogloss
learning_rate0.015974000096321106
score_functionCosine
task_typeCPU
leaf_estimation_iterations10
bootstrap_typeMVS
max_leaves64
\n
", "text/plain": " Parameters\nnan_mode Min\neval_metric Logloss\niterations 1000\nsampling_frequency PerTree\nleaf_estimation_method Newton\ngrow_policy SymmetricTree\npenalties_coefficient 1\nboosting_type Plain\nmodel_shrink_mode Constant\nfeature_border_type GreedyLogSum\nbayesian_matrix_reg 0.10000000149011612\nl2_leaf_reg 3\nrandom_strength 1\nrsm 1\nboost_from_average False\nmodel_size_reg 0.5\nsubsample 0.800000011920929\nuse_best_model False\nclass_names [0, 1]\nrandom_seed 5221\ndepth 6\nposterior_sampling False\nborder_count 254\nclasses_count 0\nauto_class_weights None\nsparse_features_conflict_fraction 0\nleaf_estimation_backtracking AnyImprovement\nbest_model_min_trees 1\nmodel_shrink_rate 0\nmin_data_in_leaf 1\nloss_function Logloss\nlearning_rate 0.015974000096321106\nscore_function Cosine\ntask_type CPU\nleaf_estimation_iterations 10\nbootstrap_type MVS\nmax_leaves 64" } ], "_view_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_view_count": null, "_view_module_version": "1.0.0", "layout": "IPY_MODEL_b995a9f6bf614675ac2153fc65daa3de", "_model_module": "@jupyter-widgets/output" } }, "497321ff3b6849b19b7ab938133316ad": { "model_module": "@jupyter-widgets/controls", "model_name": "ToggleButtonsStyleModel", "state": { "_view_name": "StyleView", "button_width": "", "_model_name": "ToggleButtonsStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "font_weight": "", "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "cc0fbcf2f77846f4bd1266103d07a1f7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "b995a9f6bf614675ac2153fc65daa3de": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } } } } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "TRQ197E7_GeW" }, "source": [ "**A Study on the Correlation of Weather Station Data and the Occurence of Wet Avalanches**" ] }, { "cell_type": "markdown", "metadata": { "id": "iWjUyErHoy1p" }, "source": [ "# Contribution" ] }, { "cell_type": "markdown", "metadata": { "id": "BGCyS_6gpIDA" }, "source": [ "\n", "\n", "Mahad:\n", "\n", "\n", "> Mahad handled all of the practical analysis done on the data. Mahad also performed most of the data organization and machine learning done on the data.\n", "\n", "\n", "Grace: \n", "\n", "\n", "> Grace handled all of the linear and logistic regression performed on the data. Grace did assist in organizing and cleaning up the data for her own practice; however, the code used for these tasks in this notebook is Mahad's. Grace organized and prepared the notebooks for submission. Grace wrote the abstract, introduction, and other pieces of information throughout the notebook. Lastly, she helped to research details about wet avalanches as well as different methods for analyzing the data.\n", "\n", "\n", "\n", "Daniela:\n", "\n", "\n", "> Daniela communicated with sponsors, professor, and team mates. She set up a meeting with the sponsors and kept track of all emails and data. Daniela also recorded all information and next steps during presentations. She helped with researching Pycaret and defaults along with researching methods that showed the most accuracy.Worked on the testing and training portion. Looked at if there were changes between 60:40, 70:30, and 80:20.\n", "\n", "Required Files:\n", "\n", "The following xlsx files contain the data needed to run the notebook and are available in the CAIC drive folder. They are read in under 'Data Import and Pre-Processing'\n", "* All Wet Avalanches 2014-Present.xlsx\n", "* OriginalWeatherData.xlsx\n", "\n", "**It is important to note that all of the Machine Learning Code underneath the sub section 'Prediction Model' takes at least a minute, likely more, to run for each box of code**\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "O2TdhRU4qydE" }, "source": [ "# Abstract" ] }, { "cell_type": "markdown", "metadata": { "id": "mrBEngaah-RG" }, "source": [ "This report organizes and provides analysis for data provided by the Colorado Avalanche Information Center, regarding wet avalanches. Our goal was to clean and subsequently analyze the wet avalanche data recorded by CAIC as well as the corresponding weather station data in order to find any correlation between the various data points. Overall, this notebook provides a template for organizing, analyzing and predicting wet avalanches; however, the predictions could be more precise with more locations. In the future, we hope that this information can be used to study the causes of wet avalanches in order to predict when they occur. " ] }, { "cell_type": "markdown", "metadata": { "id": "yul-lpNSg75v" }, "source": [ "# Introduction" ] }, { "cell_type": "markdown", "metadata": { "id": "8inJZ_uC_T6O" }, "source": [ "\n", "The Colorado Avalanche Information Center is a program within the Colorado Department of Natural Resources that is committed to educating the public on avalanche safety as well as forecasting avalanche conditions. Currently, the CAIC employs a system that is titled '[The Avalanche Problem](https://www.avalanche.state.co.us/forecasts/help/avalanche-problems/)', which uses four characteristics (avalanche character or type, location, likelihood, and size) to determine the avalanche hazard rating throughout the mountains each day. \n", "\n", "Our research focuses on two of these avalanche characters, Wet Slab and Wet Loose, which we have combined to the single term 'wet avalanches' for the sake of the study. There is little research surrounding wet avalanches and their causes, so our goal was to take the weather station data and wet avalanche data recorded by the CAIC and study their correlation. We hope that the research that we have done can be used as a first-step in identifying where and why wet avalanches form. \n", "\n", "At the start of our research, we relied primarily on graphics in order to visualize the status of various weather varibles alongside the occurence of wet avalanches. Time series and distribution plots were used for this portion of the research. Linear regression was used to help identify how each weather variable directly correlates to avalanche occurence, and machine learning tools were implemented to start generating predictive modeling options for future use. " ] }, { "cell_type": "markdown", "metadata": { "id": "H5o-hqqWAB1o" }, "source": [ "# Methods" ] }, { "cell_type": "markdown", "metadata": { "id": "W6HBR_IhAmd6" }, "source": [ "There are two key pieces of data that we are using in this project, wet avalanche data and weather station data. The wet avalanche data was given to us by the CAIC team in the form of a 664 KB .csv file. We then turned it into a .xlsx file (All Wet Avalanches 2014-Present.xlsx); however, the .csv form of the file is still available in the CAIC drive folder. The SNOTEL weather station data was downloaded from the [National Resources Conservation Center](https://www.wcc.nrcs.usda.gov/snow/snotel-data.html) website. There are 13 SNOTEL stations that were used in this project; so, the data from each station were combined into one .xlsx file (OriginalWeatherData.xlsx) and is 6 MB. The wet avalance data is both categorical and numerical. A description of each column and its units is listed below:" ] }, { "cell_type": "markdown", "metadata": { "id": "EX9nC9iuPfw8" }, "source": [ "Columns and units for 'All Wet Avalanches 2014-Present.xlsx':\n", "\n", "1. id = id \n", "2. obs_id = Observation id \n", "3. avi_hw_op_bc = Was the avalanche in a highway, within an operation (ski area) or backcountry\n", "4. avi_hw_zone_id = If highway what is the pass id (-1 = not highway)\n", "5. avi_path = Avalanche path name if known. These are mostly highway avalanche paths where the name is known.\n", "6. avi_op_name = name of operation if within an operating boundary\n", "7. avi_loc = general area of avalanche from a drop down list\n", "8. avi_bc_zone_id = if avalanche is a backcountry avalanche which CAIC zone is it in\n", "9. avi_mark = Location within a backcountry zone if known\n", "10. avi_number = number of avalanches reported at that place and time\n", "11. avi_type = type of avalanche (WL = wet loose, WS = wet slab)\n", "12. avi_aspect = Compas aspect if known\n", "13. avi_elev = elevation compared to treeline can be (>TL = above treeline, TL = at treeline, \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idobs_idavi_hw_op_bcavi_hw_zone_idavi_pathavi_op_nameavi_locavi_bc_zone_idavi_markavi_numberavi_typeavi_aspectavi_elevavi_rsizeavi_dsizeavi_prim_trigavi_sec_trigavi_commentsavi_dateavi_date_knownavi_time_knownavi_areaavi_angle_avgavi_angle_maxavi_elevationavi_elevation_unitsavi_surfaceavi_weak_layeravi_grain_typeavi_crown_avgavi_crown_maxavi_crown_unitsavi_width_avgavi_width_maxavi_width_unitsavi_vertical_avgavi_vertical_maxavi_vertical_unitsavi_terminusavi_road_statusavi_road_depthavi_road_lengthavi_road_unitsavi_latavi_lonid.1obs_id.1avi_descrid.2zone_idlatlonutm_zoneutm_eutm_nnametitleanchorzone_orderUnnamed: 59Unnamed: 60Unnamed: 61
015118260877bc-1NaN-2NaN0-11WSNE<TLR1D1NNaNNaN3/15/2020 00:00EstimatedUnknownThe west end of Byers Canyon.38407900ftGLayerDepth Hoar68.0in3540.0ft7075.0ftNaNNaNNaNNaNft00.03925360877.0A small Wet Slab avalanche was seen in Byers C...1040.45217-106.6690113358475.000004.479283e+06Steamboat & Flat TopsSteamboat Area & Flat Topssteamboat0NaNNaNNaN
15378623807bc-1NaN-2NaN1-11WSE>TLR3D1.5ASuNaN3/9/2014 10:25KnownKnownEast-facing rollover directly below Andrew's T...353811245ftOUnknownUnknown1835.0in100110.0ft125200.0ftNaNNaNNaNNaNft00.0264223807.0My partner and I, both on backcountry skis, de...2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaN
26632135489bc-1NaN-2NaN1-11WLETLR1D1ASNaNNaN4/3/2015 00:00EstimatedUnknownNaNNaNNaNNaNftNaNNaNNaNNaNNaNinNaNNaNftNaNNaNftNaNNaNNaNNaNft00.01424535489.0NaN2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaN
36649336044bc-1NaN-2NaN1-11WSS>TLR2D2ASNaNNaN6/7/2015 00:00EstimatedUnknownKelso PkNaNNaNNaNftNaNNaNNaNNaNNaNin25NaNft1000NaNftNaNNaNNaNNaNft00.01478136044.0Skier triggered wet slab.2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaN
47584340808bc-1NaN-2NaN1-11WLNE<TLR1D1ASNaNMt Trelease3/11/2016 00:00EstimatedUnknownNaNNaNNaNNaNftNaNNaNNaNNaNNaNinNaNNaNftNaNNaNftNaNNaNNaNNaNft00.01943640808.0Mt. trelease, N, NE aspect near the bottom of ...ran 30 ft40° slope angle. Reporting since there were n...or water being able to be sqeezed from the sn...2140.14328-1.058407e+02134283844443999Front RangeFront Rangefrontrange1.0
.............................................................................................................................................................................................
149413246756615hw15Stephen-2NaN8NaN1WLETLR3D2NNaNNaN5/11/2019 00:00KnownUnknownNaNNaNNaNNaNftNaNNaNNaNNaNNaNinNaNNaNftNaNNaNftMPOpenNaNNaNft00.03499156615.0NaN9837.53723-106.8044913340573.000004.156002e+06Southern San JuanSouthern San Juan Mountainssouthsanjuan8NaNNaNNaN
149514999060613hw16-1-2NaN8NaN1WLSE<TLR2D1AScNaN3/5/2020 00:00KnownUnknownWest of Cumbres Pass. Not a highway path.NaNNaNNaNftNaNNaNNaNNaNNaNinNaN20.0ftNaN200.0ftBPNaNNaNNaNft00.03898960613.0No recent natural avalanche activity observed ...9837.53723-106.8044913340573.000004.156002e+06Southern San JuanSouthern San Juan Mountainssouthsanjuan8NaNNaNNaN
149615522361425hw16-1-2NaN8NaN1WLNW<TLR2D1.5NNaNAvalanche date is a total guess. An drop down ...4/2/2020 00:00EstimatedUnknownCamp SlideNaNNaNNaNftGNaNNaNNaNNaNinNaNNaNftNaNNaNftMPOpenNaNNaNft00.03980161425.0NaN9837.53723-106.8044913340573.000004.156002e+06Southern San JuanSouthern San Juan Mountainssouthsanjuan8NaNNaNNaN
149715544461449hw15Andrew-2NaN8NaN1WLETLR1D1.5NNaNSlid to the ground and plunged over the cliff,...4/9/2020 00:00EstimatedUnknownIn steep rocky terrain above shot 9.NaNNaNNaNftGNaNNaNNaNNaNinNaNNaNftNaNNaNftTPOpenNaNNaNft00.03982561449.0NaN9837.53723-106.8044913340573.000004.156002e+06Southern San JuanSouthern San Juan Mountainssouthsanjuan8NaNNaNNaN
149815544561449hw15Stephen-2NaN8NaN1WLSE<TLR2D1.5NNaNNaN4/5/2020 00:00EstimatedUnknownReleased from the cliffs below the starting zone.NaNNaNNaNftINaNNaNNaNNaNinNaNNaNftNaNNaNftMPOpenNaNNaNft00.03982561449.0NaN9837.53723-106.8044913340573.000004.156002e+06Southern San JuanSouthern San Juan Mountainssouthsanjuan8NaNNaNNaN
\n", "

1499 rows × 62 columns

\n", "" ], "text/plain": [ " id obs_id avi_hw_op_bc avi_hw_zone_id avi_path avi_op_name \\\n", "0 151182 60877 bc -1 NaN -2 \n", "1 53786 23807 bc -1 NaN -2 \n", "2 66321 35489 bc -1 NaN -2 \n", "3 66493 36044 bc -1 NaN -2 \n", "4 75843 40808 bc -1 NaN -2 \n", "... ... ... ... ... ... ... \n", "1494 132467 56615 hw 15 Stephen -2 \n", "1495 149990 60613 hw 16 -1 -2 \n", "1496 155223 61425 hw 16 -1 -2 \n", "1497 155444 61449 hw 15 Andrew -2 \n", "1498 155445 61449 hw 15 Stephen -2 \n", "\n", " avi_loc avi_bc_zone_id avi_mark avi_number avi_type avi_aspect \\\n", "0 NaN 0 -1 1 WS NE \n", "1 NaN 1 -1 1 WS E \n", "2 NaN 1 -1 1 WL E \n", "3 NaN 1 -1 1 WS S \n", "4 NaN 1 -1 1 WL NE \n", "... ... ... ... ... ... ... \n", "1494 NaN 8 NaN 1 WL E \n", "1495 NaN 8 NaN 1 WL SE \n", "1496 NaN 8 NaN 1 WL NW \n", "1497 NaN 8 NaN 1 WL E \n", "1498 NaN 8 NaN 1 WL SE \n", "\n", " avi_elev avi_rsize avi_dsize avi_prim_trig avi_sec_trig \\\n", "0 TL R3 D1.5 AS u \n", "2 TL R1 D1 AS NaN \n", "3 >TL R2 D2 AS NaN \n", "4 \n", "RangeIndex: 1499 entries, 0 to 1498\n", "Data columns (total 62 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 id 1499 non-null int64 \n", " 1 obs_id 1499 non-null int64 \n", " 2 avi_hw_op_bc 1499 non-null object \n", " 3 avi_hw_zone_id 1499 non-null int64 \n", " 4 avi_path 335 non-null object \n", " 5 avi_op_name 1499 non-null object \n", " 6 avi_loc 1 non-null object \n", " 7 avi_bc_zone_id 1499 non-null int64 \n", " 8 avi_mark 847 non-null object \n", " 9 avi_number 1499 non-null int64 \n", " 10 avi_type 1499 non-null object \n", " 11 avi_aspect 1461 non-null object \n", " 12 avi_elev 1468 non-null object \n", " 13 avi_rsize 1334 non-null object \n", " 14 avi_dsize 1460 non-null object \n", " 15 avi_prim_trig 1452 non-null object \n", " 16 avi_sec_trig 216 non-null object \n", " 17 avi_comments 584 non-null object \n", " 18 avi_date 1499 non-null object \n", " 19 avi_date_known 1499 non-null object \n", " 20 avi_time_known 1499 non-null object \n", " 21 avi_area 1021 non-null object \n", " 22 avi_angle_avg 163 non-null object \n", " 23 avi_angle_max 139 non-null object \n", " 24 avi_elevation 431 non-null object \n", " 25 avi_elevation_units 1496 non-null object \n", " 26 avi_surface 455 non-null object \n", " 27 avi_weak_layer 170 non-null object \n", " 28 avi_grain_type 165 non-null object \n", " 29 avi_crown_avg 156 non-null object \n", " 30 avi_crown_max 106 non-null float64\n", " 31 avi_crown_units 1495 non-null object \n", " 32 avi_width_avg 247 non-null object \n", " 33 avi_width_max 225 non-null float64\n", " 34 avi_width_units 1496 non-null object \n", " 35 avi_vertical_avg 326 non-null object \n", " 36 avi_vertical_max 257 non-null float64\n", " 37 avi_vertical_units 1497 non-null object \n", " 38 avi_terminus 195 non-null object \n", " 39 avi_road_status 273 non-null object \n", " 40 avi_road_depth 150 non-null object \n", " 41 avi_road_length 148 non-null float64\n", " 42 avi_road_units 1495 non-null object \n", " 43 avi_lat 1496 non-null object \n", " 44 avi_lon 1496 non-null float64\n", " 45 id.1 1497 non-null object \n", " 46 obs_id.1 1497 non-null float64\n", " 47 avi_descr 835 non-null object \n", " 48 id.2 1493 non-null object \n", " 49 zone_id 1495 non-null object \n", " 50 lat 1493 non-null object \n", " 51 lon 1494 non-null object \n", " 52 utm_zone 1494 non-null object \n", " 53 utm_e 1493 non-null float64\n", " 54 utm_n 1493 non-null float64\n", " 55 name 1493 non-null object \n", " 56 title 1493 non-null object \n", " 57 anchor 1493 non-null object \n", " 58 zone_order 1493 non-null object \n", " 59 Unnamed: 59 13 non-null object \n", " 60 Unnamed: 60 8 non-null object \n", " 61 Unnamed: 61 2 non-null float64\n", "dtypes: float64(9), int64(5), object(48)\n", "memory usage: 726.2+ KB\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "VNpI6i5pDnFa" }, "source": [ "# Adjust variables types \n", "\n", "DataAvalanches['avi_date'] = pd.to_datetime(DataAvalanches['avi_date'], errors='coerce').dt.date.astype('datetime64')\n", "\n", "# Create categorical variable to sign avalanche\n", "\n", "DataAvalanches['Avalanche'] = 'Yes'" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "dZgaCPN2ZaF4", "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "outputId": "a494caaa-b08d-483f-e355-ca815deb5a90" }, "source": [ "# Check result\n", "\n", "DataAvalanches.head()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idobs_idavi_hw_op_bcavi_hw_zone_idavi_pathavi_op_nameavi_locavi_bc_zone_idavi_markavi_numberavi_typeavi_aspectavi_elevavi_rsizeavi_dsizeavi_prim_trigavi_sec_trigavi_commentsavi_dateavi_date_knownavi_time_knownavi_areaavi_angle_avgavi_angle_maxavi_elevationavi_elevation_unitsavi_surfaceavi_weak_layeravi_grain_typeavi_crown_avgavi_crown_maxavi_crown_unitsavi_width_avgavi_width_maxavi_width_unitsavi_vertical_avgavi_vertical_maxavi_vertical_unitsavi_terminusavi_road_statusavi_road_depthavi_road_lengthavi_road_unitsavi_latavi_lonid.1obs_id.1avi_descrid.2zone_idlatlonutm_zoneutm_eutm_nnametitleanchorzone_orderUnnamed: 59Unnamed: 60Unnamed: 61Avalanche
015118260877bc-1NaN-2NaN0-11WSNE<TLR1D1NNaNNaN2020-03-15EstimatedUnknownThe west end of Byers Canyon.38407900ftGLayerDepth Hoar68.0in3540.0ft7075.0ftNaNNaNNaNNaNft00.03925360877.0A small Wet Slab avalanche was seen in Byers C...1040.45217-106.6690113358475.000004.479283e+06Steamboat & Flat TopsSteamboat Area & Flat Topssteamboat0NaNNaNNaNYes
15378623807bc-1NaN-2NaN1-11WSE>TLR3D1.5ASuNaN2014-03-09KnownKnownEast-facing rollover directly below Andrew's T...353811245ftOUnknownUnknown1835.0in100110.0ft125200.0ftNaNNaNNaNNaNft00.0264223807.0My partner and I, both on backcountry skis, de...2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaNYes
26632135489bc-1NaN-2NaN1-11WLETLR1D1ASNaNNaN2015-04-03EstimatedUnknownNaNNaNNaNNaNftNaNNaNNaNNaNNaNinNaNNaNftNaNNaNftNaNNaNNaNNaNft00.01424535489.0NaN2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaNYes
36649336044bc-1NaN-2NaN1-11WSS>TLR2D2ASNaNNaN2015-06-07EstimatedUnknownKelso PkNaNNaNNaNftNaNNaNNaNNaNNaNin25NaNft1000NaNftNaNNaNNaNNaNft00.01478136044.0Skier triggered wet slab.2140.14328-105.8407513428384.000004.443999e+06Front RangeFront Rangefrontrange1NaNNaNNaNYes
47584340808bc-1NaN-2NaN1-11WLNE<TLR1D1ASNaNMt Trelease2016-03-11EstimatedUnknownNaNNaNNaNNaNftNaNNaNNaNNaNNaNinNaNNaNftNaNNaNftNaNNaNNaNNaNft00.01943640808.0Mt. trelease, N, NE aspect near the bottom of ...ran 30 ft40° slope angle. Reporting since there were n...or water being able to be sqeezed from the sn...2140.14328-1.058407e+02134283844443999Front RangeFront Rangefrontrange1.0Yes
\n", "
" ], "text/plain": [ " id obs_id avi_hw_op_bc avi_hw_zone_id avi_path avi_op_name avi_loc \\\n", "0 151182 60877 bc -1 NaN -2 NaN \n", "1 53786 23807 bc -1 NaN -2 NaN \n", "2 66321 35489 bc -1 NaN -2 NaN \n", "3 66493 36044 bc -1 NaN -2 NaN \n", "4 75843 40808 bc -1 NaN -2 NaN \n", "\n", " avi_bc_zone_id avi_mark avi_number avi_type avi_aspect avi_elev avi_rsize \\\n", "0 0 -1 1 WS NE TL R3 \n", "2 1 -1 1 WL E TL R1 \n", "3 1 -1 1 WS S >TL R2 \n", "4 1 -1 1 WL NE \n", "RangeIndex: 1499 entries, 0 to 1498\n", "Data columns (total 63 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 id 1499 non-null int64 \n", " 1 obs_id 1499 non-null int64 \n", " 2 avi_hw_op_bc 1499 non-null object \n", " 3 avi_hw_zone_id 1499 non-null int64 \n", " 4 avi_path 335 non-null object \n", " 5 avi_op_name 1499 non-null object \n", " 6 avi_loc 1 non-null object \n", " 7 avi_bc_zone_id 1499 non-null int64 \n", " 8 avi_mark 847 non-null object \n", " 9 avi_number 1499 non-null int64 \n", " 10 avi_type 1499 non-null object \n", " 11 avi_aspect 1461 non-null object \n", " 12 avi_elev 1468 non-null object \n", " 13 avi_rsize 1334 non-null object \n", " 14 avi_dsize 1460 non-null object \n", " 15 avi_prim_trig 1452 non-null object \n", " 16 avi_sec_trig 216 non-null object \n", " 17 avi_comments 584 non-null object \n", " 18 avi_date 1498 non-null datetime64[ns]\n", " 19 avi_date_known 1499 non-null object \n", " 20 avi_time_known 1499 non-null object \n", " 21 avi_area 1021 non-null object \n", " 22 avi_angle_avg 163 non-null object \n", " 23 avi_angle_max 139 non-null object \n", " 24 avi_elevation 431 non-null object \n", " 25 avi_elevation_units 1496 non-null object \n", " 26 avi_surface 455 non-null object \n", " 27 avi_weak_layer 170 non-null object \n", " 28 avi_grain_type 165 non-null object \n", " 29 avi_crown_avg 156 non-null object \n", " 30 avi_crown_max 106 non-null float64 \n", " 31 avi_crown_units 1495 non-null object \n", " 32 avi_width_avg 247 non-null object \n", " 33 avi_width_max 225 non-null float64 \n", " 34 avi_width_units 1496 non-null object \n", " 35 avi_vertical_avg 326 non-null object \n", " 36 avi_vertical_max 257 non-null float64 \n", " 37 avi_vertical_units 1497 non-null object \n", " 38 avi_terminus 195 non-null object \n", " 39 avi_road_status 273 non-null object \n", " 40 avi_road_depth 150 non-null object \n", " 41 avi_road_length 148 non-null float64 \n", " 42 avi_road_units 1495 non-null object \n", " 43 avi_lat 1496 non-null object \n", " 44 avi_lon 1496 non-null float64 \n", " 45 id.1 1497 non-null object \n", " 46 obs_id.1 1497 non-null float64 \n", " 47 avi_descr 835 non-null object \n", " 48 id.2 1493 non-null object \n", " 49 zone_id 1495 non-null object \n", " 50 lat 1493 non-null object \n", " 51 lon 1494 non-null object \n", " 52 utm_zone 1494 non-null object \n", " 53 utm_e 1493 non-null float64 \n", " 54 utm_n 1493 non-null float64 \n", " 55 name 1493 non-null object \n", " 56 title 1493 non-null object \n", " 57 anchor 1493 non-null object \n", " 58 zone_order 1493 non-null object \n", " 59 Unnamed: 59 13 non-null object \n", " 60 Unnamed: 60 8 non-null object \n", " 61 Unnamed: 61 2 non-null float64 \n", " 62 Avalanche 1499 non-null object \n", "dtypes: datetime64[ns](1), float64(9), int64(5), object(48)\n", "memory usage: 737.9+ KB\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "CEPLFb46r7gI" }, "source": [ "With that part done, it is time to move for the pre-processing of the weather dataset. The first step is to combine the data from all the different tabs into a single dataset." ] }, { "cell_type": "code", "metadata": { "id": "2hujg5pk_f9L", "colab": { "base_uri": "https://localhost:8080/", "height": 793 }, "outputId": "bf137b5e-b5d8-41c8-e166-ab8a4bb8b2b8" }, "source": [ "# Combine weather data from different stations into a single dataframe\n", "\n", "CombinedDataWeather = pd.concat(DataWeather, keys=DataWeather.keys())\n", "\n", "CombinedDataWeather.reset_index(inplace=True)\n", "\n", "CombinedDataWeather.drop('level_1', axis=1, inplace=True)\n", "\n", "CombinedDataWeather.rename(columns={'level_0':'Location'}, inplace=True)\n", "\n", "CombinedDataWeather" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
LocationDateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
0Berthoud Pass1978-10-010.00.0NaNNaNNaN0.0
1Berthoud Pass1978-10-020.00.0NaNNaNNaN0.0
2Berthoud Pass1978-10-030.00.0NaNNaNNaN0.0
3Berthoud Pass1978-10-040.00.0NaNNaNNaN0.2
4Berthoud Pass1978-10-050.00.2NaNNaNNaN0.0
...........................
174871Wolf Creek pass Snotel2020-10-030.0NaN60.041.049.0NaN
174872Wolf Creek pass Snotel2020-10-040.00.059.038.048.00.0
174873Wolf Creek pass Snotel2020-10-050.00.062.042.051.00.0
174874Wolf Creek pass Snotel2020-10-060.00.062.044.052.00.0
174875Wolf Creek pass Snotel2020-10-070.00.0NaNNaNNaNNaN
\n", "

174876 rows × 8 columns

\n", "
" ], "text/plain": [ " Location Date \\\n", "0 Berthoud Pass 1978-10-01 \n", "1 Berthoud Pass 1978-10-02 \n", "2 Berthoud Pass 1978-10-03 \n", "3 Berthoud Pass 1978-10-04 \n", "4 Berthoud Pass 1978-10-05 \n", "... ... ... \n", "174871 Wolf Creek pass Snotel 2020-10-03 \n", "174872 Wolf Creek pass Snotel 2020-10-04 \n", "174873 Wolf Creek pass Snotel 2020-10-05 \n", "174874 Wolf Creek pass Snotel 2020-10-06 \n", "174875 Wolf Creek pass Snotel 2020-10-07 \n", "\n", " Snow Water Equivalent (in) Start of Day Values \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.0 \n", "... ... \n", "174871 0.0 \n", "174872 0.0 \n", "174873 0.0 \n", "174874 0.0 \n", "174875 0.0 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.2 \n", "... ... \n", "174871 NaN \n", "174872 0.0 \n", "174873 0.0 \n", "174874 0.0 \n", "174875 0.0 \n", "\n", " Air Temperature Maximum (degF) Air Temperature Minimum (degF) \\\n", "0 NaN NaN \n", "1 NaN NaN \n", "2 NaN NaN \n", "3 NaN NaN \n", "4 NaN NaN \n", "... ... ... \n", "174871 60.0 41.0 \n", "174872 59.0 38.0 \n", "174873 62.0 42.0 \n", "174874 62.0 44.0 \n", "174875 NaN NaN \n", "\n", " Air Temperature Average (degF) Precipitation Increment (in) \n", "0 NaN 0.0 \n", "1 NaN 0.0 \n", "2 NaN 0.0 \n", "3 NaN 0.2 \n", "4 NaN 0.0 \n", "... ... ... \n", "174871 49.0 NaN \n", "174872 48.0 0.0 \n", "174873 51.0 0.0 \n", "174874 52.0 0.0 \n", "174875 NaN NaN \n", "\n", "[174876 rows x 8 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 12 } ] }, { "cell_type": "markdown", "metadata": { "id": "On8sB-1TsGa_" }, "source": [ "We can see now that all the stations have their data properly labeled into a unique dataset." ] }, { "cell_type": "code", "metadata": { "id": "MtsrLrSgFPK_", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "0e288c6f-a257-4a13-9062-02b6e6ff50ed" }, "source": [ "# Get information about the dataframe\n", "\n", "CombinedDataWeather.info()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "\n", "RangeIndex: 174876 entries, 0 to 174875\n", "Data columns (total 8 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Location 174876 non-null object \n", " 1 Date 174876 non-null object \n", " 2 Snow Water Equivalent (in) Start of Day Values 173843 non-null float64\n", " 3 Precipitation Accumulation (in) Start of Day Values 173798 non-null float64\n", " 4 Air Temperature Maximum (degF) 159835 non-null float64\n", " 5 Air Temperature Minimum (degF) 159788 non-null float64\n", " 6 Air Temperature Average (degF) 160247 non-null float64\n", " 7 Precipitation Increment (in) 173777 non-null float64\n", "dtypes: float64(6), object(2)\n", "memory usage: 10.7+ MB\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "ZeW9LMN0sODl" }, "source": [ "As it was done with the avalanches data, we also need to change the date variable to datetime format." ] }, { "cell_type": "code", "metadata": { "id": "KrkAz30GFeBg", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "94378459-df51-456f-cbe6-da25ed9c1f9d" }, "source": [ "# Adjust variables types\n", "\n", "CombinedDataWeather['Date'] = pd.to_datetime(CombinedDataWeather['Date'])\n", "\n", "CombinedDataWeather.info()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "\n", "RangeIndex: 174876 entries, 0 to 174875\n", "Data columns (total 8 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Location 174876 non-null object \n", " 1 Date 174876 non-null datetime64[ns]\n", " 2 Snow Water Equivalent (in) Start of Day Values 173843 non-null float64 \n", " 3 Precipitation Accumulation (in) Start of Day Values 173798 non-null float64 \n", " 4 Air Temperature Maximum (degF) 159835 non-null float64 \n", " 5 Air Temperature Minimum (degF) 159788 non-null float64 \n", " 6 Air Temperature Average (degF) 160247 non-null float64 \n", " 7 Precipitation Increment (in) 173777 non-null float64 \n", "dtypes: datetime64[ns](1), float64(6), object(1)\n", "memory usage: 10.7+ MB\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "K3JXXea5OGNl", "colab": { "base_uri": "https://localhost:8080/", "height": 793 }, "outputId": "0082981b-8353-4aab-cc49-c602a765eb2a" }, "source": [ "CombinedDataWeather" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
LocationDateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
0Berthoud Pass1978-10-010.00.0NaNNaNNaN0.0
1Berthoud Pass1978-10-020.00.0NaNNaNNaN0.0
2Berthoud Pass1978-10-030.00.0NaNNaNNaN0.0
3Berthoud Pass1978-10-040.00.0NaNNaNNaN0.2
4Berthoud Pass1978-10-050.00.2NaNNaNNaN0.0
...........................
174871Wolf Creek pass Snotel2020-10-030.0NaN60.041.049.0NaN
174872Wolf Creek pass Snotel2020-10-040.00.059.038.048.00.0
174873Wolf Creek pass Snotel2020-10-050.00.062.042.051.00.0
174874Wolf Creek pass Snotel2020-10-060.00.062.044.052.00.0
174875Wolf Creek pass Snotel2020-10-070.00.0NaNNaNNaNNaN
\n", "

174876 rows × 8 columns

\n", "
" ], "text/plain": [ " Location Date \\\n", "0 Berthoud Pass 1978-10-01 \n", "1 Berthoud Pass 1978-10-02 \n", "2 Berthoud Pass 1978-10-03 \n", "3 Berthoud Pass 1978-10-04 \n", "4 Berthoud Pass 1978-10-05 \n", "... ... ... \n", "174871 Wolf Creek pass Snotel 2020-10-03 \n", "174872 Wolf Creek pass Snotel 2020-10-04 \n", "174873 Wolf Creek pass Snotel 2020-10-05 \n", "174874 Wolf Creek pass Snotel 2020-10-06 \n", "174875 Wolf Creek pass Snotel 2020-10-07 \n", "\n", " Snow Water Equivalent (in) Start of Day Values \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.0 \n", "... ... \n", "174871 0.0 \n", "174872 0.0 \n", "174873 0.0 \n", "174874 0.0 \n", "174875 0.0 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.2 \n", "... ... \n", "174871 NaN \n", "174872 0.0 \n", "174873 0.0 \n", "174874 0.0 \n", "174875 0.0 \n", "\n", " Air Temperature Maximum (degF) Air Temperature Minimum (degF) \\\n", "0 NaN NaN \n", "1 NaN NaN \n", "2 NaN NaN \n", "3 NaN NaN \n", "4 NaN NaN \n", "... ... ... \n", "174871 60.0 41.0 \n", "174872 59.0 38.0 \n", "174873 62.0 42.0 \n", "174874 62.0 44.0 \n", "174875 NaN NaN \n", "\n", " Air Temperature Average (degF) Precipitation Increment (in) \n", "0 NaN 0.0 \n", "1 NaN 0.0 \n", "2 NaN 0.0 \n", "3 NaN 0.2 \n", "4 NaN 0.0 \n", "... ... ... \n", "174871 49.0 NaN \n", "174872 48.0 0.0 \n", "174873 51.0 0.0 \n", "174874 52.0 0.0 \n", "174875 NaN NaN \n", "\n", "[174876 rows x 8 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 15 } ] }, { "cell_type": "markdown", "metadata": { "id": "CytvevGSt8aH" }, "source": [ "In this notebook we will average the weather data by date." ] }, { "cell_type": "code", "metadata": { "id": "sNHBcIGKJ5-V", "colab": { "base_uri": "https://localhost:8080/", "height": 606 }, "outputId": "39a3b9a2-a0bd-44af-dec6-972d28577db1" }, "source": [ "AveragedDataWeather = CombinedDataWeather.groupby(['Date']).mean().reset_index()\n", "\n", "AveragedDataWeather" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
01978-10-010.0000000.000000NaNNaNNaN0.000000
11978-10-020.0000000.000000NaNNaNNaN0.000000
21978-10-030.0000000.000000NaNNaNNaN0.000000
31978-10-040.0000000.000000NaNNaNNaN0.100000
41978-10-050.0000000.100000NaNNaNNaN0.000000
........................
153432020-10-030.0230770.00833358.00000033.69230843.8461540.000000
153442020-10-040.0307690.00769261.00000034.00000045.8461540.008333
153452020-10-050.0307690.01666760.92307735.76923146.3076920.000000
153462020-10-060.1076920.00833364.61538535.84615447.9230770.009091
153472020-10-070.0923080.018182NaNNaNNaNNaN
\n", "

15348 rows × 7 columns

\n", "
" ], "text/plain": [ " Date Snow Water Equivalent (in) Start of Day Values \\\n", "0 1978-10-01 0.000000 \n", "1 1978-10-02 0.000000 \n", "2 1978-10-03 0.000000 \n", "3 1978-10-04 0.000000 \n", "4 1978-10-05 0.000000 \n", "... ... ... \n", "15343 2020-10-03 0.023077 \n", "15344 2020-10-04 0.030769 \n", "15345 2020-10-05 0.030769 \n", "15346 2020-10-06 0.107692 \n", "15347 2020-10-07 0.092308 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "0 0.000000 \n", "1 0.000000 \n", "2 0.000000 \n", "3 0.000000 \n", "4 0.100000 \n", "... ... \n", "15343 0.008333 \n", "15344 0.007692 \n", "15345 0.016667 \n", "15346 0.008333 \n", "15347 0.018182 \n", "\n", " Air Temperature Maximum (degF) Air Temperature Minimum (degF) \\\n", "0 NaN NaN \n", "1 NaN NaN \n", "2 NaN NaN \n", "3 NaN NaN \n", "4 NaN NaN \n", "... ... ... \n", "15343 58.000000 33.692308 \n", "15344 61.000000 34.000000 \n", "15345 60.923077 35.769231 \n", "15346 64.615385 35.846154 \n", "15347 NaN NaN \n", "\n", " Air Temperature Average (degF) Precipitation Increment (in) \n", "0 NaN 0.000000 \n", "1 NaN 0.000000 \n", "2 NaN 0.000000 \n", "3 NaN 0.100000 \n", "4 NaN 0.000000 \n", "... ... ... \n", "15343 43.846154 0.000000 \n", "15344 45.846154 0.008333 \n", "15345 46.307692 0.000000 \n", "15346 47.923077 0.009091 \n", "15347 NaN NaN \n", "\n", "[15348 rows x 7 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 16 } ] }, { "cell_type": "markdown", "metadata": { "id": "ta1onB3qKZ8v" }, "source": [ "The grouping was successfully made so now we will merge that information in the avalanches dataset by using Date as the primary key to connect the datasets." ] }, { "cell_type": "code", "metadata": { "id": "I4OzjxAiOVIs", "colab": { "base_uri": "https://localhost:8080/", "height": 677 }, "outputId": "d52209a6-3242-412a-f304-5e37fafe5950" }, "source": [ "# Merge Avalanches DataFrame with Weather DataFrame\n", "\n", "# FullData = pd.merge(CombinedDataWeather, DataAvalanches[['avi_mark', 'avi_date', 'Avalanche', 'avi_number', 'avi_type']], how='left', left_on=['Location', 'Date'], right_on=['avi_mark', 'avi_date'])\n", "\n", "FullData = pd.merge(DataAvalanches[['avi_mark', 'avi_date', 'Avalanche', 'avi_number', 'avi_type']], AveragedDataWeather, how='outer', left_on='avi_date', right_on='Date')\n", "\n", "FullData.sort_values(by='Date', inplace=True)\n", "\n", "FullData" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
avi_markavi_dateAvalancheavi_numberavi_typeDateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
1499NaNNaTNaNNaNNaN1978-10-010.0000000.000000NaNNaNNaN0.000000
1500NaNNaTNaNNaNNaN1978-10-020.0000000.000000NaNNaNNaN0.000000
1501NaNNaTNaNNaNNaN1978-10-030.0000000.000000NaNNaNNaN0.000000
1502NaNNaTNaNNaNNaN1978-10-040.0000000.000000NaNNaNNaN0.100000
1503NaNNaTNaNNaNNaN1978-10-050.0000000.100000NaNNaNNaN0.000000
.......................................
16369NaNNaTNaNNaNNaN2020-10-060.1076920.00833364.61538535.84615447.9230770.009091
16370NaNNaTNaNNaNNaN2020-10-070.0923080.018182NaNNaNNaNNaN
985Hoosier PassNaTYes1.0WSNaTNaNNaNNaNNaNNaNNaN
1001Independence Pass-East side1970-01-01Yes1.0WLNaTNaNNaNNaNNaNNaNNaN
1002NaN1970-01-01Yes1.0WSNaTNaNNaNNaNNaNNaNNaN
\n", "

16371 rows × 12 columns

\n", "
" ], "text/plain": [ " avi_mark avi_date Avalanche avi_number avi_type \\\n", "1499 NaN NaT NaN NaN NaN \n", "1500 NaN NaT NaN NaN NaN \n", "1501 NaN NaT NaN NaN NaN \n", "1502 NaN NaT NaN NaN NaN \n", "1503 NaN NaT NaN NaN NaN \n", "... ... ... ... ... ... \n", "16369 NaN NaT NaN NaN NaN \n", "16370 NaN NaT NaN NaN NaN \n", "985 Hoosier Pass NaT Yes 1.0 WS \n", "1001 Independence Pass-East side 1970-01-01 Yes 1.0 WL \n", "1002 NaN 1970-01-01 Yes 1.0 WS \n", "\n", " Date Snow Water Equivalent (in) Start of Day Values \\\n", "1499 1978-10-01 0.000000 \n", "1500 1978-10-02 0.000000 \n", "1501 1978-10-03 0.000000 \n", "1502 1978-10-04 0.000000 \n", "1503 1978-10-05 0.000000 \n", "... ... ... \n", "16369 2020-10-06 0.107692 \n", "16370 2020-10-07 0.092308 \n", "985 NaT NaN \n", "1001 NaT NaN \n", "1002 NaT NaN \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "1499 0.000000 \n", "1500 0.000000 \n", "1501 0.000000 \n", "1502 0.000000 \n", "1503 0.100000 \n", "... ... \n", "16369 0.008333 \n", "16370 0.018182 \n", "985 NaN \n", "1001 NaN \n", "1002 NaN \n", "\n", " Air Temperature Maximum (degF) Air Temperature Minimum (degF) \\\n", "1499 NaN NaN \n", "1500 NaN NaN \n", "1501 NaN NaN \n", "1502 NaN NaN \n", "1503 NaN NaN \n", "... ... ... \n", "16369 64.615385 35.846154 \n", "16370 NaN NaN \n", "985 NaN NaN \n", "1001 NaN NaN \n", "1002 NaN NaN \n", "\n", " Air Temperature Average (degF) Precipitation Increment (in) \n", "1499 NaN 0.000000 \n", "1500 NaN 0.000000 \n", "1501 NaN 0.000000 \n", "1502 NaN 0.100000 \n", "1503 NaN 0.000000 \n", "... ... ... \n", "16369 47.923077 0.009091 \n", "16370 NaN NaN \n", "985 NaN NaN \n", "1001 NaN NaN \n", "1002 NaN NaN \n", "\n", "[16371 rows x 12 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 17 } ] }, { "cell_type": "markdown", "metadata": { "id": "hLwYFKBmuFlk" }, "source": [ "We can see that the new dataset appended the avalanches columns that we selected into the dataset of weather measurements. Since all occurrences of avalanches are identified with an `Yes` in the column `Avalanche` we can fill the rows with missing data with a `No`, to identify that there was not an avalanche in that date/location. Also we fill missing values with zero in the column of avalanche numbers, for the same reason." ] }, { "cell_type": "code", "metadata": { "id": "Zsg6LYohZQuF", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "ee978618-a9eb-427b-8f49-206992425921" }, "source": [ "# Fill null values of avalanche numbers and categorical\n", "\n", "FullData['Avalanche'].fillna('No', inplace=True)\n", "FullData['avi_number'].fillna(0, inplace=True)\n", "\n", "# Check information about merged dataset\n", "\n", "FullData.info()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "\n", "Int64Index: 16371 entries, 1499 to 1002\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 avi_mark 847 non-null object \n", " 1 avi_date 1498 non-null datetime64[ns]\n", " 2 Avalanche 16371 non-null object \n", " 3 avi_number 16371 non-null float64 \n", " 4 avi_type 1499 non-null object \n", " 5 Date 16368 non-null datetime64[ns]\n", " 6 Snow Water Equivalent (in) Start of Day Values 16368 non-null float64 \n", " 7 Precipitation Accumulation (in) Start of Day Values 16368 non-null float64 \n", " 8 Air Temperature Maximum (degF) 15652 non-null float64 \n", " 9 Air Temperature Minimum (degF) 15649 non-null float64 \n", " 10 Air Temperature Average (degF) 15652 non-null float64 \n", " 11 Precipitation Increment (in) 16367 non-null float64 \n", "dtypes: datetime64[ns](2), float64(7), object(3)\n", "memory usage: 1.6+ MB\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "iawByAnFukch" }, "source": [ "In the table above we can see that 1499 avalanches matched the existing data on weather for the locations that were provided.\n", "\n", "There are three avalanches entries that didn't have a date assigned for them, so we will delete those entries to avoid issues in analyzing the data." ] }, { "cell_type": "code", "metadata": { "id": "cD2Up8WjMn2B", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "727b8579-3d3e-4a36-e818-1ec8c82b57ac" }, "source": [ "FullData.dropna(subset=['Date'], inplace=True)\n", "\n", "FullData.info()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "\n", "Int64Index: 16368 entries, 1499 to 16370\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 avi_mark 845 non-null object \n", " 1 avi_date 1496 non-null datetime64[ns]\n", " 2 Avalanche 16368 non-null object \n", " 3 avi_number 16368 non-null float64 \n", " 4 avi_type 1496 non-null object \n", " 5 Date 16368 non-null datetime64[ns]\n", " 6 Snow Water Equivalent (in) Start of Day Values 16368 non-null float64 \n", " 7 Precipitation Accumulation (in) Start of Day Values 16368 non-null float64 \n", " 8 Air Temperature Maximum (degF) 15652 non-null float64 \n", " 9 Air Temperature Minimum (degF) 15649 non-null float64 \n", " 10 Air Temperature Average (degF) 15652 non-null float64 \n", " 11 Precipitation Increment (in) 16367 non-null float64 \n", "dtypes: datetime64[ns](2), float64(7), object(3)\n", "memory usage: 1.6+ MB\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "6TQe7zbQdFd_" }, "source": [ "Since the dataset is very unbalanced we can remove all data before 2014, since we don't have information about avalanches prior to that.\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "rWHAs8fYfPb2", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "6c0cab7d-365a-4cfa-a49a-cf10d4c9a94b" }, "source": [ "FullData = FullData[FullData['Date'].dt.year >= 2014]\n", "\n", "FullData.info()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "\n", "Int64Index: 3492 entries, 14375 to 16370\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 avi_mark 845 non-null object \n", " 1 avi_date 1496 non-null datetime64[ns]\n", " 2 Avalanche 3492 non-null object \n", " 3 avi_number 3492 non-null float64 \n", " 4 avi_type 1496 non-null object \n", " 5 Date 3492 non-null datetime64[ns]\n", " 6 Snow Water Equivalent (in) Start of Day Values 3492 non-null float64 \n", " 7 Precipitation Accumulation (in) Start of Day Values 3492 non-null float64 \n", " 8 Air Temperature Maximum (degF) 3491 non-null float64 \n", " 9 Air Temperature Minimum (degF) 3491 non-null float64 \n", " 10 Air Temperature Average (degF) 3491 non-null float64 \n", " 11 Precipitation Increment (in) 3491 non-null float64 \n", "dtypes: datetime64[ns](2), float64(7), object(3)\n", "memory usage: 354.7+ KB\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "3TGRt_WmvTUU" }, "source": [ "With that the pre-processing section is finished and there is a unique dataframe which we can analyze to check if the existing weather data shows correlation with avalanche occurrences." ] }, { "cell_type": "code", "metadata": { "id": "RZYlZgEuffju", "colab": { "base_uri": "https://localhost:8080/", "height": 377 }, "outputId": "d8c0ae1e-c34d-4283-9ada-8a65225608ff" }, "source": [ "FullData.head()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
avi_markavi_dateAvalancheavi_numberavi_typeDateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
14375NaNNaTNo0.0NaN2014-01-018.9230779.61538527.38461511.00000019.4615380.207692
14376NaNNaTNo0.0NaN2014-01-029.1461549.82307736.07692311.23076921.6153850.046154
14377NaNNaTNo0.0NaN2014-01-039.1769239.86923137.30769216.07692325.6923080.023077
14378NaNNaTNo0.0NaN2014-01-049.2384629.89230826.153846-2.23076912.3076920.161538
14379NaNNaTNo0.0NaN2014-01-059.50000010.0538467.153846-5.0769230.3846150.069231
\n", "
" ], "text/plain": [ " avi_mark avi_date Avalanche avi_number avi_type Date \\\n", "14375 NaN NaT No 0.0 NaN 2014-01-01 \n", "14376 NaN NaT No 0.0 NaN 2014-01-02 \n", "14377 NaN NaT No 0.0 NaN 2014-01-03 \n", "14378 NaN NaT No 0.0 NaN 2014-01-04 \n", "14379 NaN NaT No 0.0 NaN 2014-01-05 \n", "\n", " Snow Water Equivalent (in) Start of Day Values \\\n", "14375 8.923077 \n", "14376 9.146154 \n", "14377 9.176923 \n", "14378 9.238462 \n", "14379 9.500000 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "14375 9.615385 \n", "14376 9.823077 \n", "14377 9.869231 \n", "14378 9.892308 \n", "14379 10.053846 \n", "\n", " Air Temperature Maximum (degF) Air Temperature Minimum (degF) \\\n", "14375 27.384615 11.000000 \n", "14376 36.076923 11.230769 \n", "14377 37.307692 16.076923 \n", "14378 26.153846 -2.230769 \n", "14379 7.153846 -5.076923 \n", "\n", " Air Temperature Average (degF) Precipitation Increment (in) \n", "14375 19.461538 0.207692 \n", "14376 21.615385 0.046154 \n", "14377 25.692308 0.023077 \n", "14378 12.307692 0.161538 \n", "14379 0.384615 0.069231 " ] }, "metadata": { "tags": [] }, "execution_count": 21 } ] }, { "cell_type": "markdown", "metadata": { "id": "_60H9-nT2bxZ" }, "source": [ "## Methods for Analyzing Data" ] }, { "cell_type": "markdown", "metadata": { "id": "htwpYkVr3DHd" }, "source": [ "### Practical Analysis" ] }, { "cell_type": "markdown", "metadata": { "id": "bVVopWUN3J_X" }, "source": [ "For Practical Analysis, we look into Time Series Plots, Distribution Plots, and Distribution Plots by Avalanche Type to identify a relationship between avalanche occurrences and the weather. We look at descriptive statistics information about the data, compared time with different weather variables, and weather variables with the avalanche count. Then we did something similar, but with types of avalanches." ] }, { "cell_type": "markdown", "metadata": { "id": "FgkGe1kU3RjH" }, "source": [ "### Linear Regression" ] }, { "cell_type": "markdown", "metadata": { "id": "xpvKS9E-3XHB" }, "source": [ "Linear regression was something that we attempted to use in order to determine if there was a direct correlation between each weather variable and the occurence of avalanches. Linear regression requires a set of independent variables, x, and a dependent variable, y, to determine if there is a linear relationship between them. If there is a linear relationship, it can be used to predict the future occurence of the dependent variable. In this scenario, the variable 'avi_number' is the dependent variable that we are attempting to predict, and the weather variables, 'Snow Water Equivalent (in) Start of Day Values', 'Precipitation Accumulation (in) Start of Day Values',\t'Air Temperature Average (degF)',\t'Air Temperature Maximum (degF)',\t'Air Temperature Minimum (degF)',\tand 'Precipitation Increment' were each used as the various independent variables. \n", "\n", "We used the [NumPy](https://numpy.org) and [skicit-learn](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html) packages in order to implement linear regression. We manipulated the 'avi_number' data in multiple ways to search for an R2 score that would be significant enough for us to pursue linear regression, and based off our findings, decided it was not an appropriate method for calculating correlation. \n" ] }, { "cell_type": "markdown", "metadata": { "id": "TQ_7vtHyJ7il" }, "source": [ "### Logistic Regression" ] }, { "cell_type": "markdown", "metadata": { "id": "Hp9QxcQCKQFO" }, "source": [ "Logistic regression was a model that we wanted to look into further because it utilizes avalanche count as a binary variable (0 for no avalanche/1 for an avalanche occurence). This is ideal because we are trying to predict the occurence of an avalanche under different weather variables. \n", "\n", "We used the [scikit-learn](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) package to implement logistic regression. The variable 'AvCount' was created as our binary dependent variable because we are trying to predict it. The highest accuracy model was generated when we used all of the available weather variables, 'Snow Water Equivalent (in) Start of Day Values', 'Precipitation Accumulation (in) Start of Day Values',\t'Air Temperature Average (degF)',\t'Air Temperature Maximum (degF)',\t'Air Temperature Minimum (degF)',\tand 'Precipitation Increment'. More information about the logistic regression model that we implemented is available [here](https://www.datacamp.com/community/tutorials/understanding-logistic-regression-python).\n", "\n", "This method of logistic regression differs from the logistic regression model in the machine learning portion of our results. That model is generated using PyCaret which a machine learning library and doesn't require as much code to run and concludes the most important predictors without intervention from the coder." ] }, { "cell_type": "markdown", "metadata": { "id": "_TnoMwNF27DO" }, "source": [ "### Machine Learning" ] }, { "cell_type": "markdown", "metadata": { "id": "Up35Eaxz2Xw9" }, "source": [ "We used PyCaret which is an open-source, low-code machine learning library in Python. It allows us to check the accuracy of multiple methods at ones. The methods included are both categorical and regression. From there we took the columns Avalanche, Snow Water Equivalent, Precipitation Accumilation, Air Temperature Maximum, Ait Temperature Minimum, Air Temperature Average, and Precipitation Increment. Then we set up our target to be Avalanche where No became 0 and Yes became 1. It then shows you defaults like the [fold number](https://www.openml.org/a/estimation-procedus/7), which is the original sample is randomly partitioned into k equal size subsamples for training and testing. Its default for testing and training is 70:30. Once that step is done, you compare models and it shows you the accuracy from highest to lowest. We then took three models from different accuracies, but still high, they were Cat Boost, extreme Gradient Boost, and Logistic Regression. We then tuned each model, evaluated it using a [Confusion Matrix](https://pycaret.org/plot-model/), and included a portion where it plots a Feature Importance Plot and a heat map." ] }, { "cell_type": "markdown", "metadata": { "id": "DUy3OgBc0iEX" }, "source": [ "# Results and Discussion" ] }, { "cell_type": "markdown", "metadata": { "id": "XlEmNMGMCq4R" }, "source": [ "## Practical Analysis\n", "\n", "In the practical analysis we will use statistical and graphical techniques to see if we can identify a relationship between avalanche occurrences and the weather.\n", "\n", "First we start checking descriptive statistics information about the data, to see if there is anything strange and get a sense of the distribution of the data." ] }, { "cell_type": "code", "metadata": { "id": "NkcKvVbMCgwI", "colab": { "base_uri": "https://localhost:8080/", "height": 266 }, "outputId": "d2a54573-c1c9-4111-bf01-c3c5e650bf73" }, "source": [ "# Descriptive Statistics of numerical variables\n", "\n", "FullData.describe().transpose()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countmeanstdmin25%50%75%max
avi_number3492.00.9951322.8369680.0000000.0000000.0000001.000000100.000000
Snow Water Equivalent (in) Start of Day Values3492.010.6476528.8902740.0000000.22307711.04230818.06346228.484615
Precipitation Accumulation (in) Start of Day Values3492.019.5117239.6307220.00000013.29230819.67692326.45000039.138462
Air Temperature Maximum (degF)3491.048.18943312.8887597.15384639.61538548.23076957.76923175.153846
Air Temperature Minimum (degF)3491.026.27673412.210477-13.84615418.30769226.91666735.53846248.923077
Air Temperature Average (degF)3491.036.07847112.131301-1.84615427.88461536.23076945.61538560.230769
Precipitation Increment (in)3491.00.0926660.1482130.0000000.0076920.0384620.1076921.523077
\n", "
" ], "text/plain": [ " count mean \\\n", "avi_number 3492.0 0.995132 \n", "Snow Water Equivalent (in) Start of Day Values 3492.0 10.647652 \n", "Precipitation Accumulation (in) Start of Day Va... 3492.0 19.511723 \n", "Air Temperature Maximum (degF) 3491.0 48.189433 \n", "Air Temperature Minimum (degF) 3491.0 26.276734 \n", "Air Temperature Average (degF) 3491.0 36.078471 \n", "Precipitation Increment (in) 3491.0 0.092666 \n", "\n", " std min \\\n", "avi_number 2.836968 0.000000 \n", "Snow Water Equivalent (in) Start of Day Values 8.890274 0.000000 \n", "Precipitation Accumulation (in) Start of Day Va... 9.630722 0.000000 \n", "Air Temperature Maximum (degF) 12.888759 7.153846 \n", "Air Temperature Minimum (degF) 12.210477 -13.846154 \n", "Air Temperature Average (degF) 12.131301 -1.846154 \n", "Precipitation Increment (in) 0.148213 0.000000 \n", "\n", " 25% 50% \\\n", "avi_number 0.000000 0.000000 \n", "Snow Water Equivalent (in) Start of Day Values 0.223077 11.042308 \n", "Precipitation Accumulation (in) Start of Day Va... 13.292308 19.676923 \n", "Air Temperature Maximum (degF) 39.615385 48.230769 \n", "Air Temperature Minimum (degF) 18.307692 26.916667 \n", "Air Temperature Average (degF) 27.884615 36.230769 \n", "Precipitation Increment (in) 0.007692 0.038462 \n", "\n", " 75% max \n", "avi_number 1.000000 100.000000 \n", "Snow Water Equivalent (in) Start of Day Values 18.063462 28.484615 \n", "Precipitation Accumulation (in) Start of Day Va... 26.450000 39.138462 \n", "Air Temperature Maximum (degF) 57.769231 75.153846 \n", "Air Temperature Minimum (degF) 35.538462 48.923077 \n", "Air Temperature Average (degF) 45.615385 60.230769 \n", "Precipitation Increment (in) 0.107692 1.523077 " ] }, "metadata": { "tags": [] }, "execution_count": 22 } ] }, { "cell_type": "markdown", "metadata": { "id": "91UBVOGPv385" }, "source": [ "Despite the wide temperature distribution existing in the data, there are no signs of anomalies in the measurement that should be removed from the dataset. Let's also check some information about the categorical variables below." ] }, { "cell_type": "code", "metadata": { "id": "jOHObO95C0km", "colab": { "base_uri": "https://localhost:8080/", "height": 142 }, "outputId": "a033d4ed-f21c-459a-e8ac-b5b17b5eddd2" }, "source": [ "# Descriptive Statistics of categorical variables\n", "\n", "FullData.describe(include='O').transpose()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countuniquetopfreq
avi_mark84594-1124
Avalanche34922No1996
avi_type14962WL1009
\n", "
" ], "text/plain": [ " count unique top freq\n", "avi_mark 845 94 -1 124\n", "Avalanche 3492 2 No 1996\n", "avi_type 1496 2 WL 1009" ] }, "metadata": { "tags": [] }, "execution_count": 23 } ] }, { "cell_type": "markdown", "metadata": { "id": "hIG0WGkNwPsE" }, "source": [ "We can see that the Wet Loose avalanches represent more than two thirds of all avalanches between 2014 and today. Also the dataset seems well balanced between occurences of avalanches.\n", "\n", "Let's check some time series plots about the weather and avalanches." ] }, { "cell_type": "markdown", "metadata": { "id": "IpOpzDYcFFol" }, "source": [ "### Time Series Plots" ] }, { "cell_type": "code", "metadata": { "id": "ep2bDTEmnABr", "colab": { "base_uri": "https://localhost:8080/", "height": 323 }, "outputId": "6bf9c4f3-8f59-4197-f133-157fa37952bf" }, "source": [ "# Group data by date to improve plot quality\n", "\n", "GroupedData = FullData.groupby('Date').agg({'Snow Water Equivalent (in) Start of Day Values':'mean',\n", " 'Precipitation Accumulation (in) Start of Day Values':'mean',\n", " 'Air Temperature Average (degF)':'mean', \n", " 'Air Temperature Maximum (degF)':'mean', \n", " 'Air Temperature Minimum (degF)':'mean',\n", " 'Precipitation Increment (in)':'mean',\n", " 'avi_number':'sum'}).reset_index()\n", "\n", "GroupedData.head()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Average (degF)Air Temperature Maximum (degF)Air Temperature Minimum (degF)Precipitation Increment (in)avi_number
02014-01-018.9230779.61538519.46153827.38461511.0000000.2076920.0
12014-01-029.1461549.82307721.61538536.07692311.2307690.0461540.0
22014-01-039.1769239.86923125.69230837.30769216.0769230.0230770.0
32014-01-049.2384629.89230812.30769226.153846-2.2307690.1615380.0
42014-01-059.50000010.0538460.3846157.153846-5.0769230.0692310.0
\n", "
" ], "text/plain": [ " Date Snow Water Equivalent (in) Start of Day Values \\\n", "0 2014-01-01 8.923077 \n", "1 2014-01-02 9.146154 \n", "2 2014-01-03 9.176923 \n", "3 2014-01-04 9.238462 \n", "4 2014-01-05 9.500000 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "0 9.615385 \n", "1 9.823077 \n", "2 9.869231 \n", "3 9.892308 \n", "4 10.053846 \n", "\n", " Air Temperature Average (degF) Air Temperature Maximum (degF) \\\n", "0 19.461538 27.384615 \n", "1 21.615385 36.076923 \n", "2 25.692308 37.307692 \n", "3 12.307692 26.153846 \n", "4 0.384615 7.153846 \n", "\n", " Air Temperature Minimum (degF) Precipitation Increment (in) avi_number \n", "0 11.000000 0.207692 0.0 \n", "1 11.230769 0.046154 0.0 \n", "2 16.076923 0.023077 0.0 \n", "3 -2.230769 0.161538 0.0 \n", "4 -5.076923 0.069231 0.0 " ] }, "metadata": { "tags": [] }, "execution_count": 24 } ] }, { "cell_type": "code", "metadata": { "id": "D61qH2wA5ZMG", "colab": { "base_uri": "https://localhost:8080/", "height": 340 }, "outputId": "e6f86842-83dd-4705-e190-7b7094218946" }, "source": [ "d=GroupedData['Date']\n", "GroupedData.insert(1,'Year',d.dt.year)\n", "GroupedData.insert(2,'Day of Year',d.dt.dayofyear)\n", "del d\n", "GroupedData.head()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateYearDay of YearSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Average (degF)Air Temperature Maximum (degF)Air Temperature Minimum (degF)Precipitation Increment (in)avi_number
02014-01-01201418.9230779.61538519.46153827.38461511.0000000.2076920.0
12014-01-02201429.1461549.82307721.61538536.07692311.2307690.0461540.0
22014-01-03201439.1769239.86923125.69230837.30769216.0769230.0230770.0
32014-01-04201449.2384629.89230812.30769226.153846-2.2307690.1615380.0
42014-01-05201459.50000010.0538460.3846157.153846-5.0769230.0692310.0
\n", "
" ], "text/plain": [ " Date Year Day of Year \\\n", "0 2014-01-01 2014 1 \n", "1 2014-01-02 2014 2 \n", "2 2014-01-03 2014 3 \n", "3 2014-01-04 2014 4 \n", "4 2014-01-05 2014 5 \n", "\n", " Snow Water Equivalent (in) Start of Day Values \\\n", "0 8.923077 \n", "1 9.146154 \n", "2 9.176923 \n", "3 9.238462 \n", "4 9.500000 \n", "\n", " Precipitation Accumulation (in) Start of Day Values \\\n", "0 9.615385 \n", "1 9.823077 \n", "2 9.869231 \n", "3 9.892308 \n", "4 10.053846 \n", "\n", " Air Temperature Average (degF) Air Temperature Maximum (degF) \\\n", "0 19.461538 27.384615 \n", "1 21.615385 36.076923 \n", "2 25.692308 37.307692 \n", "3 12.307692 26.153846 \n", "4 0.384615 7.153846 \n", "\n", " Air Temperature Minimum (degF) Precipitation Increment (in) avi_number \n", "0 11.000000 0.207692 0.0 \n", "1 11.230769 0.046154 0.0 \n", "2 16.076923 0.023077 0.0 \n", "3 -2.230769 0.161538 0.0 \n", "4 -5.076923 0.069231 0.0 " ] }, "metadata": { "tags": [] }, "execution_count": 25 } ] }, { "cell_type": "code", "metadata": { "id": "1SBlsk8T5awK", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "17c9a1da-8ce5-4c32-a3fe-c245bdc6fdc7" }, "source": [ "# Create time series subplots\n", "xKey='Date' # for all years end-to-end along axis (not tested)\n", "xKey='Day of Year' # for all years superposed\n", "yKeys=('Snow Water Equivalent (in) Start of Day Values',\n", " 'Precipitation Accumulation (in) Start of Day Values',\n", " 'Air Temperature Average (degF)',\n", " 'Air Temperature Minimum (degF)',\n", " 'Air Temperature Maximum (degF)',\n", " 'Precipitation Increment (in)')\n", "fig = make_subplots(rows=6, \n", " cols=1,\n", " subplot_titles=yKeys)\n", "for row in range(1,len(yKeys)+1) :\n", " fig.add_trace(\n", " go.Scatter(x=GroupedData[xKey],\n", " y=GroupedData[yKeys[row - 1]],\n", " marker=dict(color=GroupedData['Year'],\n", " showscale=True,\n", " size=4),\n", " mode='markers'),\n", " row=row,\n", " col=1)\n", "fig.update_layout(height=1800, \n", " width=800, \n", " showlegend=False,\n", " title_text=\"Weather Data by \" + xKey)\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "CjCgK0GMR6WY", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "fe9d674a-8b2f-4173-a227-a7cf97de7170" }, "source": [ "# Create time series subplots\n", "\n", "fig = make_subplots(rows=6, \n", " cols=1,\n", " subplot_titles=('Snow Water Equivalent (in) Start of Day Values',\n", " 'Precipitation Accumulation (in) Start of Day Values',\n", " 'Air Temperature Average (degF)',\n", " 'Air Temperature Minimum (degF)',\n", " 'Air Temperature Maximum (degF)',\n", " 'Precipitation Increment (in)'))\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Snow Water Equivalent (in) Start of Day Values']),\n", " row=1,\n", " col=1)\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Precipitation Accumulation (in) Start of Day Values']),\n", " row=2,\n", " col=1)\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Air Temperature Average (degF)']),\n", " row=3,\n", " col=1)\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Air Temperature Minimum (degF)']),\n", " row=4,\n", " col=1)\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Air Temperature Maximum (degF)']),\n", " row=5,\n", " col=1)\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'],\n", " y=GroupedData['Precipitation Increment (in)']),\n", " row=6,\n", " col=1)\n", "\n", "fig.update_layout(height=1800, \n", " width=800, \n", " showlegend=False,\n", " title_text=\"Weather Data by Date\")\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "L8YVkZ3OkhrA", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "ba98234e-ea6e-477f-a5b2-fae36b8e5109" }, "source": [ "# Create figure with secondary y-axis\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", "\n", "# Add traces\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Air Temperature Average (degF)'], name=\"Average Temperature\"),\n", " secondary_y=False,\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], mode='markers', name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", ")\n", "\n", "# Add figure title\n", "fig.update_layout(\n", " title_text=\"2-Axis Plot (Air Temperature Average)\"\n", ")\n", "\n", "# Set x-axis title\n", "fig.update_xaxes(title_text=\"Date\")\n", "\n", "# Set y-axes titles\n", "fig.update_yaxes(title_text=\"Air Temperature Average (degF)\", secondary_y=False)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True)\n", "\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "BB4ynOxtiIBq" }, "source": [ "By looking at the time series data we can identify a pattern. It seems that most avalanches happen when temperatures are rising. This makes a lot of sense because it is when there is most snow in the mountains, and with the increase in temperature this snow starts to melt. Once it is all melted there is not enough snow to generate an avalanche.\n", "\n", "By having those initial insights we can look more in details to each one of the weather variables measured, and see if it is correlated with avalanche occurrences. To do that we can create a distribution plot and split the data from the days when there was an avalanche and when there wasn't, to compare the distributions." ] }, { "cell_type": "code", "metadata": { "id": "g9hyQ6k-xL4Z", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "06b92ff1-c693-420b-a0f6-3c21f6030223" }, "source": [ "# Create figure with secondary y-axis\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", "\n", "# Add traces\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Precipitation Accumulation (in) Start of Day Values'], name=\"Precipitation Accumulation\"),\n", " secondary_y=False, \n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'],mode= 'markers', name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", ")\n", "\n", "# Add figure title\n", "fig.update_layout(\n", " title_text=\"2-Axis Plot (Precipitation Accumulation)\"\n", ")\n", "\n", "# Set x-axis title\n", "fig.update_xaxes(title_text=\"Date\")\n", "\n", "# Set y-axes titles\n", "fig.update_yaxes(title_text=\"Precipitation Accumulation\", secondary_y=False)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True)\n", "\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "oKniRvV820Jr", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "40c02599-a17f-4e89-9e76-36395df57bb8" }, "source": [ "# Create figure with secondary y-axis\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", "\n", "# Add traces\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Snow Water Equivalent (in) Start of Day Values'], name=\"Snow Water Equivalent\"),\n", " secondary_y=False, \n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'],mode= 'markers', name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", ")\n", "\n", "# Add figure title\n", "fig.update_layout(\n", " title_text=\"2-Axis Plot (Snow Water Equivalent (in))\"\n", ")\n", "\n", "# Set x-axis title\n", "fig.update_xaxes(title_text=\"Date\")\n", "\n", "# Set y-axes titles\n", "fig.update_yaxes(title_text=\"Snow Water Equivalent (in)\", secondary_y=False)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True)\n", "\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "rkjYLbzEPk0v", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "95afc75b-ab25-4b7a-e0c5-a54d684c34e0" }, "source": [ "# Create subplots of dual axis plots\n", "\n", "# Create figure with secondary y-axis\n", "fig = make_subplots(rows=6, \n", " cols=1, \n", " specs=[[{\"secondary_y\": True}], \n", " [{\"secondary_y\": True}], \n", " [{\"secondary_y\": True}], \n", " [{\"secondary_y\": True}], \n", " [{\"secondary_y\": True}], \n", " [{\"secondary_y\": True}]])\n", "\n", "# Add traces for plot (1,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Air Temperature Average (degF)'], name=\"Average Temperature\"), \n", " secondary_y=False,\n", " row=1,\n", " col=1\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=1,\n", " col=1\n", ")\n", "\n", "# Add traces for plot (2,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Air Temperature Minimum (degF)'], name=\"Minimum Temperature\"),\n", " secondary_y=False,\n", " row=2,\n", " col=1, \n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=2,\n", " col=1\n", ")\n", "\n", "# Add traces for plot (3,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Air Temperature Maximum (degF)'], name=\"Maximum Temperature\"),\n", " secondary_y=False,\n", " row=3,\n", " col=1\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=3,\n", " col=1\n", ")\n", "\n", "# Add traces for plot (4,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Precipitation Increment (in)'], name=\"Precipitation Increment (in)\"),\n", " secondary_y=False,\n", " row=4,\n", " col=1\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=4,\n", " col=1\n", ")\n", "\n", "# Add traces for plot (5,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Precipitation Accumulation (in) Start of Day Values'], name='Precipitation Accumulation (in) Start of Day Values'),\n", " secondary_y=False,\n", " row=5,\n", " col=1\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=5,\n", " col=1\n", ")\n", "\n", "# Add traces for plot (6,1)\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['Snow Water Equivalent (in) Start of Day Values'], name='Snow Water Equivalent (in) Start of Day Values'),\n", " secondary_y=False,\n", " row=6,\n", " col=1\n", ")\n", "\n", "fig.add_trace(\n", " go.Scatter(x=GroupedData['Date'], y=GroupedData['avi_number'], name=\"Number of Avalanches\"),\n", " secondary_y=True,\n", " row=6,\n", " col=1\n", ")\n", "\n", "# Add figure title\n", "fig.update_layout(height=2500, \n", " width=800, \n", " showlegend=False,\n", " title_text=\"Weather and Number of Avalanches by Date\")\n", "\n", "# Set x-axis title\n", "fig.update_xaxes(title_text=\"Date\")\n", "\n", "# Set y-axes titles\n", "fig.update_yaxes(title_text=\"Air Temperature Average (degF)\", secondary_y=False, row=1, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=1, col=1)\n", "\n", "fig.update_yaxes(title_text=\"Air Temperature Minimum (degF)\", secondary_y=False, row=2, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=2, col=1)\n", "\n", "fig.update_yaxes(title_text=\"Air Temperature Maximum (degF)\", secondary_y=False, row=3, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=3, col=1)\n", "\n", "fig.update_yaxes(title_text=\"Precipitation Increment (in)\", secondary_y=False, row=4, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=4, col=1)\n", "\n", "fig.update_yaxes(title_text='Precipitation Accumulation (in) Start of Day Values', secondary_y=False, row=5, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=5, col=1)\n", "\n", "fig.update_yaxes(title_text='Snow Water Equivalent (in) Start of Day Values', secondary_y=False, row=6, col=1)\n", "fig.update_yaxes(title_text=\"Number of Avalanches\", secondary_y=True, row=6, col=1)\n", "\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "mTB6FnJmFLih" }, "source": [ "### Distribution Plots" ] }, { "cell_type": "code", "metadata": { "id": "rdZwGlCJaEwt", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "81be61dc-8451-470d-efb8-e8df8467dfd1" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Avalanche',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "8u8d27gNDSNj", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "18b1a126-8308-465a-a85b-c768820baa72" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Snow Water Equivalent (in) Start of Day Values',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "Aq9q3YcSf_Xq" }, "source": [ "We can clearly see that there is a significant difference between the results of days when there was an avalanche and of then there was none and that it should be detected by a prediction model.\n", "\n", "Now adding some critical thinking on those results, it is important to remember that the data that is being used is an average of all locations, and not the measurement in the specific location where the avalanche happened. So it is better to read the results as the relations between weather data and any incidence of avalanche.\n", "\n", "Also we saw that spring months are definitely the ones with most avalanche (probably because the snow is melting). If there is a relation between the season and the snow water equivalent results, it is possible that the results that we are seeing are not directly correlated, but are correlated by a third variable. But in this specific case there is a natural theorical explanation that when there is more snow, there is a higher instability in the mountains that can lead to avalanches.\n", "\n", "More details on Snow Water Equivalent:\n", "[Link](https://www.nrcs.usda.gov/wps/portal/nrcs/detail/null/?cid=nrcseprd1314833)" ] }, { "cell_type": "code", "metadata": { "id": "radcs6OkDTW5", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "77d125ff-6deb-4223-b457-e7a39e1309e0" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Precipitation Accumulation (in) Start of Day Values',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "gzhhmD5iDULl", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "7738d232-dd98-4949-a97f-84ce9f0f337f" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Air Temperature Maximum (degF)',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "Oid-oBpyDU1j", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "ed8168f5-fb49-4580-b65f-99f132c71d9c" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Air Temperature Minimum (degF)',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "KNlTAK64DViE", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "61a0ceff-bc96-4f4d-8660-c3d71764eff1" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Air Temperature Average (degF)',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "nUDs__nKEWvr", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "7e707041-0ba7-4e1f-ec75-4aa29e952e47" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(FullData,\n", " x='Precipitation Increment (in)',\n", " color='Avalanche',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "Pz0Tht-XDZJk" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "\n", "#variable = 'Air Temperature Average (degF)' #@param ['Location', 'Date', 'Snow Water Equivalent (in) Start of Day Values','Precipitation Accumulation (in) Start of Day Values','Air Temperature Maximum (degF)', 'Air Temperature Minimum (degF)','Air Temperature Average (degF)', 'Precipitation Increment (in)','avi_mark', 'avi_date', 'Avalanche', 'avi_number']\n", "\n", "#px.histogram(FullData,\n", " # color='Avalanche',\n", " # marginal='box')" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "_knMW2QcxBo5" }, "source": [ "We can also look for patterns related to the different types of avalanches, Wet Slab and Wet Loose, using the same method." ] }, { "cell_type": "markdown", "metadata": { "id": "nb69Rs2lHuLr" }, "source": [ "### Distribution Plots by Avalanche Type" ] }, { "cell_type": "code", "metadata": { "id": "K0w15aIDFZw5" }, "source": [ "# Filter Data to check results in which there was an avalanche\n", "\n", "AvalanchesOnly = FullData[FullData['Avalanche'] == 'Yes']\n" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "mL9yofXFHd9N", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "1aa31e1d-bdd0-4a6a-d31c-dfdbe38193ee" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='avi_type',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "S3wtz0EwFtYN", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "89abccc9-1db6-4ff6-e4da-4a779e80869c" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Snow Water Equivalent (in) Start of Day Values',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "i_di62CvFucE", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "0c472554-4312-49d5-cfa3-5750ed5c8694" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Precipitation Accumulation (in) Start of Day Values',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "WyugyM0oFvmr", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "c8591098-ebee-4464-94f4-31bca60edfd1" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Air Temperature Maximum (degF)',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "afunb8D_FwMx", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "5ce444d0-3903-4ba0-b6d3-00748cf14faf" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Air Temperature Minimum (degF)',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "9bcKMTo5Fu--", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "c9863a9f-0228-4e9c-edbe-a8c63ef4ca40" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Air Temperature Average (degF)',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "1GUjbvffFt_x", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "e6303e85-f379-4129-cc6a-80a0a792e5cc" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "px.histogram(AvalanchesOnly,\n", " x='Precipitation Increment (in)',\n", " color='avi_type',\n", " marginal='box')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "88-PF426iF4Q", "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "outputId": "fab497e6-adce-4acd-9768-797c431b4c6b" }, "source": [ "# Create histogram / distribution visualization for the different variables\n", "\n", "variable = 'Air Temperature Average (degF)' #@param ['Location', 'Date', 'Snow Water Equivalent (in) Start of Day Values','Precipitation Accumulation (in) Start of Day Values','Air Temperature Maximum (degF)', 'Air Temperature Minimum (degF)','Air Temperature Average (degF)', 'Precipitation Increment (in)','avi_mark', 'avi_date', 'Avalanche', 'avi_number']\n", "\n", "fig = px.histogram(AvalanchesOnly,\n", " x=variable,\n", " color='avi_type',\n", " marginal='box')\n", "\n", "fig.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", " \n", " \n", " \n", "
\n", " \n", "
\n", "\n", "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "WN461FtJz_EY" }, "source": [ "Here there weren't many big differences in the measured variables' distribution. The one specific observation is that it seems that Wet Slab avalanches has a slightly higher median for the Minimum, Maximum and Average temperatures than the Wet Loose ones. It is possible to test that difference in the medians or means to understand if that is statistically significant.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "fHmyv-a_IaDb" }, "source": [ "## Linear Regression" ] }, { "cell_type": "markdown", "metadata": { "id": "LwJ2u9-tMufH" }, "source": [ "The following code shows our implementation of linear regression and why it did not work. The 'avi_number' data was our biggest obstacle because of how sparse the data was. Multiple attempts were made in order to account for this sparseness; however, none of them generated on R^2 score that we felt was satisfactory enough to continue working on linear regression." ] }, { "cell_type": "code", "metadata": { "id": "qQw4-UBtPaF1" }, "source": [ "#Creating a copy of the data without null values\n", "NoNullGroupedData = GroupedData.dropna()" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "IRpndxuw8OZY" }, "source": [ "This is the first attempt to test for a correlation between the weather variable, Snow Water Equivalent, and avalanche count. This attempt uses the data as is, with no adjustments made to avalanche count. " ] }, { "cell_type": "code", "metadata": { "id": "LCopvMBTMC3P", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "04c80476-90a9-4932-c654-57fc19501db9" }, "source": [ "#creating our x and y variables \n", "x1 = NoNullGroupedData.iloc[:,[3]].values.reshape(-1, 1) #Snow Water Equivalent\n", "y1 = NoNullGroupedData.iloc[:,[9]].values.reshape(-1, 1) #avi_number\n", "\n", "# Model initialization\n", "regression_model_one = LinearRegression()\n", "# Fit the data(train the model)\n", "regression_model_one.fit(x1, y1)\n", "#Calculate and print R2 score\n", "r_sq_one = regression_model_one.score(x1,y1)\n", "print('R2 score: ', r_sq_one)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "R2 score: 0.07665051806996348\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "FTS9kudU9hBT" }, "source": [ "Ideally, the R2 score should be as close to 1 as possible. The low R2 score shows that the data, in this form, does not capture the relationship between Snow Water Equivalence and the occurence of avalanches\n" ] }, { "cell_type": "markdown", "metadata": { "id": "poAdVJ0Y9t1y" }, "source": [ "This is the second attempt to test for a correlation between the weather variable, Snow Water Equivalent, and avalanche count. In this attempt, we made avalanche count a binary variable (0 for no/1 for yes).\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "B70zHsTz99B6" }, "source": [ "#making new column for avalanche data as a binary count\n", "NoNullGroupedData.loc[NoNullGroupedData['avi_number'] == 0, 'AvCount'] = 0 \n", "NoNullGroupedData.loc[NoNullGroupedData['avi_number'] >= 1, 'AvCount'] = 1" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "qVxAiSEP-EL4", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "dafeaa28-31f9-47b5-cee7-27691a529a98" }, "source": [ "#creating our x and y variables \n", "x2 = NoNullGroupedData.iloc[:,[3]].values.reshape(-1, 1) #Snow Water Equivalent\n", "y2 = NoNullGroupedData.iloc[:,[10]].values.reshape(-1, 1) #AvCount\n", "\n", "# Model initialization\n", "regression_model_two = LinearRegression()\n", "# Fit the data(train the model)\n", "regression_model_two.fit(x2, y2)\n", "#Calculate and print R2 score\n", "r_sq_two = regression_model_two.score(x2,y2)\n", "print('R2 score: ', r_sq_two)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "R2 score: 0.2755908525407361\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "KDMVno-t-8kG" }, "source": [ "The R2 score generated is helpful in understanding there is a relationship between 'Snow Water Equivalent' and the occurence of an avalalanche. However, it is not significant enough for us to pursue it further. " ] }, { "cell_type": "markdown", "metadata": { "id": "ptrRGkS4HRtD" }, "source": [ "This is the third attempt to test for a correlation between the weather variable, Snow Water Equivalent, and avalanche count. In this attempt, we removed all of the months after May because the majority of avalanches occur at this time. We also could have included the months November and December; however, the smaller sample worked just as well." ] }, { "cell_type": "code", "metadata": { "id": "y9vLT4FqAc7a" }, "source": [ "#Only including data between January and May\n", "NoNullGroupedData = NoNullGroupedData[NoNullGroupedData['Date'].dt.month <= 5]" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "gspRoMiLAeaX", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "db5c7569-9491-45de-c48c-811ceca37c9a" }, "source": [ "#creating our x and y variables \n", "x3 = NoNullGroupedData.iloc[:,[3]].values.reshape(-1, 1) #Snow Water Equivalent\n", "y3 = NoNullGroupedData.iloc[:,[9]].values.reshape(-1, 1) #avi_number\n", "\n", "# Model initialization\n", "regression_model_three = LinearRegression()\n", "# Fit the data(train the model)\n", "regression_model_three.fit(x3, y3)\n", "#Calculate and print R2 score\n", "r_sq_three = regression_model_three.score(x3,y3)\n", "print('R2 score: ', r_sq_three)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "R2 score: 0.020505479899889267\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "ipg2zqGsAtbp" }, "source": [ "The low R2 score shows that the data, in this form, does not capture the relationship between Snow Water Equivalence and the occurence of avalanches" ] }, { "cell_type": "markdown", "metadata": { "id": "dpR53Y7UFXpv" }, "source": [ "## Logistic Regression" ] }, { "cell_type": "code", "metadata": { "id": "tJjQRl7TZC-m", "colab": { "base_uri": "https://localhost:8080/", "height": 296 }, "outputId": "9ba78ab4-ae39-44f8-bbfc-38d9659e2cc8" }, "source": [ "#split dataset in features and target variable\n", "X = NoNullGroupedData[['Day of Year',\n", " 'Snow Water Equivalent (in) Start of Day Values', \n", " 'Precipitation Accumulation (in) Start of Day Values',\n", " 'Precipitation Increment (in)',\n", " 'Air Temperature Average (degF)',\n", " 'Air Temperature Maximum (degF)',\n", " 'Air Temperature Minimum (degF)']]\n", "y = NoNullGroupedData['AvCount']\n", "\n", "#splitting data into a testing set and training set\n", "X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=0)\n", "\n", "#creating an instance of the logistic regression model and fitting it with data\n", "logistic_regression= LogisticRegression()\n", "logistic_regression.fit(X_train,y_train)\n", "y_pred=logistic_regression.predict(X_test)\n", "\n", "#confusion matrix used to visualize the predictions\n", "confusion_matrix = pd.crosstab(y_test, y_pred, rownames=['Actual'], colnames=['Predicted'])\n", "sn.heatmap(confusion_matrix, annot=True, fmt='g')\n", "\n", "#displaying the confusion matrix and accuracy of the model\n", "print('Accuracy: ',metrics.accuracy_score(y_test, y_pred))\n", "plt.show()" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Accuracy: 0.7283018867924528\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "Buf4iNsL6ugH" }, "source": [ "In this confusion matrix, the 119 and 74 are actual predictions, and 40 and 32 are incorrect predictions. The model has as accuracy of approximately .73." ] }, { "cell_type": "markdown", "metadata": { "id": "KEU1OfPB0-xG" }, "source": [ "## Prediction Model" ] }, { "cell_type": "markdown", "metadata": { "id": "zuooMMfYX5So" }, "source": [ "We were unable to get this code to run." ] }, { "cell_type": "code", "metadata": { "id": "muoTRjx7S8OT", "colab": { "base_uri": "https://localhost:8080/", "height": 292 }, "outputId": "8063f542-30ad-4044-9c81-daa14866bb16" }, "source": [ "ModelDataset = FullData.copy()\n", "ModelDataset2 = FullData.copy()\n", "d=ModelDataset['Date']\n", "ModelDataset.insert(1,'Year',d.dt.year)\n", "ModelDataset.insert(2,'Day of Year',d.dt.dayofyear)\n", "ModelDataset.drop(['Date','avi_mark','avi_date', 'avi_number', 'avi_type'], axis=1, inplace=True)\n", "ModelDataset2.drop(['avi_mark','avi_date', 'avi_type'], axis=1, inplace=True)\n", "ModelDataset2.insert(1,'Year',d.dt.year)\n", "ModelDataset2.insert(2,'Day of Year',d.dt.dayofyear)\n", "del d\n", "\n", "ModelDataset.head()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearDay of YearAvalancheSnow Water Equivalent (in) Start of Day ValuesPrecipitation Accumulation (in) Start of Day ValuesAir Temperature Maximum (degF)Air Temperature Minimum (degF)Air Temperature Average (degF)Precipitation Increment (in)
1437520141No8.9230779.61538527.38461511.00000019.4615380.207692
1437620142No9.1461549.82307736.07692311.23076921.6153850.046154
1437720143No9.1769239.86923137.30769216.07692325.6923080.023077
1437820144No9.2384629.89230826.153846-2.23076912.3076920.161538
1437920145No9.50000010.0538467.153846-5.0769230.3846150.069231
\n", "
" ], "text/plain": [ " Year ... Precipitation Increment (in)\n", "14375 2014 ... 0.207692\n", "14376 2014 ... 0.046154\n", "14377 2014 ... 0.023077\n", "14378 2014 ... 0.161538\n", "14379 2014 ... 0.069231\n", "\n", "[5 rows x 9 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 76 } ] }, { "cell_type": "markdown", "metadata": { "id": "vlhsXyR3TXvE" }, "source": [ "Once our dataset is ready, we can define what our target variable below. For the Confusion Matrix Charts 0 is equal to no avalanches and 1 is equal to yes avalanches.\n" ] }, { "cell_type": "code", "metadata": { "id": "LTx3VNDmTdQJ", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "499d8582265046e2970e453489ba6031", "fbf81571f4cb4c059a3e5a66b7ef2221", "4347d82e97784a83a087906c398d0e1f", "a6c8551cb31645318ee511bd4a1e3859", "7630cddea594473e9538bef58294d8c2", "169d6da9acf647d6bd4f509a5fdd50ba" ] }, "outputId": "f5fe5c38-5a02-48c5-af6b-7fba81584db2" }, "source": [ "Model = setup(ModelDataset, target='Avalanche', numeric_features=['Year'])\n" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DescriptionValue
0session_id1506
1TargetAvalanche
2Target TypeBinary
3Label EncodedNo: 0, Yes: 1
4Original Data(3492, 9)
5Missing ValuesTrue
6Numeric Features8
7Categorical Features0
8Ordinal FeaturesFalse
9High Cardinality FeaturesFalse
10High Cardinality MethodNone
11Transformed Train Set(2444, 8)
12Transformed Test Set(1048, 8)
13Shuffle Train-TestTrue
14Stratify Train-TestFalse
15Fold GeneratorStratifiedKFold
16Fold Number10
17CPU Jobs-1
18Use GPUFalse
19Log ExperimentFalse
20Experiment Nameclf-default-name
21USIa3ee
22Imputation Typesimple
23Iterative Imputation IterationNone
24Numeric Imputermean
25Iterative Imputation Numeric ModelNone
26Categorical Imputerconstant
27Iterative Imputation Categorical ModelNone
28Unknown Categoricals Handlingleast_frequent
29NormalizeFalse
30Normalize MethodNone
31TransformationFalse
32Transformation MethodNone
33PCAFalse
34PCA MethodNone
35PCA ComponentsNone
36Ignore Low VarianceFalse
37Combine Rare LevelsFalse
38Rare Level ThresholdNone
39Numeric BinningFalse
40Remove OutliersFalse
41Outliers ThresholdNone
42Remove MulticollinearityFalse
43Multicollinearity ThresholdNone
44ClusteringFalse
45Clustering IterationNone
46Polynomial FeaturesFalse
47Polynomial DegreeNone
48Trignometry FeaturesFalse
49Polynomial ThresholdNone
50Group FeaturesFalse
51Feature SelectionFalse
52Features Selection ThresholdNone
53Feature InteractionFalse
54Feature RatioFalse
55Interaction ThresholdNone
56Fix ImbalanceFalse
57Fix Imbalance MethodSMOTE
\n", "
" ], "text/plain": [ " Description Value\n", "0 session_id 1506\n", "1 Target Avalanche\n", "2 Target Type Binary\n", "3 Label Encoded No: 0, Yes: 1\n", "4 Original Data (3492, 9)\n", "5 Missing Values True\n", "6 Numeric Features 8\n", "7 Categorical Features 0\n", "8 Ordinal Features False\n", "9 High Cardinality Features False\n", "10 High Cardinality Method None\n", "11 Transformed Train Set (2444, 8)\n", "12 Transformed Test Set (1048, 8)\n", "13 Shuffle Train-Test True\n", "14 Stratify Train-Test False\n", "15 Fold Generator StratifiedKFold\n", "16 Fold Number 10\n", "17 CPU Jobs -1\n", "18 Use GPU False\n", "19 Log Experiment False\n", "20 Experiment Name clf-default-name\n", "21 USI a3ee\n", "22 Imputation Type simple\n", "23 Iterative Imputation Iteration None\n", "24 Numeric Imputer mean\n", "25 Iterative Imputation Numeric Model None\n", "26 Categorical Imputer constant\n", "27 Iterative Imputation Categorical Model None\n", "28 Unknown Categoricals Handling least_frequent\n", "29 Normalize False\n", "30 Normalize Method None\n", "31 Transformation False\n", "32 Transformation Method None\n", "33 PCA False\n", "34 PCA Method None\n", "35 PCA Components None\n", "36 Ignore Low Variance False\n", "37 Combine Rare Levels False\n", "38 Rare Level Threshold None\n", "39 Numeric Binning False\n", "40 Remove Outliers False\n", "41 Outliers Threshold None\n", "42 Remove Multicollinearity False\n", "43 Multicollinearity Threshold None\n", "44 Clustering False\n", "45 Clustering Iteration None\n", "46 Polynomial Features False\n", "47 Polynomial Degree None\n", "48 Trignometry Features False\n", "49 Polynomial Threshold None\n", "50 Group Features False\n", "51 Feature Selection False\n", "52 Features Selection Threshold None\n", "53 Feature Interaction False\n", "54 Feature Ratio False\n", "55 Interaction Threshold None\n", "56 Fix Imbalance False\n", "57 Fix Imbalance Method SMOTE" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "DT_agGYPVJ_C", "colab": { "base_uri": "https://localhost:8080/", "height": 650, "referenced_widgets": [ "0e9ab74349ab43df8d009f7bd46b034f", "935ed9dc79c34b8ebd029281bfdcc6f8", "c7560dbc634b435a8b54faaa681f63c9" ] }, "outputId": "abdd5a3e-b28f-4633-bebb-2a284a26c0bb" }, "source": [ "compare_models()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ModelAccuracyAUCRecallPrec.F1KappaMCCTT (Sec)
rfRandom Forest Classifier0.90550.97190.90780.87960.89320.80850.80930.617
lightgbmLight Gradient Boosting Machine0.90550.96840.90500.88210.89290.80840.80930.118
etExtra Trees Classifier0.90430.97360.89560.88640.89040.80540.80630.506
xgboostExtreme Gradient Boosting0.90060.96620.90120.87560.88760.79850.79960.891
catboostCatBoost Classifier0.89850.96710.90970.86520.88650.79490.79633.203
gbcGradient Boosting Classifier0.88910.96140.90120.85340.87620.77600.77760.351
dtDecision Tree Classifier0.88460.88630.89940.84600.87150.76700.76880.026
knnK Neighbors Classifier0.88340.94150.88340.85560.86840.76380.76540.120
adaAda Boost Classifier0.87560.94870.88430.84010.86100.74870.75040.165
nbNaive Bayes0.86130.91200.91350.79860.85170.72270.72910.019
lrLogistic Regression0.85560.92770.84660.82670.83590.70700.70800.343
qdaQuadratic Discriminant Analysis0.84940.92030.90310.78490.83950.69910.70590.019
ldaLinear Discriminant Analysis0.84740.92380.84190.81470.82750.69080.69180.021
ridgeRidge Classifier0.84570.00000.83910.81360.82550.68740.68850.017
svmSVM - Linear Kernel0.69230.00000.42850.66630.47850.33170.38650.028
\n", "
" ], "text/plain": [ " Model Accuracy AUC Recall Prec. \\\n", "rf Random Forest Classifier 0.9055 0.9719 0.9078 0.8796 \n", "lightgbm Light Gradient Boosting Machine 0.9055 0.9684 0.9050 0.8821 \n", "et Extra Trees Classifier 0.9043 0.9736 0.8956 0.8864 \n", "xgboost Extreme Gradient Boosting 0.9006 0.9662 0.9012 0.8756 \n", "catboost CatBoost Classifier 0.8985 0.9671 0.9097 0.8652 \n", "gbc Gradient Boosting Classifier 0.8891 0.9614 0.9012 0.8534 \n", "dt Decision Tree Classifier 0.8846 0.8863 0.8994 0.8460 \n", "knn K Neighbors Classifier 0.8834 0.9415 0.8834 0.8556 \n", "ada Ada Boost Classifier 0.8756 0.9487 0.8843 0.8401 \n", "nb Naive Bayes 0.8613 0.9120 0.9135 0.7986 \n", "lr Logistic Regression 0.8556 0.9277 0.8466 0.8267 \n", "qda Quadratic Discriminant Analysis 0.8494 0.9203 0.9031 0.7849 \n", "lda Linear Discriminant Analysis 0.8474 0.9238 0.8419 0.8147 \n", "ridge Ridge Classifier 0.8457 0.0000 0.8391 0.8136 \n", "svm SVM - Linear Kernel 0.6923 0.0000 0.4285 0.6663 \n", "\n", " F1 Kappa MCC TT (Sec) \n", "rf 0.8932 0.8085 0.8093 0.617 \n", "lightgbm 0.8929 0.8084 0.8093 0.118 \n", "et 0.8904 0.8054 0.8063 0.506 \n", "xgboost 0.8876 0.7985 0.7996 0.891 \n", "catboost 0.8865 0.7949 0.7963 3.203 \n", "gbc 0.8762 0.7760 0.7776 0.351 \n", "dt 0.8715 0.7670 0.7688 0.026 \n", "knn 0.8684 0.7638 0.7654 0.120 \n", "ada 0.8610 0.7487 0.7504 0.165 \n", "nb 0.8517 0.7227 0.7291 0.019 \n", "lr 0.8359 0.7070 0.7080 0.343 \n", "qda 0.8395 0.6991 0.7059 0.019 \n", "lda 0.8275 0.6908 0.6918 0.021 \n", "ridge 0.8255 0.6874 0.6885 0.017 \n", "svm 0.4785 0.3317 0.3865 0.028 " ] }, "metadata": { "tags": [] } }, { "output_type": "execute_result", "data": { "text/plain": [ "RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,\n", " criterion='gini', max_depth=None, max_features='auto',\n", " max_leaf_nodes=None, max_samples=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, n_estimators=100,\n", " n_jobs=-1, oob_score=False, random_state=1506, verbose=0,\n", " warm_start=False)" ] }, "metadata": { "tags": [] }, "execution_count": 79 } ] }, { "cell_type": "code", "metadata": { "id": "degrZMJoTySA", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "73622256dba84671bcab7e329b378818", "81f4ba27c56546f48f4c958c203d9ff0", "4a04ba961a454ceda4d285771d7567a2" ] }, "outputId": "6381174b-4251-4fa7-d2f1-c627b0d44a0d" }, "source": [ "XGB = create_model(estimator='xgboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.90200.96650.90650.87390.88990.80170.8022
10.92650.97780.91590.91590.91590.85070.8507
20.90200.96340.88790.88790.88790.80090.8009
30.88570.96200.88680.85450.87040.76820.7687
40.88110.96200.90570.83480.86880.76050.7626
50.87700.95300.91510.82200.86610.75300.7567
60.90980.96490.85850.92860.89220.81490.8167
70.90160.96450.91510.86610.88990.80110.8021
80.91390.96740.89620.90480.90050.82470.8247
90.90570.98060.92450.86730.89500.80960.8110
Mean0.90060.96620.90120.87560.88760.79850.7996
SD0.01460.00750.01850.03250.01470.02870.0280
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9020 0.9665 0.9065 0.8739 0.8899 0.8017 0.8022\n", "1 0.9265 0.9778 0.9159 0.9159 0.9159 0.8507 0.8507\n", "2 0.9020 0.9634 0.8879 0.8879 0.8879 0.8009 0.8009\n", "3 0.8857 0.9620 0.8868 0.8545 0.8704 0.7682 0.7687\n", "4 0.8811 0.9620 0.9057 0.8348 0.8688 0.7605 0.7626\n", "5 0.8770 0.9530 0.9151 0.8220 0.8661 0.7530 0.7567\n", "6 0.9098 0.9649 0.8585 0.9286 0.8922 0.8149 0.8167\n", "7 0.9016 0.9645 0.9151 0.8661 0.8899 0.8011 0.8021\n", "8 0.9139 0.9674 0.8962 0.9048 0.9005 0.8247 0.8247\n", "9 0.9057 0.9806 0.9245 0.8673 0.8950 0.8096 0.8110\n", "Mean 0.9006 0.9662 0.9012 0.8756 0.8876 0.7985 0.7996\n", "SD 0.0146 0.0075 0.0185 0.0325 0.0147 0.0287 0.0280" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "aQJlQzbGfwwL" }, "source": [ "Extreme Gradient Boosting Model\n", "\n", " What is it and where does it come from?\n", " https://towardsdatascience.com/xgboost-theory-and-practice-fb8912930ad6\n" ] }, { "cell_type": "code", "metadata": { "id": "8AwY36JfU5Hk", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "f49794a0e9f54c26a7d7f84c0f3344e4", "8adc97a7aeff4c6da935b5f1b7855696", "d490a6b4780f436685e43fd6614510ed" ] }, "outputId": "fbadefca-0823-441e-91b3-7350c6c7a655" }, "source": [ "TunedModel = tune_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.90200.96140.93460.85470.89290.80300.8057
10.91430.97550.93460.87720.90500.82710.8284
20.87760.96330.90650.82910.86610.75370.7563
30.87350.95980.92450.80990.86340.74650.7522
40.88520.96450.94340.81970.87720.77050.7772
50.88110.95730.94340.81300.87340.76260.7700
60.91800.96280.89620.91350.90480.83280.8329
70.90160.97160.94340.84750.89290.80240.8064
80.90160.96730.91510.86610.88990.80110.8021
90.89340.98130.94340.83330.88500.78640.7917
Mean0.89480.96650.92850.84640.88500.78860.7923
SD0.01450.00710.01640.03090.01400.02830.0266
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9020 0.9614 0.9346 0.8547 0.8929 0.8030 0.8057\n", "1 0.9143 0.9755 0.9346 0.8772 0.9050 0.8271 0.8284\n", "2 0.8776 0.9633 0.9065 0.8291 0.8661 0.7537 0.7563\n", "3 0.8735 0.9598 0.9245 0.8099 0.8634 0.7465 0.7522\n", "4 0.8852 0.9645 0.9434 0.8197 0.8772 0.7705 0.7772\n", "5 0.8811 0.9573 0.9434 0.8130 0.8734 0.7626 0.7700\n", "6 0.9180 0.9628 0.8962 0.9135 0.9048 0.8328 0.8329\n", "7 0.9016 0.9716 0.9434 0.8475 0.8929 0.8024 0.8064\n", "8 0.9016 0.9673 0.9151 0.8661 0.8899 0.8011 0.8021\n", "9 0.8934 0.9813 0.9434 0.8333 0.8850 0.7864 0.7917\n", "Mean 0.8948 0.9665 0.9285 0.8464 0.8850 0.7886 0.7923\n", "SD 0.0145 0.0071 0.0164 0.0309 0.0140 0.0283 0.0266" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "GWU4gkFRVYHr", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "6a21aea1e810435582c37b3aace35901", "63588303eaf74b1b8351bce44c98dec8", "8eb369ace554446aa838a50afd0bf50e", "c762527fa7374891b97f5d50430d5dd8", "9e49a094eca748aa9286b42c7bf180ed", "2994bc88f7624637ab65cef6e500da32", "e75c29fbbf504123a6518d12d501f3ab" ] }, "outputId": "d28ebc3c-d5c3-4976-fcbf-d6454472767b" }, "source": [ "evaluate_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6a21aea1e810435582c37b3aace35901", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "My2Ky4kvXL21", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "a0650931-3c2a-40d0-c82c-c25b316ebcf7" }, "source": [ "plot_model(XGB, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "zh6wrvNxZFF0" }, "source": [ "The confusion matrix shows us all the data points that were tested to verify the quality of the model. From the tested data points:\n", "\n", "\n", "* 545 points were correctly classified as days without avalanches\n", "* 47 days had an avalanche predicted but none happened\n", "* In 405 days avalanches were predicted and they really happened\n", "* In 51 days there were unpredicted avalanches\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "6G086_FrXTJ0", "colab": { "base_uri": "https://localhost:8080/", "height": 418 }, "outputId": "1f7dbbc8-d600-4eae-9ffe-2687e463da76" }, "source": [ "plot_model(XGB, 'feature')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9QAAAHNCAYAAAD/kjP+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3yN9///8cdJZNjEXjEjtEJCQuy9SiK0lE9RX0JQrdIifLRGkVJaM7U/dKhViVFao59QW83YTYxEEVtFdpzfH345H0dOSI5Zfd5vt9yac4339Tqv65Ke13m/r/dlMBqNRkREREREREQkS2xedAAiIiIiIiIif0cqqEVERERERESsoIJaRERERERExAoqqEVERERERESsoIJaRERERERExAoqqEVERERERESsoIJaRERERERExAoqqEVERERERESsoIJaRERERERExAoqqEVEROSVFhgYiKura4Y/wcHBLzrEZ2LVqlW4uroSGRn5okN5Je3ZsyfdtVSpUiVq167N4MGDOXv2rGlbnQuRV1e2Fx2AiIiIyLPm5OTEmjVrLK7LmTPnUz/esGHDKFmyJO+///5Tb/tVNH36dC5evMjnn3/+okPJsilTplCrVi0AkpOTiYyM5Msvv6Rz586sWbOGIkWKWN12165d6dChAx06dHha4YrIU6YeahEREXnl2djYUKhQIYs/OXLkeOrHO3jw4FNv81X2d85Xnjx5TNdS8eLFqV+/PtOnT+fWrVusWrXK6nZTUlI4evToU4xURJ4FFdQiIiIi/9/q1avp2LEj1atXp2bNmgwaNIiYmBizbdasWUP79u1xc3OjRo0adOnShb1795rWu7q6cv78eWbOnImrqysXLlxgxowZuLq6kpiYaNaWq6srkydPBv43hHjDhg34+PhQu3Zt03bbtm2ja9eu1KxZk+rVq9O7d+8sDx++cOECrq6uhIaGMmzYMDw9PalZsyYTJ04kMTGRTz/9lJo1a1K7dm0mTZpk2i8trrCwMAYOHEj16tWpUaMGw4cPJy4uzrRdUlISU6ZMoUmTJlSpUoU6deoQGBjI9evXTdsEBgbSrl07fvjhB9OxmzRpws6dOwkJCcHV1ZU9e/aY3nOXLl1wd3fHw8OD9u3bs3HjxnT5W7RoETNmzKB+/fp4eHjQvXt3zp07Z7ZdSEgIPj4+VK1alWbNmjFt2jRSUlJM68+ePcv7779PgwYNqFq1Kh06dODXX3/NUn4fVKpUKXLmzMnFixcz3Oa///0vnTp1omrVqri7u9OlSxd27NgB3D9Xr7/+OvHx8QwfPhxXV1erYxGRZ0sFtYiIiAj3i+mhQ4fi7u7OqlWrCA4O5syZM/To0YOkpCQA9u3bx5AhQ2jYsCHr169nxYoVlClThoCAAFPhnVaI9ezZk+3bt1OsWLEsxTF79mwGDhxISEgIAHv37iUgIIDChQuzZMkSFi9eTFJSEl27duXGjRtZfp+zZ8/Gw8ODVatW0bFjRxYuXEiPHj0oV64cK1as4M0332TBggVmXxIAjB8/noYNGxISEsInn3zCunXrmDhxomn9yJEjWbJkCR988AHr168nKCiIPXv20Lt3b4xGo2m7mzdvsnnzZr799lsCAgJYuXIlTk5OtG7dmu3bt+Ph4UFUVBT9+/enXLlyhIaGsnr1aurVq8eHH37I8ePHzeJaunQp8fHxLF68mK+//ppTp07x2WefmdavXbuWf//737z55pusXbuWwMBAFi1axJdffmmKp2vXrkRHR/Pll18SEhKCp6cn7733Hrt3785yfgGuXbvG3bt3Mzz3O3fupF+/flSqVImVK1eybNkyihQpQp8+fTh27BjFihXj+++/B2DEiBFs377dqjhE5NlTQS0iIiLC/ULTy8uLf//735QpUwZPT08+//xzzpw5wy+//ALA66+/zrp16xgwYAClSpWiXLly+Pv7ExcXx4EDBwAoWLAgADly5KBQoULY2tpmKY46derQrFkzihYtCsDcuXMpUaIEX3zxBRUqVMDNzY0pU6YQGxvL8uXLs/w+X3/9dTp37oyzszP+/v4AODo60qNHD0qXLk2vXr0A0hWuderUoUOHDpQuXRo/Pz9at27NunXrMBqNxMTEsGbNGvr27Yufnx/Ozs40bNiQwMBAjh07xv79+03txMTEMGzYMFxdXcmXLx9OTk7Y2Njg6OhIoUKFsLe3p0iRIqxevdp0LpydnRkwYACpqans3LnTLK4cOXIwdOhQypUrh7e3N02aNCE8PNy0fu7cuTRq1Mj0/po1a8bQoUNJTU0FYMWKFVy/fp3p06fj6elJ+fLlGTFiBK6ursydOzfL+b1w4QKBgYHkypUrw3ufFyxYQPny5RkzZgwVK1bE1dWVSZMmkStXLpYsWYKtrS358+cHIHfu3BQqVCjLcYjI86FJyUREROSVd/36dTw8PCyumzZtGtWrV+fMmTP4+vqaratcuTL58uXj+PHj+Pj4kCNHDg4dOsQnn3xCVFQU8fHxpt7XW7duPZVYq1SpYvb6yJEjtGjRwqwwL1iwIC4uLumK3sx4/fXXTb/ny5cPgEqVKqVbFhsba7afp6en2evXXnuN1atXc/v2bY4ePYrRaEy3TVrOjx8/blrn4OBAxYoVHxmjg4MDERERjB07lsjISO7evWta93Ce3d3dzV47OTlx+/ZtABISEjh9+jRt27Y126ZLly6m348cOYKzszPOzs5m23h7e5tGCTzKgAEDTOcmJSWFpKQkqlatyqJFi0xfijwsPDycVq1aYTAYTMvs7e2pUqWKVedURF4cFdQiIiLyysuXLx/Lli2zuK5w4cKmAmzWrFnpeiXj4+O5cuUKAIsWLSIoKIguXbowYsQI8ubNS0xMDN26dXtqsebOndvsdWxsLKGhofz0009myxMTE7G3t89y+9mzZzf9nlbQPTgxW9qyB4dpw/3Jtx6UNjv6nTt3TMX3w7HnypULwKwgfngbSzZt2sQHH3xAq1atmDp1KgULFsRgMNCiRYt02z48qdyDRepff/1lFqslsbGxREdHp/vCJTk5meTkZJKSkh6Z51GjRpm+LDAYDOTLly9driwdMy03D8qZMyfR0dGP3FdEXi4qqEVEROSVZ2trS+nSpTNcf+/ePQB69OhBx44d061PK9rWrFmDu7s7o0ePNq3LzH3MlorUB4vMR8mTJw/16tWz+Aguawpqaz0cb9rrPHnymArIO3fumG2T9vpxBebD0h439dVXX2Fjc/8OxbQvNbIif/782NjYmL4wsSRPnjyUKlWKefPmWVyfLdujPy4XKlTokdeWJblz5043AgDuF9qZ+cJBRF4euodaRERE/vFy5sxJxYoVOXv2LKVLlzb7SUpKokCBAsD9Xsu0e1vTpA0LfrhH98HXaUXSg8X34cOHMxWbu7s7kZGR6eJKSUl5rvfWps2+nebo0aMULFiQvHnzUqVKFWxsbNi3b5/ZNmn3Tru5uT22/QfzlZycTN68eU3FNGSc50exs7OjbNmy6eJasmQJffr0Ae7n99KlS+TKlcssv7a2thQoUMAshqelWrVq7N+/3+y9JCYmcvTo0XS5ysr7FZHnTwW1iIiICBAQEMCWLVuYMWMGkZGRREREMHHiRNq3b2+6r9Xd3Z09e/awc+dOzp8/zxdffMG9e/ewtbXlyJEj3LhxA3t7exwdHTl06BAnT57kr7/+omrVqsD9ic+ioqLYtWsXM2bMsDjs92H+/v6cOnWK0aNHc/LkSc6dO8fcuXPx8fFh69atzzQnD9q+fTsrVqzg/PnzhIaG8vPPP+Pn5wfc76Vt3749c+fOZd26dURHR7NlyxaCgoKoVauW6f1nJE+ePBw/fpwTJ05w7do13N3diYiIYP369URHR7NgwQIOHz5MsWLFOH78eJZ6q/v06cOuXbuYPXs2f/75J7/++itTp06lXLlyAHTo0IG8efPywQcfsH//fi5cuMD69evp2LEjM2bMsD5hj+Dv78+ZM2cYPXo0kZGRnDhxgkGDBpGYmGi6fSBv3rzA/VneT548SUJCwjOJRUSejIZ8i4iIiABt27bFxsaGefPmMWfOHLJly4abmxvz5883TRT24YcfcvXqVQYMGICDgwO+vr6MGjWKHDly8MMPP2AwGAgKCqJ///7Mnj2bd955h/nz5+Ph4cGgQYP4/vvvCQ0NpXLlynzyyScEBAQ8Ni5PT0/mz5/PjBkzePvtt7l37x6urq589dVXNG3a9FmnxWTgwIGmItlgMODr62s2DH306NE4OTkxefJkrl69Sv78+WnevDkfffTRY9sOCAhg/PjxdOnShaCgILp3786ZM2cYNWoUBoOBxo0bM2nSJFasWMHUqVP5+OOP+eabbzIVt5+fHykpKSxcuJBZs2ZRuHBhunbtSr9+/YD799cvWbKEyZMn07dvX+Li4ihWrBjvvvsuvXv3ti5Zj1GzZk2+/vprZs6cSfv27bG1taVatWp88803lC9fHrg/8dy//vUvfvzxR8LCwggNDc3yI9hE5NkzGDWOREREREQysGfPHrp37868efNo0KDBiw5HROSloiHfIiIiIiIiIlZQQS0iIiIiIiJiBQ35FhEREREREbGCeqhFRERERERErKCCWkRERERERMQKKqhFRERERERErKDnUIuIPEcHDx7EaDRiZ2f3okMREREREQuSk5MxGAx4eHg8dlv1UIuIPEdGo5HnORek0WgkKSnpuR7z70B5sUx5sUx5SU85sUx5sUx5sUx5sexlyEtWPq+ph1pE5DlK65l2c3N7LseLi4vjxIkTVKhQgRw5cjyXY/4dKC+WKS+WKS/pKSeWKS+WKS+WKS+WvQx5CQ8Pz/S26qEWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWkb+1uLg4unfvTrVq1di/f/+LDkdEREREniKj0ci2yBiWHjzLtsgYjEbjiw7JTLYXHYCI/L00adKEmJgYbGzufx9XsGBBatWqhb+/PxUqVHju8ezYsYODBw+ydetWnJyczNYFBwezfPly1q9fT44cOUzLk5KS8PHxoUWLFnz00UfPO2QRERERyYSQ8CiGrT1A5PU7pmXlC+Rmok912rs5v8DI/kc91CKSZSNHjiQ8PJwDBw4wf/588ufPz5tvvsmuXbueeyyxsbHkyZMnXTEN4O/vT44cOZg5c6bZ8nnz5nHv3j3ee++95xWmiIiIiGTBmuN/0mnxNrNiGiDy+h06Ld5GSHjUC4rMnHqoRcRqdnZ2lC9fnmHDhmFra8vIkSPZuHEjtra2hIeHExQUxOnTp7G3t6d58+aMHDmSlJQU6taty+TJk2nSpImprXfffZdq1aoxePDgdMfZvHkz06dPJyoqCicnJ3r06EH37t1ZsWIFo0ePJiUlBTc3NxYuXIiXl5dpP3t7e8aOHUuPHj1o3749Li4uREdHM3fuXL7++mscHR05efIkQUFBHDt2jGzZstG2bVuGDRuGnZ0dAIsWLeK7777j+vXrFC1alEGDBtGiRQsAAgMDsbW1JSoqips3b7Ju3bpnnHHr3Maey/GpOBqTX3QoL42EhFTlxQLlxTLlJT3lxDLlxTLlxTLlxbKEhFRuGe0Y/nM49zIY3n3PaCRw3QH8qpTCYDA85wjNqaAWkaeiR48ezJs3j2PHjlG1alUGDRqEr68v3377LTExMXTu3JkKFSrQrVs3WrZsydq1a00F9c2bN9m3bx+ffPJJunZPnjzJwIEDmTZtGg0bNuT333+nb9++lC5dmo4dO2Jra8uUKVPYsWOHxbg8PT3x8/NjzJgxfPfdd4wfP54WLVpQp04d4uPj8ff3p1u3bsybN4+YmBj69+/PggUL6Nu3L/v27WPKlCn8+OOPuLi4EBISwscf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zGDMyo1/Ii+5h5+BLK+eDh068MYbb+Dv7/9U2ktKSjL7Aqlx48b079+fjh07Zmr/8ePHEx0d/ch5AB4UHh4OYHGis2chLi6OEydOULlyZd2f9QDlxTLlxTLlJT3lxDLlxTLlxTLlxbKXIS9Z+bymHmoR+Vv58MMP+eabbx5573tm7du3Dy8vL44cOUJqaiqrVq3i6tWr1K5dO1P7x8TEEBoayoABA544FhERERH5+1FBLSJ/Kw0aNKBVq1aMHTv2idvy8vJi0KBBfPjhh9SoUYP//Oc/TJ06NcPnrT/IaDQyfPhw/P39Tc8DFxEREZF/Fj02S14pD8+YLa+mESNGPLW2evTokaVHoaUxGAwsXLjwqcUhIiIiIn8/6qEWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKCWZ+7PP//Ezc2Ns2fPPlE7e/bswdXVlcTExKcU2eMNGDCAadOmZfo9GI1G/u///o85c+Y8pwifHaPRyAcffIC7uzvr1q170eE8sRdx/Yj8ExiNRrZFxrD04Fm2RcZgNBpfdEgiIiLPzStTUCcnJzN9+nRatmyJu7s7Hh4edOvWjd9///2FxXT69GlcXV2JiIgwWz5u3Di8vLy4d++e2fL27dszefLkx7a7ceNGzp8//9TiDAwMpHLlyri5uaX7GTVq1BO3X6JECcLDwylbtuxTiPbpuHXrFitWrHjkNkuXLiU6Opr33nsv0+/BYDAQFBTEvHnzOHr06CO33bp1K127dqVm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puH+/fILFy58RtG8egICAggICHjRYYiIiIiIWEU91CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEtIiIiIiIiYgUV1CIiIiIiIiJWUEEt8v/Yu/P4mq79/+OviIgoYqopFVFDqBoScwUVSjUihlxF61ZNVTfVql5VQ9GGclFKqZYW30uppCEIbUSpKWhrSlWpIQQRQ4LILDm/P/Kzb46cTKdBtO/n45EHZ++19/qcz9mHfM5aex0RERERERErLfGZbQAAIABJREFUqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErFH/YAYiIiEjhMplM7DpzhUu3EqlethTtnqyMjY3Nww5LRETkL0cFtYj8ZQUHBzN16lS2bNlClSpVzPa9/PLLVK5cmY8//vghRSdyf6yLOM+7Gw9y+nq8sa12xTLM9HanVyPnhxiZiIjIX4+mfIvIX5aPjw9NmjRh+vTpZtvXr1/PyZMnGT9+/EOKTOT+WBdxnr4rdpoV0wCnr8fTd8VO1kWcf0iRiYiI/DVZPUK9e/duPDw8ADh27Bjr16+ndu3a9OvXr9CCExH5s6ZMmYK3tzd79uyhbdu2xMfHM2vWLP7973+TkpLCiBEjOHToEBkZGXTs2JH333+f0qVLA7BhwwYWL15MdHQ05cuXZ+jQoQwYMACABQsW8Ouvv+Lg4MDOnTs5ePDgw3yaubpJCS4npVPSlPawQykykpPT/3J5MZlMjNnwCxkmk8X9GSYT4zYdpOfTNTT9W0REpJBYVVB//vnn/Pe//2X37t3ExsYyaNAg6tevz/bt27l27Rp+fn6FHaeIiFVq1qzJ66+/zgcffMDGjRuZO3cuLi4u+Pr60rNnT9zd3Zk7dy6JiYm8/fbbzJw5kw8//JCoqCjeffddvvzyS9q0acO+ffsYPHgw7u7u1K9fH4DDhw/z5ptvMmfOnALFZDKZSExMvB9PN5ukpCQOFKvGgfMpQMoD6fOR8RfLy9mYWM7F3s61zalr8YQdj6KtSyWL+5OSksz+lEzKS3bKiWXKi2XKi2XKi2VFIS8mkynfHz7bmEw5fJSdi86dO/PJJ5/QsGFDli9fzoYNGwgKCiIyMpLhw4cTGhpa4KBFRO6XtLQ0evXqRb169di2bRtBQUEkJCTQr18/fv75Z0qVKgXAzz//zJAhQzh8+DAAt27dwtHR0TiPh4cHo0ePpk+fPixYsIDVq1ezZ8+eAo32RUREkJqaWrhPMA9bi9V8oP3Jw3E08hLf7D6SZ7tpbZ14rqZjnu1ERET+zkqUKEGjRo3ybGfVCPX169dp2LAhAHv37uX5558HwMXFhatXr1pzShGR+8bOzo6pU6cyYMAAXn/9dWrXrk1ISAjp6em0atXKrG16ejpxcXFUqFCB1atXExgYyJUrVzCZTKSmppoVw1WrVrVq6qydnR116tT5088rP5KSkmgZeYlq1aphb2//QPp8FKSkpBAdHf2XyosLZfhmd97tmtWvQ4NcRqgjIyNxcXHBwcGhkCN8dCkv2SknlikvlikvlikvlhWFvJw6dSrfba0qqMuUKUNsbCwlSpTgp59+YtSoUQDGNhGRoqZZs2YAuLu7A2Bvb0+pUqU4dOiQxfYBAQF88cUXLFq0iBYtWmBra0uHDh3M2hQvbt0yFDY2Nsao+IPgSCo1y5V6oH0WdYmJtiRG/7XyUqtCad7fciTbgmRZ1alUhs4N8r6H2sHB4S+Tl8KkvGSnnFimvFimvFimvFj2MPNSkAETq1b57ty5M6+++ioDBw6kZs2aPP3006SkpDBt2rRsoz0iIkWRs7MziYmJREVFGdtu375NXFwckDk1u3nz5rRu3RpbW1uuXr3KlStXHla4InmysbFhprc7xXL4JaCYjQ0zurtrQTIREZFCZFVBPW7cOLy8vPDw8GDx4sUAZGRkEBcXx8SJEws1QBGR+6FevXq4ubkxbdo0YmNjuXXrFpMnT2bs2LEAODk5cebMGW7evMnFixfx9/enevXqxMTEPOTIRXLWq5Eza19pT51KZcy216lUhrWvtNf3UIuIiBQyq+YrlihRguHDh5ttc3Bw4KuvviqUoEREHoQ5c+bwwQcf0KlTJ0qUKEGbNm2YMWMGAP379+fAgQN06NABJycnpkyZwq+//sq8efN4/PHHH3LkIjnr1ciZnk/XYNeZK0TfSqK6owMetSprZFpEROQ+sPp7qL/99lvWr1/PpUuX2LZtG6mpqSxfvjxboS0iUlScOHHC7LGTkxOff/65xbZly5blyy+/NNvWokULXn31VePxG2+8UfhBihQCGxsb2teu8rDDEBER+cuzasr3f//7X6ZNm0a9evWMVb3j4uL4+uuv+eKLLwo1QBEREREREZGiyKqCeuXKlSxatIhJkyYZU8iqVKnCggULWLNmTaEGKCIiIiIiIlIUWVVQX7582eJq3g0bNtT3UIuIiIiIiMjfglUFdeXKlTl//ny27b/++iuOjo5/OigRERERERGRos7q76F+66232LFjByaTiWPHjvHNN9/wxhtv4OXlVdgxioiIiIiIiBQ5Vq3yPXr0aCZNmsTIkSPJyMigT58+FC9enL59+zJmzJjCjlFERERERESkyLH6e6hnzpzJ+PHjOXfuHPb29jg7O+Pg4FDY8YmIiIiIiIgUSVZN+e7duzcAjo6ONG7cGFdXVxXTIiIiIiIi8rdiVUGdkpLCyZMnCzsWERERERERkUeGVVO++/bty+jRo/Hw8KBGjRrY2dkZ+2xsbOjbt2+hBSgiIiIiIiJSFFlVUH/00UcAnD59Ots+FdQiIiIiIiLyd2BVQf37778XdhwiIiIiIiIijxSr7qEWERERERER+buzaoS6fv362NjY5Lj/+PHjVgckIiIiIiIi8iiwqqCePHmyWUGdnp7O2bNn+fHHHxk5cmShBSciIiIiIiJSVFlVUPfv39/i9i5duvDNN9/Qq1evPxWUiIiIiIiISFFXqPdQt2jRgh9//LEwTykiIiIiIiJSJBVqQb1t2zaKF7dq0FtERERERETkkWJV9evh4ZFtW3JyMgkJCTlOBxcRERERERH5K7GqoO7Xr1+2bfb29tSuXRtPT88/HZSIiIiIiIhIUWdVQd2sWTPatGmTbXtycjIhISF4eXn96cBEREREREREijKr7qEeMWKExe3JyclMmDDhTwUkIiIiIiIi8igo0Ah1QEAAgYGBpKamWpz2feXKFcqWLVtowYmIiIiIiIgUVQUqqNu3b09ycjIRERHUqlUr2/6nnnoKHx+fQgtOREREREREpKgqUEFdpUoVBg4cSHR0NGPHjrXY5uTJk4USmIiIiIiIiEhRZtU91HeL6YyMDFJTU42fyMhIfW2WiIiIiIiI/C1Ytcp3VFQU//73v/n1119JT08321e3bt1CCUxERERERESkKLNqhPrDDz+kVKlSTJw4EVtbWz788EP69OmDm5sbK1euLOwYRURERERERIocqwrqI0eO8Mknn9CvXz9sbW3x9fXF398fLy8vli5dWtgxioiIiIiIiBQ5VhXUKSkplClTJvMExYqRkpICgI+PD0FBQYUXnYiIiIiIiEgRZVVBXa9ePb766ivS09N54okn2LJlCwCxsbEkJSUVaoAiIiIiIiIiRZFVBbWfnx8ff/wxCQkJ9OvXj/Hjx9O9e3d69+5Nu3btCjtGERERERERkSLHqlW+27dvz/bt2ylbtiwvvfQSpUuX5uDBg9SsWVNfmyUiIiIiIiJ/C1YV1ACPP/44AHfu3MHHxwcfH59CC0pERERERESkqLNqyndGRgbz58+nY8eOuLu7A5CUlMTkyZNJTU0t1ABFREREREREiiKrCuoFCxbw7bffMnDgQGNbYmIihw8f5pNPPim04ERERERERESKKqsK6uDgYD777DMGDx6MjY0NABUrVmTu3LkEBwcXaoAiIiIiIiIiRZFVBXVsbCxPPfVUtu01a9bk5s2bfzqo+2X9+vV4enrmq+2iRYt4+eWXC6Xfrl27EhAQUCjn+isaOHAgs2fPturYRo0asWfPnkKO6H/CwsLo1q0bSUlJDB48mHnz5uV5THBwMD169DC+n/1RtnHjRlq3bs2wYcMediiFwtPTk9WrVz/sMETMmEwmdp6OYc2hs+w8HYPJZHrYIYmIiEg+WVVQV69enePHjwOY/ce/d+9eY7Gy/PD09KRhw4Y0atSIRo0a0axZMwYMGMCBAwesCStPPXv25IcffshX25EjR7Jy5Urj8bJly7hz506+jo2KiuK7774zHn///ff84x//KFiwBbB7925cXV2ZOnXqfeujqDh27Bh79+41HkdERNC2bdv70tfVq1eZMGECM2fOxMHBga+++oq33norz+N8fHxwcnJizpw5ubaLiYnhvffeo3379jRq1IiWLVvy9ttvc+nSJaNNaGgo586ds/o53HstFtSS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5szhgw8+oFOnTpQoUYI2bdowY8YM4H+rck+ePJlp06bh4uLCwoULjUWX7tWpUyd69uzJlStX6NChA6NGjcrWpkGDBri5ueHr68vo0aN57bXXGD16NK1bt6Zu3bp89NFHVKlSBX9/fypUqGCMtnXs2DFbITp48GDi4uIYNmwYt27dokGDBvzf//2fsWBTfn377bd4e3tbvFm+T58++Pn5cePGDcaMGYO/vz8vvPACJUqUoHPnzsYicrnte+utt/j3v/9Nq1ataNCgAUOGDOHNN98sUIx3derUia5du9KvXz9Kly7N6NGjOXDggMW2Y8aMYezYsbRs2ZImTZrwn//8B4CRI0eycuVKevfuzcSJE+nSpUu276MeN24cH374If/4xz9ITU3Fzc2NZcuWFXh1Z4BGjRpRqlQpDhw4kO8pw/c6cOAAnTt3trivbt26rFixgsWLF+Pj48OtW7coVaoUzZs3Z9WqVcaK7/369eM///kPe/fuZf78+Wzbto0XXniBChUqMHbsWNq1a8eECROYNWtWtnvzgWzX4r0F38yZM5k6dSrdunUzFlf76KOPCvQ8s97DXb16dbp3786wYcOAb0QoAAAgAElEQVSMazOv90unTp2oXbs2tWvXpmbNmjl+2JLVCy+8wPTp02natKnZ7I68rp+shgwZwrFjx2jfvj3Ozs68++67xlewAUyaNIkPP/zQuDe6adOmLFq0CBsbG8aMGcPkyZPp2rUrd+7coWbNmsyZMyfHf2dEctKrkTM9n67BrjNXiL6VRHVHBzxqVdbItIiIyCPCxlSAVcUGDhyYr3b//e9/rQ7oQdm/fz///Oc/OXr0qBbqEYtmzJjBmTNn+OKLLwp87PHjx+nbty/btm0zVkKXnKWnp9OlSxf8/f1zXOX8ryIiIgLI/NDmQUhMTOT48eM0aNBA92dlobxYprxYprxkp5xYprxYprxYprxYVhTyUpDf1wo0Qv0oFMoihWXIkCF0796diIiIAhc/n376Kf3791cxnQ937txh/vz5VKhQIc+vnRMRERERKUoeuXuoRR6Uxx9/nGnTpjF27FizxavysmHDBqKiorLdCiHZXbp0CTc3N/bt28ecOXM0zVVEREREHikFGqH+K2nVqpXZCr4ilnTu3DnH+6Bz0qNHD3r06HGfIvprqV69ujGlRkRERETkUaMRahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKahERERERERErqKAWERERERERsYIKarlvunbtSkBAwMMOQ/5ibt26RefOndm7d6/F/aNHj2bcuHH3PY6zZ8/yzDPPEBkZed/7EhEREZGiqfjDDkAebbt372bIkCEMGDCAyZMnm+37/vvv832eRo0aGX9PS0ujWLFi2NraAlC9evUCnauoCQ8Pp3Tp0mbP8X7LyMigY8eOJCcns2vXLkqUKPHA+r7fpkyZQrt27XjmmWfue1+enp7ExMRQrJj5Z49Vq1Zl69atDB8+nLfffpvAwMBsbeTvx2QysevMFS7dSqR62VK0e7IyNjY2DzssERERuY9UUMufEhAQgJeXFyEhIYwbNw57e3urzhMREWH8feDAgTRp0oR33nmnsMJ8qJYvX86zzz77QAvqXbt24eDgQPny5QkLC+OFF154YH3fTydOnCA0NJSwsLAH1ufEiRPp37+/xX39+/fniy++ICwsjC5dujywmKToWRdxnnc3HuT09XhjW+2KZZjp7U6vRs4PMTIRERG5nzSkIlaLi4vjhx9+YNSoUZQvX56tW7ea7ff09GT16tUAjBs3jgkTJjBw4EC6d+9e4L7Cw8N58cUXcXNzo127dixcuNDYt2DBAkaMGMGCBQto0aIFHh4ehIWFERQURIcOHWjRogWfffaZ0d7V1ZWgoCB8fX1p3LgxPXv25MyZM8b+33//nVdeeYXmzZvTunVr/P39SUtLAyAoKIju3bszY8YMmjZtSkxMDCkpKUycOBEPDw/c3d0Z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EbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmoRERERERERK6igFhEREREREbGCCmopFF27diUgIOBhhyG5WLRoES+//HK+2k6cOJGxY8fe54ist2LFCgYOHEhGRka2fadPn8bV1ZULFy7c9zgmTJjA+++/f9/7EREREZGiqfjDDkAeHbt372bIkCEMGDCAyZMnm+37/vvv832eRo0aGX9PS0ujWLFi2NraAlC9evUCnauoCQ8Pp3Tp0mbP8X4aOHAgBw4cICwsjBo1apjt27p1K35+fvj5+fHGG28wcuRIRo4cma/z+vv7349wC8WJEydYsGABwcHBFCt2fz8TDAoK4r333qNEiRLZ9k2dOpX33nsPLy8vwsLC6Ny5832NRe4fk8nErjNXuHQrkeplS9HuycrY2Ng87LBERETkEaCCWvItICAALy8vQkJCGDduHPb29ladJyIiwvj7wIEDadKkCe+8805hhflQLV++nGefffaBFdQAFStWZOPGjdmK5Y0bN1KhQoUHFseD8umnn+Ll5YWTk9MD6a9SpUrs2bMnx/2DBg1i/vz5KqgfURt+u8j7occ4fT3e2Fa7YhlmervTq5HzQ4xMREREHgWa8i35EhcXxw8//MCoUaMoX748W7duNdvv6enJ6tWrARg3bhwTJkxg4MCBdO/evcB9hYeH8+KLL+Lm5ka7du1YuHChsW/BggWMGDGCBQsW0KJFCzw8PAgLCyMoKIgOHTrQokULPvvsM6O9q6srQUFB+Pr60rhxY3r27MmZM2eM/b///juvvPIKzZs3p3Xr1vj7+5OWlgZkjk52796dGTNm0LRpU2JiYkhJ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JBLY2tpW2lavBsZDRET/p6YPDBKJpMaK9/qEuajGXFRjLmUxE9WYi2rMRTXmolpdyEUikaj9NxvPUBMRERERERFpgPdQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURUT2TmJgId3d3ODg4QCaTITAwEEVFRSrbbt26FUOHDoWtrS1cXV3x119/KZY9e/YMy5cvR//+/eHg4ID3338faWlpNTUNrdNWLjNmzIClpSWsrKwUP2PGjKmpaWhdVXLJzs7GokWLYG5ujtjYWKVl6enpWLBgAfr06YO+ffvi448/Rl5eXk1MoVpoK5dBgwahW7duSvvLvHnzamIKWleVTEJCQjB06FBIpVKMHTsWJ0+eVCwrKirCl19+CScnJ9jb22P27NlISEioqWlonbZy8fb2RteuXZX2lR49etTUNLRO3VyEENi4cSNkMhmkUilGjhyJsLAwxfKGeiyqLJeGfCwqkZKSAqlUig0bNijeq5P7iyAionpl3LhxwsfHR2RmZoq7d++KIUOGiB9//LFMu1OnTokePXqIP//8U+Tm5opvv/1WODo6iuzsbCGEEAEBAWL8+PHi4cOHIi0tTXh6eop33323pqejNdrKxc3NTezbt6+mh19t1M0lOTlZDBkyRHz00Ueic+fOIiYmRmm5p6encHd3F0+ePBHJycliypQp4pNPPqmpaWidtnKRyWTiwoULNTXsaqVuJseOHRN2dnbi0qVLQi6Xiz179ghLS0sRHx8vhBBi69atQiaTiZiYGPH06VPh5+cnRo8eLYqKimp6SlqhrVyWLFki1q9fX9PDrzbq5vLTTz8JJycnERsbKwoKCsQvv/wiunTpIq5fvy6EaLjHospyaajHotI8PT2FnZ2d0u9NXdxfWFATEdUj165dExYWFiI9PV3x3s6dO8XQoUPLtHV3dxefffaZ4nVhYaFwdHQUhw8fFvn5+cLOzk6cPHlSsTwmJkaYm5uL5OTk6p1ENdBWLkK8XH/EVCWXGzduiBMnToiEhIQyhePjx49Fly5dxI0bNxTv/fbbb8LGxkbI5fLqnUQ10FYuQrw8BXVVMgkLCxM7duxQeq9nz57i4MGDQgghRo4cKbZs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trYWc+fOFUlJSbU2rxelrVzS0tKEt7e36NOnj7C2thZubm5lvoatPlE3l4KCArFx40bh6OgorK2txYgRI0RoaKiin4Z6LKosl4Z6LHre8183Vxf3F4kQdeyubiIiIiIiIqJ6gJd8ExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERERERGRBlhQExEREREREWmABTURERFRHRIWFgYrKyvI5XK12m/YsAGOjo4VtjE3N0dISIg2hkdERKWwoCYiIiKqotmzZ8PV1bXc5cuXL4dMJkNhYWGV+3ZxcUF0dDQaN278IkPUKnWK9tpy6dIl/O9//6vtYRBRA8WCmoiIiKiK3NzccPnyZdy8ebPMsqysLBw6dAiurq7Q1dWthdE1LFu2bGFBTUS1hgU1ERERURUNGDAAbdu2xc6dO8ssO3DgAIqKijB58mTcu3cP8+bNg52dHaRSKcaPH49z584p2m7YsAFjx47Fhg0bYGtri2PHjiE0NBTm5uZ49uwZAFTaR4lffvkFQ4YMgVQqxdSpU3Hr1q1yx797926MGTMGUqkUjo6O8PPzQ25urtrz9/b2xnvvvYcff/wRjo6OkEql8Pf3R3JyMv79739DKpVi2LBhiIqKUqxjbm6OLVu2wMPDA1KpFPb29lizZg2KiooUbU6cOIHx48fD1tYWDg4OWLRoEVJTUwEADx48gLm5Ofbs2YNBgwbBw8MDkyZNQnh4OH788UfFZfI5OTnw9fVF7969YW1tDWdnZwQHByu2ERkZCXNzc1y7dg3Tpk2DVCrFoEGDEBYWpmhTUFCAdevWYeDAgZBKpZgyZQoiIyMVy5OSkvD+HFb8mgAAB7dJREFU+++jb9++6N69OyZOnMiinqiBYkFNREREVEU6OjqYPn06Dh06hKysLKVlu3btwqhRo/DKK6/Ay8sLjRo1QkREBCIjI9G3b194eXkhLS1N0T45ORkZGRn43//+h6FDh5bZljp9ZGZmIjw8HLt27UJERAReffVVzJ07FwUFBWX627dvHwIDA7F06VL88ccf2LZtG6KiorB8+fIqZXD58mUUFRXh119/xYoVK7Bt2zYsWLAA//3vfxEZGQkzMzMEBAQorfP9999j+vTpiIqKwtq1axEcHIx9+/YBAC5evAgvLy+8/fbbuHDhAvbt24e4uDgsWLCgzPi3bt2KoKAg7N27F61bt8asWbMUl8mvWbMG586dw/79+3H16lX4+PggICAAZ8+eVernq6++wmeffYaoqCgMHjwYy5YtQ3p6OoDiDzoOHjyIzZs3IyoqCkOGDMG7776LxMREyOVyzJw5E/r6+jh06BAuXryIUaNGwd3dHbGxsVXKkIjqPxbURERERBqYMGECACid2YyKisLt27cxY8YMAMXF9eeff46mTZuicePGcHFxQU5ODm7fvq1YJyMjA/Pnz4eBgQEkEkmZ7ajTh1wux+LFi2FqagojIyN4eHggJSUFV69eLdPftm3bMHHiRPTu3Rs6Ojp46623MH/+fBw9elTtB6EBgJ6eHmbPno3GjRsrPgjo06cPOnXqhMaNG2PgwIGIiYlRWkcmk8HR0RF6enro168fHB0dcfz4cQDA9u3b0bt3b7i4uKBx48Zo06YNPDw8EBkZiYcPHyr6GD58ONq0aaMyKwBYsmQJQkND8a9//QsSiQQDBw7Ea6+9hj///FOp3fTp09G+fXvo6elh1KhRkMvluH//PoQQ2LVrF9zc3NCxY0fo6elh5syZ+OSTT6Crq4uIiAjEx8dj+fLlMDExgb6+PmbOnIn27dvj8OHDaudHRC8HvdoeABEREVF9ZGRkBBcXF0XxBQAhISGwt7dHly5dAADXrl1DUFAQbt26pXRJdcnl3ADQvHlzmJiYlLsddft44403FK/btWsHoPjS5OfFxcXhzp072LFjh9L7QggkJSUp1q1Mq1atFEWtoaEhACiNwdDQUGmMANCxY0el123atMGFCxcAAPfv30evXr1Uto+Pj0ebNm0AAGZmZhWOKyUlBYGBgbh06RKePn0KoPgDh+fHUnqeTZo0AQDk5eUhLS0N6enpStvR1dXF6NGjAQAHDx5EUVER+vTpo9SfEAKJiYkVjo2IXj4sqImIiIg05Obmhp07d+LixYvo0KEDwsPDsWbNGgDFBaK7uzumTJmC9evXw9TUFPHx8Rg8eLBSH40aNSq3f3X70NFRfdGhvr5+mfcMDAzg7u6OOXPmVHW6lW6zvHGUUPXU85Ki/PmCF4Di/urSZ6MryquoqAhz5sxBixYtEBISgrZt20IikWDAgAHlbvd5JQ+SK31vd2kGBgZo0qQJrly5Uu44iKjh4CXfRERERBrq0KEDHB0dERoaioMHD+K1116Ds7MzAOCvv/6CXC7He++9B1NTUwAoc9lxZdTtIz09HY8fP1a8jouLA1B8Fvl5b775Jq5fv670XkZGBjIyMqo0Nk3cu3dP6XV8fLzirHb79u3LPEjtzp07imXqePLkCe7du4fp06ejXbt2kEgkSEpKQkpKitpjNDY2homJSZn7obds2YLbt2/jzTffRE5OTpnlCQkJEEKovR0iejmwoCYiIiJ6AW5ubjhx4gRCQ0OVviqrbdu2AIoftiWXyxEREYFjx44BUH0ptirq9qGvr4/Vq1cjIyMDmZmZCAoKQvv27WFpaVmmz5kzZyI8PBwHDhyAXC5HcnIyPvjgA/znP//RPAQ1nT59GufPn0d+fj4iIiJw/vx5DB8+HADg6uqKCxcuICwsDPn5+bh//z6CgoIgk8nQsmXLcvs0NDREfHw8nj59CmNjYxgZGeHy5csoKCjArVu3sHLlSpiZmamdOQBMmzYNO3bswF9//YWCggKEhIRg7dq1MDQ0hKOjIzp37gxfX188fPgQBQUFOHLkCIYPH47Lly+/cEZEVL/wkm8iIiKiFzBw4ECYmpri/v37mDRpkuJ9KysreHp6YuXKlfDx8UGfPn3g7+8PQ0ND+Pv7q9W3un289tpr6NevH8aPH4/U1FR06dIFmzZtUnlZ8/Dhw5GamopNmzbh448/RtOmTeHs7IzFixe/eBiVmD59OrZv3w4PDw80atQIc+bMwdixYwEUfxVZQEAAfvrpJ6xcuRImJiZwcnIq85Tv502bNg2rV6+GTCbD/v37sWrVKqxatQo///wzOnfujOXLl+Pq1asIDAzE4sWLMXHixErH6enpCYlEgnnz5iE7OxsdO3bEt99+q7iv+uuvv8aqVaswZswYPHv2DB06dMCXX34JOzu7Fw+JiOoVieC1KURERERUzczNzeHr6wtXV9faHgoRkdbwkm8iIiIiIiIiDbCgJiIiIiIiItIAL/kmIiIiIiIi0gDPUBMRERERERFpgAU1ERERERERkQZYUBMRERERERFpgAU1ERERERERkQZYUBMRERERERFpgAU1ERERERERkQZYUBMRERERERFpgAU1ERERERERkQZYUBMRERERERFp4P8BeIKpC9mg7iwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "0a8UR6ecf9k5" }, "source": [ "Logistic Regression" ] }, { "cell_type": "code", "metadata": { "id": "XPg0Fm0tfbt3", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "03350dd1e5214f3aabc48b7565ae4b49" ] }, "outputId": "d05996fd-8044-4a63-e036-92fe94ac3f60" }, "source": [ "LR = create_model(estimator='lr')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.88160.94170.87850.85450.86640.76020.7604
10.88160.95680.83180.89000.85990.75760.7589
20.85710.92400.87850.81030.84300.71240.7143
30.82040.89810.82080.77680.79820.63660.6374
40.81150.91330.82080.76320.79090.61970.6210
50.84020.89560.82080.81310.81690.67510.6751
60.82790.93320.76420.82650.79410.64660.6481
70.86890.93090.84910.84910.84910.73310.7331
80.86890.92580.89620.81900.85590.73600.7385
90.89750.95780.90570.86490.88480.79260.7933
Mean0.85560.92770.84660.82670.83590.70700.7080
SD0.02770.02030.04120.03710.03170.05610.0561
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8816 0.9417 0.8785 0.8545 0.8664 0.7602 0.7604\n", "1 0.8816 0.9568 0.8318 0.8900 0.8599 0.7576 0.7589\n", "2 0.8571 0.9240 0.8785 0.8103 0.8430 0.7124 0.7143\n", "3 0.8204 0.8981 0.8208 0.7768 0.7982 0.6366 0.6374\n", "4 0.8115 0.9133 0.8208 0.7632 0.7909 0.6197 0.6210\n", "5 0.8402 0.8956 0.8208 0.8131 0.8169 0.6751 0.6751\n", "6 0.8279 0.9332 0.7642 0.8265 0.7941 0.6466 0.6481\n", "7 0.8689 0.9309 0.8491 0.8491 0.8491 0.7331 0.7331\n", "8 0.8689 0.9258 0.8962 0.8190 0.8559 0.7360 0.7385\n", "9 0.8975 0.9578 0.9057 0.8649 0.8848 0.7926 0.7933\n", "Mean 0.8556 0.9277 0.8466 0.8267 0.8359 0.7070 0.7080\n", "SD 0.0277 0.0203 0.0412 0.0371 0.0317 0.0561 0.0561" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "MS2k_hAXgP-h", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "a463af2b79b94ecd9365cc4ba0ee1641", "db9f6b4f028741f8bd5f4d93803b5e67", "43c55b638f584647aaefcf3b9cfcee29" ] }, "outputId": "7a15c813-ab9a-4bbb-a44f-9e888812a7da" }, "source": [ "TunedModel2 = tune_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.89800.94120.89720.87270.88480.79320.7935
10.88160.95700.83180.89000.85990.75760.7589
20.84080.92120.85050.79820.82350.67880.6799
30.82860.90150.83020.78570.80730.65310.6539
40.81150.91340.82080.76320.79090.61970.6210
50.84020.89570.82080.81310.81690.67510.6751
60.82790.93450.76420.82650.79410.64660.6481
70.86890.92970.85850.84260.85050.73370.7338
80.87300.92460.89620.82610.85970.74400.7460
90.90160.95770.90570.87270.88890.80070.8011
Mean0.85720.92760.84760.82910.83770.71030.7112
SD0.02990.01990.04160.03890.03410.06060.0604
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8980 0.9412 0.8972 0.8727 0.8848 0.7932 0.7935\n", "1 0.8816 0.9570 0.8318 0.8900 0.8599 0.7576 0.7589\n", "2 0.8408 0.9212 0.8505 0.7982 0.8235 0.6788 0.6799\n", "3 0.8286 0.9015 0.8302 0.7857 0.8073 0.6531 0.6539\n", "4 0.8115 0.9134 0.8208 0.7632 0.7909 0.6197 0.6210\n", "5 0.8402 0.8957 0.8208 0.8131 0.8169 0.6751 0.6751\n", "6 0.8279 0.9345 0.7642 0.8265 0.7941 0.6466 0.6481\n", "7 0.8689 0.9297 0.8585 0.8426 0.8505 0.7337 0.7338\n", "8 0.8730 0.9246 0.8962 0.8261 0.8597 0.7440 0.7460\n", "9 0.9016 0.9577 0.9057 0.8727 0.8889 0.8007 0.8011\n", "Mean 0.8572 0.9276 0.8476 0.8291 0.8377 0.7103 0.7112\n", "SD 0.0299 0.0199 0.0416 0.0389 0.0341 0.0606 0.0604" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "SD7RQpaaiJpJ", "colab": { "base_uri": "https://localhost:8080/", "height": 634, "referenced_widgets": [ "bce1c8fe885d45608d740beaadec1033", "7034122a4ff1489e9d7d26af63ce6af4", "bf891634e154429f9e7a228e21d84a2d", "2e407875db904ec0ae0a9b9ede4cd9ca", "55475be2cb3343bdac82821b1e7dc07b", "3ab14392cd464feca63d9f5bc7c721cf", "25ff3ee0e3ba4ac59b4b968455e6ffd1" ] }, "outputId": "a3a8f4b1-9ad8-48ce-c419-ad371b6a1317" }, "source": [ "evaluate_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bce1c8fe885d45608d740beaadec1033", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "ouT997cx7VIa", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "0bb2e8fe-f20c-44ed-c50a-58ddec171319" }, "source": [ "plot_model(LR, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGACAYAAAC6OPj9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3zP9f//8ft7Z2PYHEZzFpKZnEIqPkMbQhIWTRaJnMr5XA6JJLHkk07knGNkNscmFMkcy0cOK+cwNmZ2fP/+6Nf72z42G3nvveen2/Vy2eXSXq/3+/V6vN5vn89ue79fr/csVqvVKgAAAIM5OXoAAACAv4ugAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2iAHFSrVk0XLly4L9vatGmTRo4cecfbnDx5Uj/88EOubx8eHq569eopODhYwcHBCgoKUvv27RUdHX1fZr7fLl68qKeffvq+bvPEiRPq27evmjdvrhYtWqhz587atm3b39rmgQMH1KRJE/Xu3fue7j9s2DBt3br1b83wpzNnzqhatWqaOnXqbeu6d++uwMDAHLdx+fJlbdmyJct19nhOgLxm4XNogDurVq2aoqOjVapUqTzZ39y5c5WWlqZXX301V7cPDw/XhQsX9NZbb9mWxcTEqEePHvrmm29UuHBhe42aL1y8eFHPPPOMBg4cqM6dO8tisSgmJkZ9+vTRu+++q8cff/yetjt79mzFxsZq2rRp93niu3fmzBl16tRJBQsWVFRUlJyc/vhd9PLly+rUqZMk5RhP69ev165duzL9OwH+l7g4egDAVMnJyXrrrbe0e/duOTk5qUmTJho6dKicnZ317bffasyYMfL09FT37t01depUrV27Vnv27NHatWs1b9487dmzR2+//baSk5NltVo1YMAAubu766OPPpKrq6sSEhJUtWpV2+3j4uI0atQo/fLLL/L09NTw4cOz/WFdu3ZteXp6KjY2VgEBAfrxxx81efJkJSQkyNvbW9OnT1fZsmWVnJysYcOGad++fapSpYoefvhhXb58WVOmTFFoaKjq1KmjjRs36q233tKDDz6oiRMn6uDBg7bg6tChgyRpxowZioyMlCT5+vpq2rRp8vX1zXJ5amqqnnrqKf3000/KyMjQzJkzFRUVJUl65JFHNG7cOHl6eio0NFSBgYHauHGjzpw5o/r162v69OmyWCyZjnXevHl67LHHFBISkun4P/zwQ1uE7t69W1OmTFFSUpK8vLw0btw41axZU6tWrdI333yjQoUK6ccff5Szs7NmzpypEydO6IsvvlB6erpefvlltWzZ0vY8SNKqVavu+Dy2bNlSoaGheu6559SuXbu73n+VKlVue049PDxUrlw57d27V48++qgkacOGDWrUqJG+++472+1mz56ttWvXKj09XZUrV9a0adN0+vRpTZgwQenp6bp586YGDx6skJAQtWrVSj/99JOmTJlie0569+6tBg0aKCwsTNevX1erVq308ccf66GHHrrr/40AeYm3nIB7NH/+fF24cEHr16/X6tWrtXfvXn399ddKT0/XiBEjNGHCBG3YsEGxsbFKSkq67f5Tp07VyJEjFRERoTlz5mjz5s0KDAxUixYt1K1bN40YMSLT7adPn67KlStry5Ytmjp1qgYPHqyUlJQsZ4uKilJqaqoqVaqkGzduqE+fPho0aJA2bdqkbt26aeDAgZKk5cuX6/fff9e2bds0ceJErVq1KtN2Dh8+rPXr16tOnTqaMmWKnJyctGHDBi1fvlzh4eE6duyYfvnlF0VGRurrr79WVFSUWrRooe+++y7b5X+1YcMGbd++XatWrdL69euVkJBgiwbpj1cdPv/8c0VFRen777/Xvn37bjvWH374QU2aNLlteZ06dfTAAw8oMTFRAwcO1JgxYxQZGamePXtqyJAhysjIkCRt375dXbp0UVRUlBo0aKD58+crODhYL7zwgoKCgvTxxx9n+Rjf6Xn8q3vZf3aCg4P19ddf275fv369goODbd8fPnxYixYt0sqVK7Vx40alpKRo4cKFqlGjhu14ZsyYIUm6du2aqlevroULF2baxxtvvGEL6PDwcLVt25aYgREIGuAeffPNN+rUqZNcXFzk4eGhNm3aaOfOnYqNjVVKSorth2xoaKjth9dfFStWTGvWrNGJEydUoUIFTZ8+/Y77i46Otp3n8PDDD2vLli1yc3OT9EfA/HkOTd26dbVgwQJ98skntt/8fX191bhxY0nS008/rd9++03nzp3T3r17FRQUJBcXF/n5+d0WBk2aNLG9vbFt2zZ169ZNTk5O8vHxUYsWLbRx40YVLlxYcXFxWrduneLj4xUaGqpnnnkm2+X//Rg+88wz8vT0lLOzs5599lnt3LnTtj44OFgeHh7y9PRUhQoVdP78+dsel/j4eBUvXjzbx+3gwYMqVaqU6tatK0kKCgrS1atXdfbsWUlS5cqV5e/vb3tcs9rHneT0PN7P/T/11FPaunWrUlNTdfbsWd26dUsVK1a0rff397e94uPk5KTatWvr9OnTWW4rNTVVLVq0uG156dKl9dJLL2no0KGKjo5W//797+rxAByFoAHuUVxcnIoUKWL7vkiRIrpy5Yri4+MznbdSsmTJLO8/efJkFShQQGFhYXrqqadsb81k59q1a/Ly8rJ9X6hQIdt/BwUFKTIyUpGRkerSpYtKly6tmjVrSpISEhJ0+vRpW/AEBwfLzc1NcXFxSkhIUNGiRW3b8fX1zbTPvx7f9evX9dprr9m2sXnzZiUmJsrX11fh4eGKjIxU06ZN1atXL50/fz7b5bl5DLM6RmdnZ6Wnp9/2uHh7e+vixYvZPm5xcXG3nUfk5eVl289fH9Ps9nEnOT2P93P/RYoUkb+/v3bs2KGIiAi1bNky0/qkpCRNmjRJQUFBCgoK0uLFi5XdaZLOzs6ZHt+/6tChg/bs2aNWrVrJw8Mj+4MH8hGCBrhHxYsX17Vr12zfX7t2TcWLF1ehQoV08+ZN2/LLly9ne/+xY8dq+/btGjdunEaOHKnExMRs91e0aFFdvXrV9v2ZM2eUmpp62+169uyp7du368iRI5L+CKpKlSrZgicyMlK7du2Sv7+/ChUqlGmfly5dynb/JUuW1OzZs23b2LZtm4YPHy5JatiwoebOnaudO3eqdOnSevfdd++4PKfH8G40aNDAdg7OX23ZskU7duxQsWLFMu3DarUqPj5exYoVy/U+nJycMoVGQkJCpmO40/N4P/b/V61bt1ZUVJQiIyPVqlWrTOvmz5+v2NhYrVq1SlFRUercufM97WP27Nlq3769Vq1adcdYBPITgga4R02bNtWKFStsJ1p+9dVXatKkiSpUqKC0tDTt3r1bkrRkyZLbTmRNTU1VaGiofv/9d0lSjRo15OLiIicnJ7m4uOj69eu37S8wMFCrV6+WJB0/flzPPvtslr/NFylSRGFhYbZLfGvVqqVLly7pwIEDkqTTp09r6NChslqtqlmzpjZu3KiMjAydP39e27dvz/Z4AwMDtXTpUklSWlqaJk+erCNHjmjHjh0aP368MjIy5OnpqYceekgWiyXb5f/9GK5du1ZJSUlKS0vTihUrsjwf5k5efPFFHTp0SHPnzrW9tffjjz/qjTfekIeHhwICAnT58mXFxMRI+uO8k1KlSqlMmTK53kfJkiV16tQpJScnKykpyfYqzJ2exz/dj/3/VbNmzbRnzx45OzurbNmymdZduXJFlSpVUsGCBXX27FlFR0fb4jq7f1f/7ejRo9q8ebNGjRqlbt26adKkSfc0J5DXuMoJyIXQ0FA5Ozvbvp80aZJCQ0N1+vRptW7dWhaLRcHBwWrZsqUsFovefPNNjRw5Ul5eXgoLC5OTk1OmH+aurq567rnn1L17d0l/vAIwZswYFShQQP/61780ZMgQnT17Vk2bNrXdZ+jQoRo+fLgCAwNVsGBBvfvuu9m+HdCtWzctWLBAW7duVWBgoGbNmqWJEycqMTFRrq6uGjhwoCwWi55//nn98MMPat68uapWrarWrVsrPj4+y22+9tprGj9+vIKCgiRJTzzxhKpVq6b09HStX79eQUFBcnNzk4+PjyZPnqySJUtmufyvgoOD9Z///EfPPvusrFarGjRooG7dut3Vc1O8eHEtXrxY77zzjpo3by53d3eVKFFC77//vurVqydJev/99zVx4kTdvHlTPj4+eu+9926Lqztp0KCBatWqpaCgIJUpU0bNmjXTzp077/g8/snT0/Nv7/+vPD09VatWLdtbin8VEhKiAQMGKCgoSNWqVdOIESPUv39/zZs3T40bN9bnn3+uDh06aObMmVluOyMjQ2PHjtXw4cPl4eGhbt26aeXKldqyZYuaNWt2T/MCeYXPoQHs7ObNm6pdu7b27t2b6XyJ/MJqtdp+uE6dOlXp6ekaNWqUg6cCgLvDW06AHXTo0EERERGSpIiICFWuXDlfxsyWLVvUoUMHpaSkKDExUdHR0XrkkUccPRYA3DVeoQHsYO/evZowYYKSk5NVsGBBvfnmmwoICHD0WLdJT0/X+PHjtXPnTjk5Oalp06YaOXJkpnNAAMAEBA0AADAev4YBAADj5burnDIyMmxXYtzrVQAAAOB/i9VqVWpqqgoWLJjl2+L5LmgSExN17NgxR48BAADyoapVq2Z5kUW+CxpXV1dJUo85I/R7wpUcbg3gf9mpBd/pYtJZR48BIB9IT01X3G8Jtk74b/kuaP58m+n3hCs6f/V3B08DwJHc3d3lku6c8w0B/GNkdzoKJwUDAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETTIU6cWfKeUDaeUtP54pq8qfhXl6uKqKT1HKXbh90paf1xnl+7V1J6j5ebqZrt/6wbNtGvmV7q25idd+DJG03qNkbOTswOPCMD98v2O3arkU/W2r7JelfT6K0MkScePnVDXdt1UpeTDetgvQH1e7Ke4y3EOnhz5gV2DJikpSW+++aYCAwNVt25dde7cWTt37rTnLmGAl2cMU4HWD2b6+uXsKc18dbxaPxqop0Z0kefTVdRuXA+9FNxZb4S+LklqUL2O1oz/VEu2faWSHR9R49faq2mtRpoUNszBRwTgfmj4eAOdjDuW6ev7n3aoiHcRdXrhOV27Gq+OwSHyf8RfP/7yvbb8sFHJt5L1yYefO3p05AN2DZoJEyYoJiZGn376qXbt2qX27durd+/eOnnypD13C0Nt2vetQqcO1LEzJ2W1WrX32AF9e2iPHqlcQ5L0bOOWOnHuV4Wv+UwpqSk6cS5Woz6bqj5tQuXi7OLg6QHYw4iBo9Xm2dZq9ERDLfpssYr6FNXI8cNUuEhhlX6glD5b9rGGjRvs6DGRD9gtaOLj47Vu3Tr1799fFStWlLu7u0JCQlS5cmUtXbrUXruFATo1aaMjn2zVtTU/ae/sCLVt9JQkafWODdp/4ogkycXZRcH1/6UmAQ31xaYVkiSrrHJyyvxP9nJ8nIoULKyqZSrl7UEAsLuNEZv1w/c/atSE4ZKkndG75F/LXyNfG6Oa5euobpWGGvnaGCXeSHTwpMgP7BY0R44cUWpqqmrWrJlpeUBAgA4cOGCv3SKfO3jqZx397biaDH5OZbs8qlU7N2j1m5+oQfU6ttvMff0dJUec1KIR4Rr68SQt+2atJGn1zkhVKlVOrz3bUwXcPVSmRGmN7jJAklS8iI9DjgeAfWRkZGjKuHfUd1AfeRX2kiSdO3teG9ZGquYj/vrhP7v02bK52rxhq8YNHe/gaZEf2C1o4uL+OEmraNGimZZ7e3vrypUr9tot8rl2417S4I8m6HJ8nK7fvKHJi8O1/8QRvdyyi+02vWYMk0frynr+7b6a1H2oBj/3iiRp98/79Pzkvur+VCddWBajVW98rPmblkuSUtNSHXI8AOwj4qtIXTh/Qd1fCbUts1qtqvmIv7p0D5GHh4dq1QlQ30G9tWrpGqWlpTlwWuQHDrnKyWKxOGK3yKeOn4uVX/FSmZalpqVq495ovfPlHI16vr9t+fLtX+uR3k+pyDPV9Wi/p3Xi3K+SpF8vns3TmQHY16qlq9WiVXN5eHjYlvmW8pW3T+ZfkstXLKeUlBRducSVTv90dguaYsWKSZKuXbuWafnVq1dVvHhxe+0W+ViFUmX1Qf9JKlKwcKbl1ctV0fFzsfrp023qEtg+0zp3V3elpf/xm1fpYr4KC+qcaX3rBs107MxJnbtywb7DA8gzN67f0LaN0Qpu81Sm5dX9H9LhAz8pPT3dtiz25K/yKOChkqVK5PWYyGfsFjT+/v5yc3PT/v37My3ft2+f6tWrZ6/dIh+7ePWS2jUK0ocDJsvHq6g8PQpo7AuvqapfRYWv+Uy7j8ZofLfBqlX5YTk5OalOlZrq2/ZFLf/2a0mSs5OT5gyYrIHte8jJyUmP1ainkSF9NWnRTAcfGYD76fCBI0pJSZF/rRqZlof1flFXLl/R5LFTlXgjUT8fPqoPZ3ykbj1f4JV/yG7Xunp5ealDhw4KDw9X1apVVapUKS1evFhnz55VSEiIvXaLfCwp+ZZajHheU3uO0tHPolXQw1P7jh9SkyEddezMSb06a5TGvfC6It76Qj5eRXXuykUt3LJKExa+L0k6c+m8Ok3qo7d7jNDbPUbq3JULGvnZFC3YvNLBRwbgfrp4/qIkqXiJzK/mV6hUXou/+kITRr6lgPJ1VMjLS89376xBowY6YkzkMxar1Wq118ZTUlL0zjvvaP369UpMTFT16tU1bNgw1a1bN9v7JCcn6/Dhw2oz9WWdv/q7vUYDYADrpjM6d/NXR48BIB9IS0nXpRNX5e/vL3d399vW2/XTyNzc3DRmzBiNGTPGnrsBAAD/cPwtJwAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYLwcgyY1NVUXLlyQJB09elRr1qxRUlKS3QcDAADIrRyDZsSIEdq/f78uXryo/v3769ixYxoxYkRezAYAAJArOQbNxYsXFRwcrIiICHXp0kXDhg1TfHx8XswGAACQKzkGTUpKiqxWqzZt2qSmTZtKkm7evGnvuQAAAHItx6B59NFHVbduXZUoUUIVK1bUvHnzVLFixbyYDQAAIFdccrrBkCFD1KtXLxUuXFiS1Lx5c3Xt2tXugwEAAORWjq/QREdHa9u2bZKkwYMH66WXXrJ9DwAAkB/kGDQffvihnnjiCUVHRysjI0OrV6/WggUL8mI2AACAXMkxaDw8POTj46Po6Gi1a9dOBQsWlJMTn8cHAADyjxzLJDk5WZ988om+/fZbNWrUSLGxsbp+/XpezAYAAJArOQbNxIkTdfHiRb399ttyd3fXjh07NHTo0LyYDQAAIFdyDJoqVapo9OjRqlevniSpU6dOWrJkid0HAwAAyK0cL9tes2aNpkyZYvt0YCcnJzVs2NDugwEAAORWjkGzYMECrVu3ToMGDdJHH32kdevWycvLKy9mAwAAyJUc33Ly8vJSiRIllJ6eLk9PT3Xu3FkrV67Mi9kAAAByJcdXaJydnbVt2zaVLl1a4eHhevDBB3X27Nm8mA0AACBXcnyF5p133lGpUqU0atQo/f7771q7dq3Gjh2bF7MBAADkSrav0GRkZEiSvL295e3tLUkaP3583kwFAABwF7INmocfflgWi+W25VarVRaLRT///LNdBwMAAMitbIPm6NGjeTkHAADAPcv2HBqr1aoPP/xQ6enptmUnTpzQnDlz8mQwAACA3Mo2aD744AMdOXJEKSkptmW+vr46evSovvjiizwZDgAAIDeyDZpt27ZpxowZKlCggG1ZoUKFNHXqVEVEROTJcAAAALmRbdB4eHjIzc0ty+VOTjle7Q0AAJBnsi2Tmzdv6ubNm7ctj4+PV2Jiol2HAgAAuBvZXuXUrl079evXT+PGjVOFChUk/XHl0/jx4xUWFmb3wYocStKti7cHFYB/lgc8yzt6BAD5QLJzsi7parbrsw2asLAwubm56cUXX9SNGzeUkZGhYsWK6ZVXXtEzzzxjl2H/Kuq79XJxc7b7fgDkXz4+PvIZVc/RYwDIB0p4FNUHjYZnu/6Of8upa9eu6tq1q27cuCGLxaKCBQve9wEBAAD+rhz/OKX0x9VNAAAA+RWXKwEAAOMRNAAAwHg5Bs3Zs2c1YMAAhYaGSpK+/PJLxcbG2nsuAACAXMsxaMaOHat27drJarVKkipWrKixY8fafTAAAIDcyjFoUlNT1axZM1ksFklS/fr17T4UAADA3cjVOTQJCQm2oPnll1+UnJxs16EAAADuRo6Xbfft21edOnXSpUuX1KZNG129elXTpk3Li9kAAAByJcegadiwodasWaNjx47Jzc1NFStWlLu7e17MBgAAkCs5Bs3MmTOzXD5w4MD7PgwAAMC9yPEcGmdnZ9tXRkaGdu/erevXr+fFbAAAALmS4ys0/fr1y/R9enq6+vfvb7eBAAAA7tZdf1JwWlqafvvtN3vMAgAAcE9yfIWmSZMmtku2JSk+Pl7t27e361AAAAB3I8egWbx4se2/LRaLChUqpMKFC9t1KAAAgLuR41tO06ZNk5+fn/z8/PTAAw8QMwAAIN/J8RWaMmXKaMWKFapdu7bc3Nxsy8uWLWvXwQAAAHIrx6CJiIi4bZnFYtGWLVvsMhAAAMDdyjZo1q5dq7Zt22rr1q15OQ8AAMBdy/YcmhUrVuTlHAAAAPfsrj+HBgAAIL/J9i2nmJgYNW3a9LblVqtVFotF33zzjR3HAgAAyL1sg+bhhx/We++9l5ezAAAA3JNsg8bNzU1+fn55OQsAAMA9yfYcmoCAgLycAwAA4J5lGzRDhw7NyzkAAADuGVc5AQAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BA4dbtmC5nqwdqEo+VdWoxhOaG/6JJCkjI0P/nvmxmtZtrgdLVFfjgKZa9sWXDp4WwP1SpVh5zW0/QT/0XaEjr32tr0Jnq3nlRrb1j5R+SMuen6FDA9dqz6tfakLzAfJwcc9yWxNbDNTxIRvlV9g3r8ZHPkPQwKG+Wr5WE0dP1qR3x+vn84c0fc47WvT5Eh2MOaR/vz9XM96eqckzJurncwf1TvhkTRg9WVujtjl6bAB/k4eLuxZ1fle/Xj2npnNDVTu8vSKP7dAH7cbpwWLlVK5Iac3rOEVfH/1G9Wd3VMfFr+nBYuXUvkbz27bVuHwdta7WxAFHgfzErkFz+vRphYaGqlq1ajpz5ow9dwVDzZgyS6++9oqebPaE3N3d9diTjRS9b4sCatfU+jUb1K5jGz32ZCO5urqqcZPH9MJLXfT5v+c7emwAf5Onq4fe/fZTTd/xuRJTk5SSnqoFMV/JxclZVYtXUI/6z2nvmcNaEPOVbqUl69dr59Rl2RAtObA+03YKuhbQ5KDX9cF3ixx0JMgv7BY0mzZtUufOnfXAAw/Yaxcw3MXzv+uXo8flWaignmn+nKqV8lez+kFavewrSZLFIlkzrJnu41PMR/v3HXTEuADuo7ikeH15KFK30pIlSUU9vNSvUVedT7ikXb/GqFG5R3Qi7jfNaD1S+/qt0raXv9DrjbvLxck503ZGNn1FB84fVdQvOxxxGMhH7BY0165d06JFi9SuXTt77QKGO3f2nCRp4aeL9Pb7kxRzYo+6hIWo30sDtXvnHrVq11JfrVin7Vt3KCUlRQdjDmnpF8t09cpVWa3WHLYOwBQ/vfa19vZbqfplaurFFSN07dZ1lfYqoQ41ntK6n7ep4ZzOGh01Q6G12+qVR0Ns93u8fF21qPKY3tz8gQOnR35ht6Dp2LGjKlasaK/N43/An1HS49UwVfd/SJ4FPdXj1TDVqhOgLxeuUK8BPdWrfw8N7z9StSrU1fS33le3ni/I1dVVFovFwdMDuF8efv9pPTq7o6JP/aClIe+pgrefLLLom5N7tME1mM0AAAw/SURBVPXk90pJT9Wu32K07NAGdfBvIUkq5OapyUGva/yWDxSXFO/gI0B+wEnBcBjf0n9cjeDtUzTT8vKVyun82fNycXHRkDGD9N2Rb/XzuUOav+JTWSwWPVCWtzGB/zVxSfGatWuBLt64rC61ntbviVd09VZCptv8du2cfAsVlySNbNpLBy/8RxH/2e6IcZEPETRwmFKlfeVdzFv7f8x8TkzsiV9VtkJZHTn4kzau35Rp3ZbIrWr8ZCMBMFuzyg31zctfyM3ZNdNyN2c3pWWk6+ilUwooVS3TuvJFH9CZ+IuSpM4BrdS4fB3teXW59ry6XF+FzpYkfRU6Wy/X75g3B4F8xcXRA+Cfy9nZWb3699SH7/1bjz3ZSA0a19eS+V/q8IEjmjZ7ik78clKvvzJES9YuUN0GdbTo8yXa9e33itq1PueNA8jXYs79rAKuHnqzWT9N3f6JklJv6flarVXe+wFt/GWHnJ2ctbjzu+pep70WH/hatUo/pE41W2rGzj+ucnz8310yba+UV3Gt6DpLPVeN0fErvznikOBgBA0cqv+QV5WelqZBvYfqyqUrqlylkhaunif/WjXkX6uGTh4/pd6hfRV/LV4P1XhIi9bM14NVKzt6bAB/U1xSvF5YNlQjmvZSdK8FslqtOhF3Wq+uGa/9549KkvqtnaTXH39Rw57soSs34xX+3UItiPnjKsgLNy5n2p7z/7/66VLiVd1IuZm3B4N8wWK18+Uiu3btUlhYmLZs2aIyZcrkePvk5GQdPnxYJSp7y8XNOcfbA/jf5V+mtnxG1XP0GADygRIeRfVBo+Hy9/eXu/vtnxhtt1dogoKCdO7cOduVLMHBwbJYLGrXrp0mTZpkr90CAIB/ILsFTVRUlL02DQAAkAlXOQEAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOO5OHqA/2a1WiVJ6anpDp4EgKP5+vqqqEdRR48BIB/wcS8s6f864b9ZrNmtcZDr16/r2LFjjh4DAADkQ1WrVpWXl9dty/Nd0GRkZCgxMVGurq6yWCyOHgcAAOQDVqtVqampKliwoJycbj9jJt8FDQAAwN3ipGAAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGC/ffVIw/nliY2O1dOlS7d+/X3FxcbJYLCpevLjq1aunkJAQlS5d2tEjAgDyOV6hgUPt2rVLbdu21e7du1W1alW1bNlSwcHBqly5srZu3arWrVtr//79jh4TQD4ybtw4R4+AfIgP1oNDhYSEqH379urcuXOW6z/99FNt2rRJS5cuzePJAORXtWrV0oEDBxw9BvIZ3nKCQ504cULt27fPdn3Xrl0VHh6ehxMBcKRz587dcb3Vas32jxPin42ggUMVLlxYFy5cULly5bJcf+HCBXl6eubxVAAcJTAw8I5/x89qtfJ3/pAlggYO9cQTT2jgwIHq37+/atasqSJFikiSrl27pgMHDmjWrFl6+umnHTwlgLxSv359lSlTRm3bts1yvdVq1SuvvJLHU8EEnEMDh7p165bGjx+vdevWKT09PdM6V1dXdejQQaNGjZKrq6uDJgSQl06fPq2QkBAtXrxY5cuXz/I2nEODrBA0yBcSEhJ05MgRxcXFSZKKFSsmf39/FSpUyMGTAchrmzdvVnx8vDp06JDl+uDgYEVGRubxVMjvCBoAAGA8PocGAAAYj6ABAADGI2gA6MyZM/L391doaKhCQ0MVEhKiwYMHKyEh4Z63uXz5co0YMUKS9Prrr+vixYvZ3nbfvn06ffp0rredlpamatWqZbnu4MGD6t69u5599ll17NhRffr0sW17xIgRWr58+V0cBQBTEDQAJEk+Pj5asGCBFixYoKVLl6pkyZKaM2fOfdn2jBkz5Ovrm+36VatW3VXQZOfSpUvq16+fBg4cqFWrVmn58uVq1aqVevbsqbS0tL+9fQD5F59DAyBL9evX17JlyyT98WFnLVu21OnTpzVr1ixFRERo4cKFslqt8vHx0aRJk+Tt7a1FixZpyZIlKlWqlEqWLGnbVmBgoD7//HOVLVtWkyZN0uHDhyVJYWFhcnFxUWRkpA4ePKiRI0eqfPnyGj9+vJKSknTz5k0NGjRIjz32mE6ePKmhQ4eqQIECatCgQZYzL1y4UG3btlXt2rVty9q0aaMnn3xSLi6Z/+9u5syZ+u677yRJpUqV0rRp02SxWDRmzBidOnVKFotF1atX1xtvvKHvv/9e06dPl4eHh1JSUjR69GgFBATc18cbwN9D0AC4TXp6ujZt2qS6devallWoUEFDhw7V+fPn9e9//1srVqyQm5ub5s+fr48++kh9+/bVrFmzFBkZKW9vb/Xp08f2QYl/Wrt2rS5fvqwvv/xSCQkJGjJkiObMmaPq1aurT58+atSokXr16qWXXnpJDRs21KVLl9S5c2dt3LhRs2fPVocOHdSlSxdt3Lgxy7mPHz+e5Qey/fccaWlpKlCggBYvXiwnJyf16NFDO3bskK+vrw4cOKANGzZIkr788ktdv35d8+fPV1hYmFq1aqWTJ0/q1KlTf/chBnCfETQAJElxcXEKDQ2VJGVkZKhevXrq3r27bf2fr3rExMTo0qVL6tGjhyQpJSVFZcqU0a+//io/Pz95e3tLkho0aKCjR49m2sfBgwdtr64ULlxYc+fOvW2O3bt3KzExUbNnz5Ykubi46MqVKzp27Jh69eolSWrYsGGWx+Ds7HzbBzRmxcXFRU5OTurSpYtcXFx08uRJXb16VY899pi8vb318ssv61//+pdatmwpLy8vtWnTRu+9954OHjyoZs2aqVmzZjnuA0DeImgASPq/c2iy8+enNbu5uSkgIEAfffRRpvWHDh3K9Dd2MjIybtuGxWLJcvlfubm5KTw8XD4+PpmWW61WOTn9cdpfdtFStWpV7du3T61atcq0/MCBA5neIvrxxx+1cuVKrVy5Up6enhowYIAkyd3dXYsXL9aRI0e0bds2Pffcc1qyZIlatWqlxx9/XDt27NDs2bMVEBCgQYMG3fE4AOQtTgoGcFdq1qypgwcP6tKlS5KkDRs2aPPmzSpXrpzOnDmjhIQEWa1W2/kpf1W7dm19++23kqQbN26oY8eOSklJkcViUWpqqiSpbt26trd84uLi9NZbb0mSKleurP3790tSltuWpC5duigyMlLff/+9bVlERIRGjx5t274kXblyRX5+fvL09NTZs2e1f/9+paSk6NChQ1q9erVq1Kihfv36qUaNGoqNjdWsWbOUnp6uVq1aafTo0YqJifm7DyOA+4xXaADcFV9fX40ePVqvvPKKChQoIA8PD02dOlVFihRR79691bVrV/n5+cnPz0+3bt3KdN+WLVtq3759CgkJUXp6usLCwuTm5qbGjRvrjTfe0KhRozR69GiNGzdO69evV0pKivr06SNJ6tu3r4YPH67IyEjVrl37tpN8pT9eZVq4cKEmTpyoqVOnysPDQ35+fpo3b57c3Nxst2vcuLE+++wzPf/886pSpYr69++v2bNna+bMmYqKitKyZcvk5uamcuXKqU6dOjp//rxeeuklFS5cWBkZGerfv799H2QAd40/fQAAAIzHW04AAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4/0/1La5jMQji2sAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "DTGqqou5_rKg", "colab": { "base_uri": "https://localhost:8080/", "height": 418 }, "outputId": "2af48b79-40bf-4550-ce74-12b4aa489bf3" }, "source": [ "plot_model(LR, 'feature')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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XnR0NCdPnqR06dJky5YtQ475v0q5zjjKdcZRrjOG8pxxlOuM8zrnOjQ0NM3bqodaRERERERExAIqqEVEREREREQsoIJaRERERERExAIqqEVEREREREQsoIJaRERERERExAIqqEVEREREREQsoIJaRERERERExAIqqEVEREREREQsoIJaRERERERExAIqqEVEREREREQsoIJaXrq//voLFxcXzp8//1zt7N27F2dnZ+Li4l5QZM/Wr18/pk+fnuZzMBqN/Oc//2HevHkZFOHLYzQaGTBgAJUrVyY4OPhVh/PcXsX9IyIiIiLPx2g0sj08iuWHzrM9PAqj0fiqQzLzxhTUCQkJzJgxgxYtWlC5cmWqVKlC9+7d+fPPP19ZTGfOnMHZ2ZmwsDCz5V9//TU1atTg4cOHZsvbt2/PpEmTntnuxo0buXjx4guL08fHh/Lly+Pi4pLkNWrUqOduv0iRIoSGhlKiRIkXEO2LcevWLVatWpXqNsuXLycyMpJPPvkkzedgMBjw8/NjwYIFHDt2LNVtt23bRrdu3ahZsyYVKlSgWbNmzJ8/3/SfRGJiIt9//336Tuwpz3OvnDx5kg0bNrBixQratGmTZP2T902FChVwdXWld+/ebNu27bliTo7RaKRp06Z89913ya6fM2cOzZo1+9f9BysiIiIilgsIjcDZbw2N5mzkg5920GjORpz91hAQGvGqQzN5Ywrqb775hi1btjBjxgwOHDjAH3/8wTvvvEPPnj2JjIx8JTGVLVuWggULsnPnTrPlO3fu5MGDB2YF182bNzl58iT16tV7ZrszZsx4oQU1QMuWLQkNDU3yGj169As9zr/Fnj17Ui2o4+PjmT17Nn369CFz5szpartgwYK4u7sza9asFLc5fPgw/fv357333mPbtm0cOXIEPz8/li5dyvz58wE4ceIECxcuTNexn/Y898q9e/cAcHJySnGbJ+8bf39/GjVqxODBg5k7d65Fx0yJwWCgY8eOBAYGJrt+zZo1dOzYEYPB8EKPKyIiIiKvRkBoBF2Wbif8+l2z5eHX79Jl6fZ/TVGdvkrhX2znzp107NgRZ2dnAOzs7Pj4448pUqQIWbJkAaB79+7UqVOH8PBwNm/eTPbs2fn8889p164dAFeuXGH06NEcPHiQBw8eUL9+fUaNGsWdO3do0aIF+/btI0eOHMTGxlK9enU+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34Esb54OHTrw7rvv4unp+ULai4+PN/sAqVGjRnh7e9O5c+c07T9u3DgiIyNTnQfgSaGhoQDJTnT2MkRHR3Py5EnKly//2j2/9LpRrjOOcp1xlOuMoTxnHOU647zOuU7P32vqoRaR18qgQYP44YcfUn32Pa32799PjRo1OHr0KImJifj7+3P16lVq166dpv2joqIIDAykX79+zx2LiIiIiLx+VFCLyGulfv36tGzZkjFjxjx3WzVq1ODTTz9l0KBBVKtWje+//55p06al+H3rTzIajQwfPhxPT0/T94GLiIiIyP8WfW2WvFGenjFb3kwjRox4YW316NEjXV+F9pjBYGDx4sUvLA4RERERef2oh1pERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpERERERETEAiqoRURERERERCygglpeiBYtWrBq1apXHYakYs6cOXTr1i1N23755ZcMHTr0JUdkuaVLl9K9e3cePnyYZF14eDjOzs5cunTppcfxxRdfMHLkyJd+HBERSxiNRraHR7H80Hm2h0dhNBpfdUgiIm+czK86AHl97Nixg169evH+++8zatQos3UbNmxIczsuLi6mnxMSErCysiJTpkwAFC5cOF1t/dvs3r0bOzs7s3N8mbp3786+ffsICQmhWLFiZus2bdpEv3796NevH/3798fb2xtvb+80tfv111+/jHBfiNOnTzNz5kzWrFmDldXL/UzQ39+f4cOHkyVLliTrRo8ezfDhw2ndujUhISE0bdr0pcYiIpIeAaERDAs6SPj1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XGFhYdSrV49du3aRnJxMcHAwR44cyfYFmOjoaJYvX57hbPciIiIi8mxTQS0i+YqTkxNeXl6MGjUq3RnEc6JixYp88cUXzJgxg/r16zN58mTGjx9vfBxWVqZOnYqzszOtW7d+pDhEREREJH/SY7PkmfbgjNnybHjrrbceulfaXO7u7mbPiu7t7Z0rMYiIiIhI/qQeahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKahEREREREREzqKAWERERERERMYMKanls2rVrx9q1a590GPKMuXPnDq1bt2bv3r3prh8+fDijR49+7HGcP3+e//znP1y4cOGxtyUikhWDwUDQ2QhWHzlP0NkIDAbDkw5JRORfoeCTDkDyt+DgYPr370+fPn0YP368ybpffvkl28epXbu28d8JCQkUKFAAS0tLAMqVK5ejYz1t9u3bR5EiRUze4+OWnJyMi4sLcXFx7N69m0KFCuVZ24/bhAkTaNmyJf/5z38ee1uurq5ERERQoIDptccXXniB7du3M3DgQD788EN8fX0f2kZEJK/8HBLKqI2HOXvzrnFZlZJ2THOvT5faDk8wMhGRZ5/+ApRHsnbtWjp06MDmzZu5f/++2ccJCQkx/jRq1AhPT0/j6/xcTAMsX76cv/76K0/b3L17NzY2NpQtW5YdO3bkaduP0z///ENAQACDBg3KszbHjh1rcn6GhISwfft2AHr37s3Vq1efqRyLSP7yc0goPb8LMimmAc7evEvP74L4OST0CUUmIvLvYHYPdXBwMC1atADg+PHj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cKAqVKigN99802X522+/rby8PA0fPtxdZXqE5QlJCpiyUuGz16vvh98qfPZ6BUxZqeUJSSVdGgAAwA2JQA3AMm9vb9WtW1djxozR448/rujoaOXm5kqSEhIS1KdPHzVv3lxt2rTR+PHjlZ2draysLAUHB+vLL790meuJJ57Qq6++WuB+NmzYoB49eqhZs2bq0KGD5s2bJ0lasmSJoqOj9Z///EdNmjRRXFycy3Y+Pj6aNGmS5s2bp19++UWSlJycrLfeeksTJ05U+fLltXfvXj3xxBNq3ry5WrVqpZiYGGVnZzvn+OCDD9SpUyfZ7XZ17dpV69evd64bO3asXnzxRT3++OPq1q3btTe0BC1PSNKjczfrwOlzLssPnD6nR+duJlQDAAAUgEANoFj0799fR44c0e7duyVJzz77rFq1aqVt27bpk08+0VdffaXFixfL19dXXbp00erVq53bnjlzRnFxcerRo0e+effu3atRo0bp6aefVlxcnCZPnqwZM2Zo06ZN6t27t1566SVVr15dCQkJCg0Nzbd98+bNFRERoYkTJ0qSJk+erM6dO6tNmzbKysrSwIED1aZNG33//fdasmSJtm3bpnfffVeSFBcXpxkzZmj27NmKj4/XU089peeff16pqanO+Tdu3Kgnn3zS5XhuNOny0YmsXB07n13gn6MZDv1t1Y/KM6bA7fOM0dg18TJXWA8AAFBacQ81gGJRvXp1ValSRUeOHFFQUJBWrFghHx8feXl56Y477lBoaKh+/vlnSVLPnj01ePBgZWRkqFKlStq4caMaNGhQ4D3YS5cuVevWrdWpUydJUuvWrdW+fXutXbtW7dq1K1Rto0ePVteuXfX8889rx44d+uyzzyRJX3/9tYwxGjx4sCTJ399fAwYM0Jw5czRkyBCFhITou+++U5UqVSRJ3bp109///nft379frVq1kiTVqFFD4eHhReqVMUaZmZlF2saqrKws/VDmdv2QdFHSxQLH/JqSqsOpGX84T+J/zmnDnmSF1al+Haq8OWRlZbn8jeuHXrsPvXYP+uw+9Np9PLnXxphCP0OGQA2g2OTk5DgfVrZ161bFxsbq0KFDysnJUU5Oju6//35JUsuWLeXn56cNGzYoIiJCX3zxhbp3717gnEeOHFHdunVdltWuXVvx8fGFrqtq1aoaO3asRo8erZiYGOf91snJyTp9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4+O1d+/efOsyMjK0evVqRUZGysvLqwSqK13mzp1LoAZQYgjUAAAARdSuXTvVqlVLCxcuzLdu5cqVysvL06OPPqpDhw5pyJAhCgkJkd1u18MPP6xvv/3WOXbWrFnq2bOnZs2apeDgYK1bt07Lli1TQECALl68KElXneOyzz77TJ07d5bdbtf//M//aN++fVes/6OPPlKPHj1kt9sVFhamSZMmKSsrq9DHP3bsWA0dOlTvvfeewsLCZLfbFRMToxMnTuivf/2r7Ha77r//fsXFxTm3CQgI0Ny5czVs2DDZ7XaFhoZqxowZysvLc4754osv9PDDDys4OFgtW7bU888/r9TUVEnSkSNHFBAQoI8//lgdOnTQsGHD1Lt3b61fv17vvfee8zL5zMxMTZgwQa1bt1ZQUJA6deqkDz74wLmPbdu2KSAgQLt27VKfPn1kt9vVoUMHrVixwjkmJydHM2fOVPv27WW32/XYY49p27ZtzvXHjx/X008/rbZt26pp06bq1asXoR4opQjUAAAARVSmTBn17dtXq1evVkZGhsu6xYsXq1u3bvrTn/6kkSNHytvbW5s3b9a2bdvUtm1bjRw5UmfOnHGOP3HihNLT0/X999+rS5cu+fZVmDnOnj2r9evXa/Hixdq8ebNuueUWPfXUU8rJyck339KlSzVt2jT9/e9/148//qj58+crLi5O48aNK1IP4uPjlZeXp6+++krjx4/X/Pnz9cwzz+gf//iHtm3bJn9/f02ZMsVlm7ffflt9+/ZVXFycXn31VX3wwQdaunSpJOmHH37QyJEj1a9fP23dulVLly7VwYMH9cwzz+Srf968eYqNjdWSJUtUo0YNPfnkk87L5GfMmKFvv/1WqE5GrQAABqdJREFUy5cv108//aTo6GhNmTJF33zzjcs8r7/+ul5++WXFxcXpvvvu0//+7/8qLS1N0qVfdKxatUrvvPOO4uLi1LlzZw0ePFhHjx6Vw+FQ//79Va5cOa1evVo//PCDunXrpkGDBunAgQNF6iEAz0egBgAAsOCRRx6RJJczm3Fxcdq/f78ef/xxSZfC9SuvvKKKFSvKx8dHERERyszM1P79+53bpKena/jw4SpfvrxsNlu+/RRmDofDodGjR8vPz0+VK1fWsGHDlJKSop9++inffPPnz1evXr3UunVrlSlTRnfddZeGDx+utWvXFvpBaJJUtmxZDRgwQD4+Ps5fBLRp00b169eXj4+P2rdvr8TERJdtwsPDFRYWprJly+qee+5RWFiYPv/8c0nShx9+qNatWysiIkI+Pj6qWbOmhg0bpm3btunYsWPOObp27aqaNWsW2CtJGjNmjJYtW6a//OUvstlsat++vW699Vbt3LnTZVzfvn1Vp04dlS1bVt26dZPD4dDhw4dljNHixYsVFRWlevXqqWzZsurfv79eeukleXl5afPmzUpKStK4ceNUrVo1lStXTv3791edOnW0Zs2aQvcPwM2hbEkXAAAA4IkqV66siIgIZ/iSpEWLFik0NFQNGzaUJO3atUuxsbHat2+fyyXVly/nlqQqVaqoWrVqV9xPYee44447nK9r164t6dKlyb938OBB/fLLL1qwYIHLcmOMjh8/7tz2am6//XZnqPX19ZUklxp8fX1dapSkevXqubyuWbOmtm7dKkk6fPiwWrVqVeD4pKQk1axZU5Lk7+//h3WlpKRo2rRp2r59u86dOyfp0i8cfl/Lb4+zQoUKkqQLFy7ozJkzSktLc9mPl5eXunfvLklatWqV8vLy1KZNG5f5jDE6evToH9YG4OZDoAYAALAoKipKCxcu1A8//KC6detq/fr1mjFjhqRLAXHQoEF67LHH9MYbb8jPz09JSUm67777XObw9va+4vyFnaNMmYIvOixXrly+ZeXLl9egQYM0cODAoh7uVfd5pTouK+ip55dD+e8DryTn/dW/PRv9R/3Ky8vTwIEDVb16dS1atEi1atWSzWZTu3btrrjf37v8ILnf3tv9W+XLl1eFChW0Y8eOK9YBoPTgkm8AAACL6tatq7CwMC1btkyrVq3Srbfeqk6dOkmSfv75ZzkcDg0dOlR+fn6SlO+y46sp7BxpaWk6deqU8/XBgwclXTqL/Ht33nmndu/e7bIsPT1d6enpRarNikOHDrm8TkpKcp7VrlOnTr4Hqf3yyy/OdYVx+vRpHTp0SH379lXt2rVls9l0/PhxpaSkFLrGqlWrqlq1avnuh547d67279+vO++8U5mZmfnWJycnyxhT6P0AuDkQqAEAAK5BVFSUvvjiCy1btszlo7Jq1aol6dLDthwOhzZv3qx169ZJKvhS7IIUdo5y5cpp+vTpSk9P19mzZxUbG6s6deqoUaNG+ebs37+/1q9fr5UrV8rhcOjEiRMaNWqUnnvuOetNKKQvv/xSW7ZsUXZ2tjZv3qwtW7aoa9eukqTIyEht3bpVK1asUHZ2tg4fPqzY2FiFh4frtttuu+Kcvr6+SkpK0rlz51S1alVVrlxZ8fHxysnJ0b59+zRx4kT5+/sXuueS1KdPHy1YsEA///yzcnJytGjRIr366qvy9fVVWFiYGjRooAkTJujYsWPKycnRp59+qq5duyo+Pv6aewTAs3DJNwAAwDVo3769/Pz8dPjwYfXu3du5vEmTJhoxYoQmTpyo6OhotWnTRjExMfL19VVMTEyh5i7sHLfeeqvuuecePfzww0pNTVXDhg01e/bsAi9r7tq1q1JTUzV79my9+OKLqlixojp16qTRo0dfezOuom/fvvrwww81bNgweXt7a+DAgerZs6ekSx9FNmXKFL3//vuaOHGiqlWrpo4dO+Z7yvfv9enTR9OnT1d4eLiWL1+uqVOnaurUqfrkk0/UoEEDjRs3Tj/99JOmTZum0aNHq1evXletc8SIEbLZbBoyZIjOnz+vevXqac6cOc77qv/5z39q6tSp6tGjhy5evKi6devqtddeU0hIyLU3CYBHsRmuTQEAAMB1FhAQoAkTJigyMrKkSwGAYsMl3wAAAAAAWECgBgAAAADAAi75BgAAAADAAs5QAwAAAABgAYEaAAAAAAALCNQAAAAAAFhAoAYAAAAAwAICNQAAAAAAFhCoAQAAAACwgEANAAAAAIAFBGoAAAAAACwgUAMAAAAAYMH/A8hgpxACz0Z4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "AfpCozhKUJMM" }, "source": [ "CatBoost" ] }, { "cell_type": "code", "metadata": { "id": "BaNWLrxg_RwN", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "465c097926b74791b7ed2dfeb41366e8", "26fb1c534a0f4c32850a5704b197684f", "729905d4b2234c8d9895a1fa6713748f" ] }, "outputId": "95788680-e13d-4c33-8a3c-3e88f25aab1e" }, "source": [ "catboost = create_model(estimator='catboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.87760.96570.86920.85320.86110.75160.7517
10.93470.98280.94390.90990.92660.86780.8683
20.88570.96190.91590.83760.87500.77010.7727
30.87760.96110.90570.82760.86490.75330.7559
40.88930.95590.92450.83760.87890.77750.7807
50.88110.95260.90570.83480.86880.76050.7626
60.90980.97190.87740.91180.89420.81570.8162
70.90160.97000.91510.86610.88990.80110.8021
80.91800.96690.94340.87720.90910.83460.8365
90.90980.98270.89620.89620.89620.81650.8165
Mean0.89850.96710.90970.86520.88650.79490.7963
SD0.01840.00960.02340.03050.01980.03680.0363
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8776 0.9657 0.8692 0.8532 0.8611 0.7516 0.7517\n", "1 0.9347 0.9828 0.9439 0.9099 0.9266 0.8678 0.8683\n", "2 0.8857 0.9619 0.9159 0.8376 0.8750 0.7701 0.7727\n", "3 0.8776 0.9611 0.9057 0.8276 0.8649 0.7533 0.7559\n", "4 0.8893 0.9559 0.9245 0.8376 0.8789 0.7775 0.7807\n", "5 0.8811 0.9526 0.9057 0.8348 0.8688 0.7605 0.7626\n", "6 0.9098 0.9719 0.8774 0.9118 0.8942 0.8157 0.8162\n", "7 0.9016 0.9700 0.9151 0.8661 0.8899 0.8011 0.8021\n", "8 0.9180 0.9669 0.9434 0.8772 0.9091 0.8346 0.8365\n", "9 0.9098 0.9827 0.8962 0.8962 0.8962 0.8165 0.8165\n", "Mean 0.8985 0.9671 0.9097 0.8652 0.8865 0.7949 0.7963\n", "SD 0.0184 0.0096 0.0234 0.0305 0.0198 0.0368 0.0363" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "iGxkUcOn_pHn", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "cc14420b2b9241d3b51fcf513404de1e", "108169e47ebe4b9bac95b4a38214dd1e", "ca04ad074d944f4daf5860fdd0393732" ] }, "outputId": "78f868fd-0ee5-4726-ae2c-3eed45061a77" }, "source": [ "TunedModel3 = tune_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.88570.96160.87850.86240.87040.76820.7683
10.93060.98270.93460.90910.92170.85940.8597
20.88570.95980.90650.84350.87390.76960.7713
30.88570.96390.91510.83620.87390.76980.7724
40.86890.95080.88680.82460.85450.73540.7370
50.88110.94890.90570.83480.86880.76050.7626
60.90160.97150.84910.91840.88240.79810.7999
70.90980.96450.93400.86840.90000.81810.8199
80.89750.96120.92450.85220.88690.79350.7957
90.91390.98180.91510.88990.90230.82540.8257
Mean0.89610.96470.90500.86390.88350.78980.7913
SD0.01740.01070.02540.03070.01870.03480.0344
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8857 0.9616 0.8785 0.8624 0.8704 0.7682 0.7683\n", "1 0.9306 0.9827 0.9346 0.9091 0.9217 0.8594 0.8597\n", "2 0.8857 0.9598 0.9065 0.8435 0.8739 0.7696 0.7713\n", "3 0.8857 0.9639 0.9151 0.8362 0.8739 0.7698 0.7724\n", "4 0.8689 0.9508 0.8868 0.8246 0.8545 0.7354 0.7370\n", "5 0.8811 0.9489 0.9057 0.8348 0.8688 0.7605 0.7626\n", "6 0.9016 0.9715 0.8491 0.9184 0.8824 0.7981 0.7999\n", "7 0.9098 0.9645 0.9340 0.8684 0.9000 0.8181 0.8199\n", "8 0.8975 0.9612 0.9245 0.8522 0.8869 0.7935 0.7957\n", "9 0.9139 0.9818 0.9151 0.8899 0.9023 0.8254 0.8257\n", "Mean 0.8961 0.9647 0.9050 0.8639 0.8835 0.7898 0.7913\n", "SD 0.0174 0.0107 0.0254 0.0307 0.0187 0.0348 0.0344" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "ZWnKH2A2Ah_R", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "392d9d1a9fa146ab90b0a9e5949d6b61", "65706dd29fe5457bb1f2201f38b98161", "6e27df66c8244d3f8506606169a712e3", "d3f96bd6691643239b6757383587be54", "9e08f8f4343a441ab290545c679533cf", "e14d0ac066224518ac2eaef551c70c10", "a7a1a6b7f72e4a12bd574eb45c801b39" ] }, "outputId": "ba8c25bc-72e6-4e6f-cdc5-816ebb81fc54" }, "source": [ "evaluate_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "392d9d1a9fa146ab90b0a9e5949d6b61", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "uneAQNBXTZC5", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "b79abc7e-080b-4943-ff36-48f3559d942b" }, "source": [ "plot_model(catboost, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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TmjEiBEqWLCgGjdufNuZ582bp8cff1x169a1L+vSpYv+8Y9/yMUl4//upk+fru+//16SVKZMGU2ZMkU2m01jxozRyZMnZbPZVKNGDb3xxhvasWOHpk6dKnd3dyUnJ2v06NGqU6fOfT3fAO4NQQMgk7S0NK1bt07169e3L6tUqZJGjBihmJgYffTRR1q8eLFcXV31+eefa/bs2RoyZIjCw8MVFRUlT09PDR482P5BiX9Yvny5fv/9dy1atEhXr17Vq6++qlmzZqlGjRoaPHiwHnvsMQ0cOFD9+/dXkyZNdOnSJQUGBmrt2rWaOXOmevTooV69emnt2rW3nfvYsWO3/UC2/54jNTVVBQsW1Pz58+Xk5KQBAwZo69atKl26tPbt26fVq1dLkhYtWqRr167p888/V79+/dSxY0edOHFCJ0+evNdTDOA+I2gASJLi4uIUHBwsSUpPT1eDBg307LPP2tf/cdVjz549unTpkgYMGCBJSk5OVrly5XT69Gn5+PjI09NTktS4cWMdPnw4wz72799vv7pStGhRffzxx5nm2LlzpxISEjRz5kxJkouLi2JjY3XkyBENHDhQktSkSZPbHoOzs3OmD2i8HRcXFzk5OalXr15ycXHRiRMndPnyZTVt2lSenp56/vnn1bp1a3Xo0EFFihRRly5d9P7772v//v3y8/OTn59ftvsAkLcIGgCS/nMPTVb++LRmV1dX1alTR7Nnz86w/sCBAxl+x056enqmbdhsttsu/zNXV1dFRETIy8srw3LLsuTkdOu2v6yixdfXV7t371bHjh0zLN+3b1+Gl4h++uknLVmyREuWLJGHh4defPFFSZKbm5vmz5+vQ4cOaePGjXryySe1YMECdezYUc2bN9fWrVs1c+ZM1alTR8OGDbvjcQDIW9wUDOCu1K5dW/v379elS5ckSatXr9b69etVoUIFnT17VlevXpVlWfb7U/6sbt262rJliyTp+vXreuqpp5ScnCybzaaUlBRJUv369e0v+cTFxenNN9+UJFWpUkV79+6VpNtuW5J69eqlqKgo7dixw75s1apVGj16tH37khQbGysfHx95eHjo3Llz2rt3r5KTk3XgwAEtXbpUDz/8sIYOHaqHH35Yp06dUnh4uNLS0tSxY0eNHj1ae/bsudfTCOA+4woNgLtSunRpjR49WoMGDVLBggXl7u6uyZMnq1ixYnrhhRfUu3dv+fj4yMfHR0lJSRme26FDB+3evVtBQUFKS0tTv3795OrqqmbNmumNN95QaGioRo8erbFjx2rlypVKTk7W4MGDJUlDhgzR66+/rqioKNWtWzfTTb7SratM8+bN08SJEzV58mS5u7vLx8dHn332mVxdXe2Pa9asmT799FM9/fTTqlq1qkJCQjRz5kxNnz5da9as0VdffSVXV1dVqFBB9erVU0xMjPr376+iRYsqPT1dISEhuXuSAdw1fvUBAAAwHi85AQAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIz3/9nJ1w6p0EW2AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "K2Mg9VwdThZK", "colab": { "base_uri": "https://localhost:8080/", "height": 418 }, "outputId": "2e03e5c0-2e95-4feb-b74c-2560c3f72980" }, "source": [ "plot_model(catboost, 'feature')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9QAAAHNCAYAAAD/kjP+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXjMV///8ecksohICKqxxC60ghARte+UEFRvWrS3tVWltJaqLZSUirVCbbfeVaVRib211b7FVqk9ocTSWGKL7Mn8/vAzX5FFMpa4eT2uK5fM53PmfN5zzhlX3nPO54zBaDQaEREREREREZFsscjpAERERERERET+FymhFhERERERETGDEmoRERERERERMyihFhERERERETGDEmoRERERERERMyihFhERERERETGDEmoRERERERERMyihFhERERERETGDEmoRERERERERMyihFhERkZfasGHDcHV1zfAnICAgp0N8JlasWIGrqyvh4eE5HcpLad++fWnGUoUKFahVqxaDBg3i3LlzprLqC5GXV66cDkBERETkWXNycmLVqlXpnsuTJ89Tv97QoUMpVqwYn3766VOv+2U0Y8YMLl++zDfffJPToWSbv78/NWvWBCAxMZHw8HCmTJlCp06dWLVqFYULFza77i5dutC+fXvat2//tMIVkadMM9QiIiLy0rOwsKBQoULp/tjZ2T316x0+fPip1/ky+19uLwcHB9NYKlKkCHXr1mXGjBncunWLFStWmF1vUlISf/3111OMVESeBSXUIiIiIv/fypUr6dixI9WqVcPT05OBAwcSGRmZqsyqVato164dbm5uVK9enc6dO7N//37TeVdXV86fP893332Hq6srFy9eZObMmbi6uhIfH5+qLldXVyZPngz83xLi9evX4+3tTa1atUzltm/fTpcuXfD09KRatWr06tUr28uHL168iKurK8HBwQwdOhQPDw88PT2ZOHEi8fHxjBo1Ck9PT2rVqsWkSZNMz3sQ19atWxkwYADVqlWjevXqfPnll8TExJjKJSQk4O/vT6NGjahUqRJvvfUWw4YN48aNG6Yyw4YNo23btvz888+mazdq1Ijdu3cTFBSEq6sr+/btM73mzp07U7VqVdzd3WnXrh0bNmxI036LFi1i5syZ1K1bF3d3d7p168bff/+dqlxQUBDe3t5UrlyZJk2aMH36dJKSkkznz507x6effkq9evWoXLky7du3Z8uWLdlq34cVL16cPHnycPny5QzL/PHHH7z77rtUrlyZqlWr0rlzZ3bt2gXc76s333yT2NhYvvzyS1xdXc2ORUSeLSXUIiIiItxPpocMGULVqlVZsWIFAQEBnD17lg8//JCEhAQAQkJCGDx4MPXr12fdunUEBgZSsmRJ+vTpY0q8HyRi3bt3Z+fOnTg7O2crjjlz5jBgwACCgoIA2L9/P3369OG1115jyZIl/PDDDyQkJNClSxeioqKy/TrnzJmDu7s7K1asoGPHjixcuJAPP/yQ0qVLExgYSIcOHViwYEGqDwkAxo8fT/369QkKCmLkyJGsWbOGiRMnms6PGDGCJUuW0L9/f9atW4efnx/79u2jV69eGI1GU7mbN2+yadMmfvzxR/r06cPy5ctxcnKiZcuW7Ny5E3d3dy5cuEDfvn0pXbo0wcHBrFy5kjp16vDZZ59x/PjxVHEtXbqU2NhYfvjhB2bPns2pU6cYN26c6fzq1av56quv6NChA6tXr2bYsGEsWrSIKVOmmOLp0qULERERTJkyhaCgIDw8PPjkk0/Yu3dvttsX4Pr169y7dy/Dvt+9ezcff/wxFSpUYPny5SxbtozChQvTu3dvjh07hrOzMz/99BMAw4cPZ+fOnWbFISLPnhJqEREREe4nmjVq1OCrr76iZMmSeHh48M0333D27Fl+//13AN58803WrFlDv379KF68OKVLl6Znz57ExMRw6NAhAAoWLAiAnZ0dhQoVwtLSMltxvPXWWzRp0oTXX38dgLlz51K0aFG+/fZbypYti5ubG/7+/kRHR/PLL79k+3W++eabdOrUCRcXF3r27AmAra0tH374ISVKlKBHjx4AaRLXt956i/bt21OiRAl8fHxo2bIla9aswWg0EhkZyapVq/joo4/w8fHBxcWF+vXrM2zYMI4dO8bBgwdN9URGRjJ06FBcXV3Jly8fTk5OWFhYYGtrS6FChbC2tqZw4cKsXLnS1BcuLi7069eP5ORkdu/enSouOzs7hgwZQunSpfHy8qJRo0aEhoaazs+dO5cGDRqYXl+TJk0YMmQIycnJAAQGBnLjxg1mzJiBh4cHZcqUYfjw4bi6ujJ37txst+/FixcZNmwY9vb2Gd77vGDBAsqUKYOvry/ly5fH1dWVSZMmYW9vz5IlS7C0tCR//vwA5M2bl0KFCmU7DhF5PrQpmYiIiLz0bty4gbu7e7rnpk+fTrVq1Th79ixt2rRJda5ixYrky5eP48eP4+3tjZ2dHUeOHGHkyJFcuHCB2NhY0+zrrVu3nkqslSpVSvX46NGjNGvWLFViXrBgQcqVK5cm6c2KN9980/R7vnz5AKhQoUKaY9HR0ame5+HhkerxG2+8wcqVK7l9+zZ//fUXRqMxTZkHbX78+HHTORsbG8qXL59pjDY2NoSFhTF27FjCw8O5d++e6dyj7Vy1atVUj52cnLh9+zYAcXFxnD59mtatW6cq07lzZ9PvR48excXFBRcXl1RlvLy8TKsEMtOvXz9T3yQlJZGQkEDlypVZtGiR6UORR4WGhtKiRQsMBoPpmLW1NZUqVTKrT0Uk5yihFhERkZdevnz5WLZsWbrnXnvtNVMCNmvWrDSzkrGxsVy9ehWARYsW4efnR+fOnRk+fDiOjo5ERkbStWvXpxZr3rx5Uz2Ojo4mODiYtWvXpjoeHx+PtbV1tuvPnTu36fcHCd3DG7M9OPbwMm24v/nWwx7sjn737l1T8v1o7Pb29gCpEuJHy6Rn48aN9O/fnxYtWjBt2jQKFiyIwWCgWbNmaco+uqncw0nqnTt3UsWanujoaCIiItJ84JKYmEhiYiIJCQmZtvPo0aNNHxYYDAby5cuXpq3Su+aDtnlYnjx5iIiIyPS5IvJiUUItIiIiLz1LS0tKlCiR4fmUlBQAPvzwQzp27Jjm/IOkbdWqVVStWpUxY8aYzmXlPub0ktSHk8zMODg4UKdOnXS/gsuchNpcj8b74LGDg4Mpgbx7926qMg8ePy7BfNSDr5uaOnUqFhb371B88KFGduTPnx8LCwvTBybpcXBwoHjx4sybNy/d87lyZf7ncqFChTIdW+nJmzdvmhUAcD/RzsoHDiLy4tA91CIiIvLKy5MnD+XLl+fcuXOUKFEi1U9CQgIFChQA7s9aPri39YEHy4IfndF9+PGDJOnh5PvPP//MUmxVq1YlPDw8TVxJSUnP9d7aB7tvP/DXX39RsGBBHB0dqVSpEhYWFoSEhKQq8+DeaTc3t8fW/3B7JSYm4ujoaEqmIeN2zoyVlRWlSpVKE9eSJUvo3bs3cL99r1y5gr29far2tbS0pECBAqlieFqqVKnCwYMHU72W+Ph4/vrrrzRtlZ3XKyLPnxJqEREREaBPnz5s3ryZmTNnEh4eTlhYGBMnTqRdu3am+1qrVq3Kvn372L17N+fPn+fbb78lJSUFS0tLjh49SlRUFNbW1tja2nLkyBFOnjzJnTt3qFy5MnB/47MLFy6wZ88eZs6cme6y30f17NmTU6dOMWbMGE6ePMnff//N3Llz8fb2Ztu2bc+0TR62c+dOAgMDOX/+PMHBwfz222/4+PgA92dp27Vrx9y5c1mzZg0RERFs3rwZPz8/atasaXr9GXFwcOD48eOcOHGC69evU7VqVcLCwli3bh0REREsWLCAP//8E2dnZ44fP56t2erevXuzZ88e5syZw6VLl9iyZQvTpk2jdOnSALRv3x5HR0f69+/PwYMHuXjxIuvWraNjx47MnDnT/AbLRM+ePTl79ixjxowhPDycEydOMHDgQOLj4023Dzg6OgL3d3k/efIkcXFxzyQWEXkyWvItIiIiArRu3RoLCwvmzZvH999/T65cuXBzc2P+/PmmjcI+++wzrl27Rr9+/bCxsaFNmzaMHj0aOzs7fv75ZwwGA35+fvTt25c5c+bw/vvvM3/+fNzd3Rk4cCA//fQTwcHBVKxYkZEjR9KnT5/HxuXh4cH8+fOZOXMm//rXv0hJScHV1ZWpU6fSuHHjZ90sJgMGDDAlyQaDgTZt2qRahj5mzBicnJyYPHky165dI3/+/DRt2pTPP//8sXX36dOH8ePH07lzZ/z8/OjWrRtnz55l9OjRGAwGGjZsyKRJkwgMDGTatGl88cUX/Pe//81S3D4+PiQlJbFw4UJmzZrFa6+9RpcuXfj444+B+/fXL1myhMmTJ/PRRx8RExODs7MzH3zwAb169TKvsR7D09OT2bNn891339GuXTssLS2pUqUK//3vfylTpgxwf+O59957j19//ZWtW7cSHByc7a9gE5Fnz2DUOhIRERERycC+ffvo1q0b8+bNo169ejkdjojIC0VLvkVERERERETMoIRaRERERERExAxa8i0iIiIiIiJiBs1Qi4iIiIiIiJhBCbWIiIiIiIiIGZRQi4iIiIiIiJhB30MtIvIcHT58GKPRiJWVVU6HIiIiIiLpSExMxGAw4O7u/tiymqEWEXmOjEYjz3MvSKPRSEJCwnO9pjx/6udXg/r51aB+fjWon19s2fl7TTPUIiLP0YOZaTc3t+dyvZiYGE6cOEHZsmWxs7N7LteU50/9/GpQP78a1M+vBvXziy00NDTLZTVDLSIiIiIiImIGJdQiIiIiIiIiZlBCLSIiIiIiImIGJdQiIiIiIiIiZlBCLSIiIiIiImIGJdQiIiIiIiIiZlBCLSIiIiIiImIGJdQiIiIiIiIiZlBCLSIiIiIiImIGJdQiIiIiIiIiZlBCLc/cpUuXcHNz49y5c09Uz759+3B1dSU+Pv4pRfZ4/fr1Y/r06Vl+DUajkX//+998//33zynCZ8doNNK/f3+qVq3KmjVrcjqcJ5YT40dEREREnozRaGR7eCRLD59je3gkRqMxp0NK5aVJqBMTE5kxYwbNmzenatWquLu707VrVw4cOJBjMZ0+fRpXV1fCwsJSHf/666+pUaMGKSkpqY63a9eOyZMnP7beDRs2cP78+acW57Bhw6hYsSJubm5pfkaPHv3E9RctWpTQ0FBKlSr1FKJ9Om7dukVgYGCmZZYuXUpERASffPJJll+DwWDAz8+PefPm8ddff2Vadtu2bXTp0gVPT08qVapE06ZNmTt3ruk/ieTkZP7zn/9k74U94knGyokTJ/j9999ZtmwZrVu3TnP+4XFTqVIlvLy86N27N9u2bXuimNNjNBpp0qQJs2fPTvd8QEAATZs2feH+gxURERER8wWFXsDVbyUNAzbw/uKdNAzYgKvfSoJCL+R0aCYvTUL9zTffsGXLFmbMmMHBgwfZsWMHb731Ft27dyciIiJHYipfvjyvv/46u3btSnV8165dJCUlpUq4bt68yYkTJ6hbt+5j650xY8ZTTagBWrRoQWhoaJofX1/fp3qdF8XevXszTagTEhKYNWsWffr0IVeuXNmq+/XXX8fHx4fvvvsuwzJHjhzh008/5V//+hfbtm3jzz//xM/Pjx9++IG5c+cCcPz4cebPn5+taz/qScZKdHQ0ACVLlsywzMPjZsWKFTRs2JBBgwYxZ84cs66ZEYPBQIcOHQgODk73/MqVK+nQoQMGg+GpXldEREREckZQ6AXe/WE74TfupjoefuMu7/6w/YVJqrOXKbzAdu3aRYcOHXB1dQXA3t6ejz/+mKJFi2JtbQ1A165dqV27NuHh4WzevJk8efLwxRdf0LZtWwD++ecffH19OXToEElJSdSrV4/Ro0dz584dmjdvzv79+8mbNy9xcXF4eHjwwQcfMHjwYACmTZtGWFhYmiSqTp067N69mw8++ACAyMhI/vnnH1q0aMHu3bupXLkyAHv27MHOzo5q1aoRFRXFmDFjCAkJITExEXd3d8aOHYuzszNt2rThzJkz9O3bF29vb/z8/Dh58iR+fn4cO3aMXLly0bp1a4YOHYqVlRUrVqxg4cKF1KlTh6VLl/L7779TuHDhbLdvQkICo0aN4rfffsPBwYH+/fsTEBBAv379aN++PY0aNaJXr1507twZgO3bt9OrVy9OnTrFxYsXady4MevWrWPmzJnkzp0bPz8/U92LFi1i2bJlrF+/ngsXLuDr62v6sKF27dqMGTMGBweHNDFdunSJcePGcfjwYVJSUmjYsCGjRo3C3t6effv20bdvX6ZOncqECRP4559/qF69OlOmTGH37t18/vnnpKSk4Obmxrp16yhevHiqujdt2kR8fDzNmzcHSPUaypQpQ6NGjfj444/ZuHEjISEhFChQgDFjxlCnTh0A/vWvf+Ht7U1kZGS67b1//36KFSuGt7e36ZiHhwczZszAYDBw9OhROnfuTFJSEm5ubsybN4+aNWvi7+/P6tWruXPnDiVLlmT48OHUqFEDuD++K1euzPbt23F2duaff/5JM1YedeDAASZNmsSZM2fIkycPHTp0YMCAAezZs4c+ffqY4ho3bhw+Pj4Zjg+DwUCRIkXo3LkzRYsW5aOPPqJFixaULFky0/H8wQcfULFiRYYNG2aqa9asWezYsYOlS5emukb79u2ZOXMmBw8epHr16qbjBw8eJCIignbt2mV5/DzanwCTJ0/mzz//5McffwTuvyenTZvG6dOnsbe3p1OnTnzyyScAnDt3znQdg8FAzZo1GTduHPnz58+wjXLSbaz5JzYZW2NiTociz0hcXLL6+RWgfn41qJ9fDernzBmNRj5fdZCUDFYfphiNDFtzCJ9KxXN8QuWlSahLlSpFUFAQderUoWLFiqbjbdq0SVXup59+YsKECUyYMIE5c+YwduxY3n77baysrOjbty9ly5Zl8+bNxMXFMWDAAEaPHs306dN5/fXXOXLkCHXr1uXIkSMUK1aMgwcPmuo9ePAgLVq0SBNX3bp1+fLLL0lMTMTKysqURHt6ehIUFMRHH30E3P/j3cvLCysrK7799lvu3bvH5s2bMRqNfPbZZ0yYMIGZM2eyatUqXF1dCQgIoF69esTGxtKzZ0+6du3KvHnziIyMpG/fvixYsMBU99WrV7GxsSEkJAQrKyuz2vfXX39l+/btLF++HGdnZyZNmsS1a9eyXU+LFi0YM2YMycnJWFpaArBx40befvttAEaMGEHRokXZsWMH0dHR9OjRg4CAgFQJF9x/k/Xt25dq1aoxdepUYmJiGDRoEBMnTmTcuHEAxMbGsnbtWpYtW0ZsbCzvvPMOv/zyC7169SIsLIwdO3bwyy+/pBvn3r178fDwMMWYngULFjBp0iQqVKjAmDFjmDBhAuvWrQOgXLly5M+fn71795o+sHlYqVKlOHfuHIGBgbRt29b0oc/DieK4cePw9/c3rXAIDg4mODiY5cuXU6hQIWbPnk3//v3ZuXOnKc61a9cyY8YM3NzcMBgMqcbKo65fv06PHj0YMmQIHTt2JCwsjF69evHaa6/x/vvvs2DBArp168aBAwewsbHJsB0eVa9ePUqWLMnGjRvp1atXpuPZx8eHKVOmMGTIECws7i+Y2bBhA++++26aegsXLkzdunUJCgpK1U7BwcHUq1ePwoUL061btyyNn8f5559/6Nu3L6NHj8bb25uwsDB69uyJi4sL3t7ejBs3jmrVqjF//nzu3bvH0KFDmT17NsOHD89S/UajkZiYmGzFZK7Y2Fj2Wziz/0I8oPvHX2rq51eD+vnVoH5+NaifM3QuMorzUdGZlgm7fpdNJyKoXbLgU7++0WjMcqL+0iTUI0eOZNCgQfj4+FC0aFGqV69O/fr1adasmSlZAXB3dzctq27ZsiXfffcdV69e5c6dOxw7dozvv/8ee3t77O3t6d27N5988gkJCQnUrFmTw4cPU7duXQ4cOEDr1q358ccfSUhIAODPP/9Md3n0W2+9RXx8PEeOHKFGjRrs3r0bLy8vvLy8GDVqFHFxcdja2rJ792569uwJgK+vL0lJSdjZ2QHQpEmTDJfQbt26FaPRaJpNLF68OD169OD77783JdR3796lV69emSbTv/32G5s2bUpzfOnSpbz55pts2rSJVq1aUbZsWQA+++yzNDOIWdGgQQPi4+M5ePAgnp6e3Lhxg0OHDjF27FgA5s6di8FgwNraGicnJ+rWrcuhQ4fS1BMaGsqZM2f4+eefyZ07N7lz5+bTTz+lR48eprqSk5Pp2bMnjo6OODo6Ur16dc6ePZulOM+cOUPNmjUzLdOwYUPTCoPmzZsTHBxMSkqKKTEsW7YsZ86cSfe5TZo0oXv37vj6+jJhwgSqVq1KrVq1aNWqFUWLFk33Od7e3jRu3Ji8efMC0KpVK2bOnMnly5dNM+yVK1c2xfQ4a9asoUiRIrz//vsAvPHGG7Rt25b169ebjpmrVKlSXLx4Ech8PDdr1oyxY8eyb98+atWqRUREBOHh4bRs2TLdejt27MjQoUMZMWIEtra2xMfHs379er755hsg6+PncdasWUO5cuVMs/Kurq506tSJlStX4u3tzZ07d7C1tSVXrlw4OjoSEBBg6vesSExM5MSJE9mOy2wWJZ7ftURERESe0N3YuCyVO3gyDKfY7E/yZcXDOWRmXpqEukiRIixdupSwsDB2795NSEgII0aMYPr06SxevNi07LZYsWKm59ja2gIQFxfHxYsXcXR0pFChQqbzLi4uJCYmEhkZSc2aNVm1ahUAISEh9O3bl/3793P06FEsLCzInz8/pUuXThOXg4MDVapUYefOndSoUYM9e/bw/vvv4+zsTJEiRThw4AAlSpTg4sWLpkT//PnzfPPNNxw9epS4uDhSUlLIly9fuq87IiKCGzdu4ObmZjpmNBpTDQAHBwfs7e0zbb8WLVowderUDM9HRkamur87f/78GcaUGVtbW+rXr8+mTZvw9PRky5YtlCtXzrTs9q+//sLf359Tp06RmJhIcnIylSpVSlNPREQEycnJaZLe5ORkbt68aXr8cH/nzp2buLisvTlv3br12Nf36FhKTk4mMTHRNJubP39+oqKi0n2uwWBg8ODB9O7dm127dhESEsLSpUuZPn0648ePT3d5dWxsLBMmTGD79u3cvn3bdPzBhzpAhsl4ei5evGhq9wdKlCjB+vXrs1xHRh5egZDZeM6TJw9NmjRh1apV1KpViw0bNlC7dm2cnJzSrbdBgwbY2tqyYcMG2rRpw8aNG7G1taVBgwZA1sfP41y4cIHQ0NA076sHm9L169ePwYMHExwcTJ06dWjdunWWP8gAsLKyMn049azFxsbi+fdlnJ2ds7XSQP63xMfHc+XKFfXzS079/GpQP78a1M+ZK0lelu18fLnqFcpS8RnMUD+6qXRmXpqE+oGyZctStmxZunXrxrVr1+jYsSM//PADQ4YMAchwFunhpORRBoMBLy8vxo0bR3x8PMePH6dKlSq4u7tz8OBBDAYDtWrVyvD5devWZevWrbRp04bY2FjTH+k1a9Zkz549XL58mVKlSlGsWDFSUlLo06cP1atX5/fff8fJyYnAwECmTZuWbt02NjaUK1eO1atXZ3j97G6qlZ70dk9+dJfyrJ5r2bIlkyZNYvjw4WzYsMG03Pv27dv07t2bzp07M2/ePOzt7Zk2bRq7d+9OU4eNjQ12dnYcPnw407izM2uYXY+r22AwPHbXaUdHR95++23efvttjEYjo0aNYuLEiekm1L6+vpw6dYqffvqJEiVKEBERQdOmTVOVyWyJ+qMyGvNPeh9KSkoKJ0+epE6dOlkazz4+PvTv3x9fX182btxIly5dMqw7V65c+Pj4EBQURJs2bQgKCsLHx4dcuXJla/ykJzk52fT7gw9+MloZ0qBBA7Zu3cq2bdvYvHkzXbp0YciQIZnG/jCDwWCasX8eHEmgRD6753pNeb5iYiyJuaJ+ftmpn18N6udXg/o5c6Wc7Bm1/s80G5I9rGzBvDSp+Gzuoc5OnS/FLt///PMPY8aMMe1K/EChQoWoUKECsbGxj62jePHi3L59m+vXr5uOnT17FhsbGwoXLoyzszMFChRgxYoVlC5dGltbW6pVq8ahQ4c4dOjQYxPqY8eOsW3bNmrUqGFKery8vAgJCWH//v2m2d/r169z6dIlunbtapqlO378eIZ1u7i4EBERwb1790zHbt68maYtntRrr73G5cuXTY8jIyO5c+eO6bG1tXWq2d8LFzLeda9+/fpERUVx6NAh9u7da0qoz549y7179+jRo4dpRj2j1+7i4kJMTEyqHdyjo6NTzU4/iXz58nHr1q0nqiMqKirDmdb58+ezdevWVMcMBgN16tQhLi4u3UT86NGjtGnThpIlS2IwGDh27NgTxefi4pJmCfzZs2fTbNCWXb/++is3btygadOmWRrPtWrVIk+ePAQGBnLmzBkaN26caf3vvPMO+/bt49SpU+zdu5d33nnHFHtWx8+DT4IfHrMPjyUXFxdOnz6dqh+uXbtm+hDi5s2b5MmTh7fffht/f398fX1ZtmxZltpHRERERDJnMBiY6F0NiwwSWwuDgW9aV8vxDcngJUmonZyc2L17N4MHD+bs2bOkpKQQGxvLmjVr2LNnD40aNXpsHW5ubpQpUwZ/f39iYmKIjIxk9uzZtGrVynTvsZeXFz/88INpQ6SqVavy559/EhoammlCXalSJRwcHFiyZEmqcl5eXpw8eZKQkBBTQu3k5ISdnR1HjhwhPj6e1atXc+LECaKjo01Js42NDefPnyc6Opo6derg5OTExIkTiY6O5tq1awwYMCBL32edHQ0aNGDdunWEh4cTGxvLtGnTUi1PKVmyJFu3biUuLo7z589nOmP+YImuv78/5cuXx8XFBbi/bN/CwoLDhw8TExPDokWLuH79OtevXycpKSlVHeXLl8fd3Z3x48cTFRXFnTt3GD16tGklwuPY2Nhw7do1bt26le5Mbbly5TK8/zmrwsPDKV++fLrnYmJi+Oqrr9i2bZtpGQ+c2qAAACAASURBVPSpU6eYO3cujRo1wmAwYGtry927d4mMjCQuLo5ixYoRGhpKQkICR44cYe3atcD9Tecye50PxsqjWrZsSUREBMuWLSMpKYmjR48SFBREu3btzHq90dHRLFu2jAkTJjBs2DAKFy6cpfFsYWGBt7c3U6ZMoXHjxuTOnTvT65QqVQp3d3dGjBiBu7u76Wu9sjN+nJycyJs3Lxs2bCA5OZmdO3dy5MgR0/lWrVpx69YtAgICiIuLIyIigu7du/PDDz8QFxdH8+bNWblyJUlJScTFxXHs2DHTOBYRERGRJ9fOzYVfPqhH2YJ5Ux0vWzAvv3xQj3ZuL8bfXi9FQm1tbc2PP/5IgQIF6NGjB+7u7rz11lssWbIEf3//LH23s8FgICAggKtXr9KgQQPeffddqlSpwqhRo0xlatasyblz50wJtaOjIwUKFCBfvny89tprmdZdu3ZtIiIi8PLyMh13cnKiZMmS3Lx5E09PT+D+ktYxY8Ywd+5c3nrrLUJCQpg5cyavv/46zZo1A6BTp05MmjSJwYMHY2VlRUBAAGfPnqV27dr4+PhQsmRJhg4dmq02/O2333Bzc0vz82BJcefOnalfvz6dO3emWbNmeHh4mDbHgvublEVFRVGzZk2GDh1Kjx49Mr1eixYtOHDgAK1atTIdK1y4MIMGDWL48OE0bNiQ27dvM3nyZBISEnjvvffS1OHv74/RaKRx48Y0bdqU5ORk0+ZUj9OkSROMRiMNGjRI9X3gD3h5eXHgwIFUy4CzIywsjKioqFT9/bBPP/2U3r17M3XqVGrXrk2VKlXo168ftWvXZvz48aYYihUrRpMmTdiyZQuff/454eHheHp6MnXqVEaOHEnTpk3p27dvhrPVD4+VRxUtWpTvvvuOZcuWUaNGDQYPHsyAAQMy/XqsRz08burWrcuaNWuYNm2aaVOzrIxnuL/sOzo6OtXXiGWmY8eOHD161DQ7DdkbP5aWlowePZqgoCA8PDwIDg5OtRFb/vz5CQgIYPPmzdSoUYMuXbrQsGFDunfvjq2tLdOnT2fRokV4eHjQoEED/vnnn1T/V4iIiIjIk2vn5sLJYW35o28zlnSpy9ZPmnFyWNsXJpkGMBgfd5OnSAZq167N559/Tvv27XM6lKcuISGBxo0bM3z48Ax3nM7M+PHjiYiIyPAeXElt7969DB8+nE2bNj3T+95fBKGhoQCpNjx7lmJiYjhx4gQVK1bUPVovMfXzq0H9/GpQP78a1M8vtuz8vfZy/+UqYiZra2s++eQTvv/++zTLhR8nMjKS4OBg+vXr94yie7lcvXqVCRMm0KNHj5c+mRYRERGRl4v+ehXJQKdOnShatCizZs3K8nOMRiNffvklPXv2NOvrml4133//PS1btqRGjRp07tw5p8MREREREcmWl+5rs+T52bVrV06H8MxlJ5mG+/fLL1y48BlF8/Lp06cPffr0yekwRERERETMohlqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqEfmfFhMTQ7du3ahSpQoHDx7M6XBEREREJJuMRiPbwyNZevgc28MjMRqNOR1SluXK6QBE5H9Lo0aNiIyMxMLi/udxBQsWpGbNmvTs2ZOyZcs+93h27drF4cOH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lCtXDj8/PwoXLpzqPmwRERERMV87Nxd8KhVnx9mrXLkTSxHH3NQp9doLPzP9gMFozOCLv0REnrEZM2YQERHBt99+m9OhPDehoaEAqTZCe5ZiYmI4ceIEFStWfGXv0XoVqJ9fDernV4P6+dWgfn6xZefvNc1Qi0iOOHLkCD/++CM//vhjTociIiIiImIWJdQi8tz16NGDU6dOMXToUCpUqJDT4YiIiIiImEUJtYg8dwsWLMjpEEREREREnph2+RYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETMooRYRERERERExgxJqERERERERETO8Ugl1cHAwjRo1ylLZgIAAunTp8lSu27x5cwIDA59KXS+jrl27MnnyZLOe6+bmxq5du55yRP9n06ZNtGzZktjYWLp37860adMe+5yVK1fSpk0b4uPjn1lcz8vq1avx8vKiV69eOR3KU9GoUSN+/vnnnA5DROSFYTQa2R4eydLD59geHonRaMzpkERE/qfkaELdqFEj3nzzTdzc3HBzc6N69eq899577N+//5lcz8fHhy1btmSpbN++fVm8eLHp8X/+8x+SkpKy9NyIiAh+++030+Pff/+djh07Zi/YbNi5cyeurq74+vo+s2u8KI4dO8bu3btNj0NDQ6ldu/Yzuda1a9f46quvmDhxIrlz52bhwoV89tlnj31e27ZtKVq0KP7+/pmWi4yM5Msvv6RevXq4ubnh6enJoEGDuHz5sqnMhg0bOH/+vNmv4dGxmF3z5s2jXbt2zJs3L825ffv24erqanr/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taNdu3Z5OqdLly506dKlgCp6uFStWtWqGQAiIiIiIkWBRqhFRERERERErKBALSIiIiIiImIFBWoRERERERERKyhQi4iIiIiIiFhBgVpERERERETECgrUIiIiIiIiIlZQoBYRERERERGxggK1iIiIiIiIiBUUqEVERERERESsoEAtIiIiIiIiYgUFahERERERERErKFCLiIiIiIiIWEGBWkRERERERMQKCtQiIiIiIiIiVlCgFhEREREREbGCArWIiIiIiIiIFRSoRURERERERKygQC0iIiIiIiJiBQVqERERERERESsoUIuIiIiIiIhYQYFaRERERERExAoK1CIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKhFRERERERErKBALSIiIiIiImIFBWoRERERERERKyhQi4iIiIiIiFhBgVpERERERETECgrUIiIiIiIiIlZQoBYRERERERGxggK1iIiIiIiIiBUUqEVERERERESsoEAtIiIiIiIiYgUFarFKhw4dWLVqVWGXIQVk4MCBzJw5s7DLyNYHH3zAuHHjsty3detWXFxcCrwGk8nEK6+8whdffFHgbYmIWMtkMrH1WDzf7znB1mPxmEymwi5JROShUrywC5Cia9u2bQwaNIi+ffsyceJEi30//fRTrq9Tv35989fp6ekUK1YMW1tbAKpWrZqnaxU1kZGRlC5d2uIxFqSAgAB27dpFeHg41atXt9i3efNmRo4cyciRI3nttdfuqZ3Fixff0/kFaevWrWzatImNGzcWeFtz5sxh3rx52NnZ3bFv4cKFTJs2jc6dO9OqVSvq1atX4PWIiOTFmqhY3lq3m2MXrpq31azgwHRfV7rVdyrEykREHh4aoZZsrVq1Ch8fHzZs2EBqaqrV14mKijL/c3NzY+DAgebvH+QwDbB06VIOHDhwX9usUKEC69atu2P7unXrKF++/H2tpTDMnDmTgIAAHBwc7kt7DRo0sPgZvvWvRYsWVKlSha5duzJ37tz7UouISG6tiYql57KtFmEa4NiFq/RctpU1UbGFVJmIyMPF6hHqbdu24e7uDsDBgwdZu3YtNWvWpHfv3vlWnBSeixcv8vPPP7Nu3ToOHjzI5s2b6dy5s3m/l5cXQ4YMoU+fPgQGBmJra0tsbCwXL15k/fr1eWorMjKSmTNncvToUUqXLk3v3r355z//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mjRpwpIlS5g5c2a2n7eemclk4u2332bw4MHmzwMXERERkUeLVR+bdfbs2SxX837uuef0OdRSqG5fMVseTuPHj8+3aw0YMCBPH4V2i42NDYsXL863OkRERETkwWPVCHWlSpWy/CicAwcO4OjoeM9FiYiIiIiIiBR1Vn8O9ahRo4iIiMBkMnHw4EF++OEHXnvtNXx8fPK7RhEREREREZEix6op36NHj+a9995jxIgRZGRk0KNHD4oXL07Pnj0ZO3ZsftcoIiIiIiIiUuRYFahLlCjB9OnTGT9+PCdPnsRgMODk5ESpUqXyuz4RERERERGRIsmqKd/du3cHwNHRkQYNGuDi4qIwLSIiIiIiIo8UqwJ1amoqR48eze9aRERERERERB4YVk357tmzJ6NHj8bd3Z3q1atjZ2dn3mdjY0PPnj3zrUARERERERGRosiqQD1t2jQAjh07dsc+BWoRERERERF5FFgVqA8fPpzfdYiIiIiIiIg8UKy6h1pERERERETkUWfVCHWdOnWwsbHJdv+hQ4esLkhERERERETkQWBVoJ44caJFoDYajZw4cYJff/2VESNG5FtxIiIiIiIiIkWVVYG6T58+WW739vbmhx9+oFu3bvdUlIiIiIiIiEhRl6/3ULu5ufHrr7/m5yVFREREREREiqR8DdRbtmyheHGrBr1FREREREREHihWpV93d/c7tqWkpHD9+vVsp4OLiIiIiIiIPEysCtS9e/e+Y5vBYKBmzZp4eXndc1EiIiIiIiIiRZ1VgbpJkya0bNnyju0pKSls2LABHx+fey5MREREREREpCiz6h7q4cOHZ7k9JSWFd955554KEhEREREREXkQ5GmEetWqVQQHB5OWlpbltO9z585RpkyZfCtOREREREREpKjKU6Bu06YNKSkpREVF8dRTT92x/9lnn8XPzy/fihMREREREREpqvIUqCtXrkxAQABnzpxh3LhxWR5z9OjRfClMREREREREpCiz6h7qW2E6IyODtLQ087+YmBh9bJaIiIiIiIg8Eqxa5TsuLo4333yTAwcOYDQaLfbVrl07XwoTERERERERKcqsGqGeMmUK9vb2vPvuu9ja2jJlyhR69OhB48aNWb58eX7XKCIiIiIiIlLkWBWo9+3bx6xZs+jduze2trb4+/sTFBSEj48PixYtyu8aRURERERERIocqwJ1amoq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iIhYQYFaRERERERExAoK1CIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKhFRERERERErKBALSIiIiIiImIFBWoRERERERERKyhQi4iIiIiIiFhBgVpERERERETECgrUIiIiIiIiIlZQoBYRERERERGxggK1iIiIiIiIiBUUqEVERERERESsoEAtIiIiIiIiYgUFahERERERERErKFCLiIiIiIiIWEGBWkRERERERMQKCtQiIiIiIiIiVlCgFhEREREREbGCArWIiIiIiIiIFRSoRURERERERKygQC0iIiIiIiJiBQVqERERERERESsoUIuIiIiIiIhYQYFaRERERERExAoK1CIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKilwHTo0IFVq1YVdhnykLly5Qrt2rXj999/z3L/6NGjCQwMLPA6Tpw4wfPPP09MTEyBtyUiIiIiRVPxwi5AHmzbtm1j0KBB9O3bl4kTJ1rs++mnn3J9nfr165u/Tk9Pp1ixYtja2gJQtWrVPF2rqImMjKR06dIWj7GgZWRk4OnpSUpKCr/99hslSpS4b20XtEmTJtG6dWuef/75Am/Ly8uL+Ph4ihWzfO+xSpUqbN68maFDhzJmzBiCg4PvOEZEiiaTycRvx89x+koSVcvY0/rpStjY2BR2WSIi8oBSoJZ7smrVKnx8fNiwYQOBgYEYDAarrhMVFWX+OiAggIYNG/Kvf/0rv8osVEuXLuWFF164r4H6t99+o1SpUpQrV47w8HA6dep039ouSEeOHCEsLIzw8PD71ua7775Lnz59stzXp08fvvzyS8LDw/H29r5vNYmIddZExfLWut0cu3DVvK1mBQem+7rSrb5TIVYmIiIPKg2piNUuXrzIzz//zOuvv065cuXYvHmzxX4vLy9WrFgBQGBgIO+88w4BAQF07tw5z21FRkbSq1cvGjduTOvWrZk3b55535w5cxg+fDhz5szBzc0Nd3d3wsPDCQkJwcPDAzc3Nz7//HPz8S4uLoSEhODv70+DBg3o2rUrx48fN+8/fPgw/fv3p2nTprRo0YKgoCDS09MBCAkJoXPnznz44Yc0atSI+Ph4UlNTeffdd3F3d8fV1ZW+ffty9OhRAIYPH05ERARBQUH079+fU6dO4eLiwrFjx8ztffLJJwQEBACwc+dOGjduzNKlS3F1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1wciTIuISNGiQC15tnr1anx9fbMcHe7Rowfh4eEWo4j3qly5csyfP58tW7bg5uZGv3798PT0zNUU6Oz4+/szduxYWrZsSXR0NDNmzABuhrb58+dz/PhxWrVqRdeuXXF2duatt97K9loTJkwgLCyMZs2aERwczKeffkrDhg3p3r0758+fp2fPnnz33Xf069cPW1tbJk6cyJo1a2jatClr167l5ZdfvmutrVq14q233mLy5Mm4uroyefJkJk2aZB6FvWXDhg0YDIYsF35r3bo1jo6O5qns3t7e7N27l1atWlnck+zv70/fvn0ZOXIkTZo0YdGiRcydOzfL1cQBOnToQJs2bejUqRO9evXihRde4NVXXyU8PJyPP/6YLl260KNHD/7xj3/QoUMHGjZsiJOTk/lFa17ba9myJTt27DB/37BhQ959910mTZpEixYtOHr0qPl+8Nw8d1OnTuXKlSu0atWKt99+27wY3d1uF7jdzp07adKkSZFd4VtEbupW34mV/dtQq6KDxfZaFR1Y2b+NPodaRESsYmPKy41/Ig8BFxcXFi5cSJs2bQq7lEfC7R8n5enpyYgRI3jppZfyfK3Dhw/j7+/Pli1bzIvO5Wd9O3bs4JVXXmHfvn25CshpaWl4enoyceJEvL29c9XerWnlWS2AVhCSkpI4dOgQdevW1ZSyh5j6OfdMJhO/HT/HmSvJVHUshftTlR6YkWn186NB/fxoUD8XbXl5vaYRahEpMH/88Qdubm7s378fo9FISEgICQkJtGzZ0qrr1alTB29vb7788st8qW/8+PEMGTKEK1eucPXqVZYsWcLzzz+f69HmFStWULlyZfPHdolI0WdjY0ObmpXp1diZ1k9XfmDCtIiIFE0K1CJSYNzc3Bg9ejSjRo2iSZMmLFmyhJkzZ2a7yFluTJo0iV9//ZXIyMh7ru/NN9/E0dGRdu3a0a5dO2xtbZk6dWquzo2JieGLL77g008/zdMUcRERERF5eGiVb3nk3L7qsxSsAQMG5OljxHJSpkwZwsPD8+Va5cqVY/bs2Vad6+zszO+//54vdYiIiIjIg0nDKiIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKhFRERERERErKBALSIiIiIiImIFBWoRERERERERKyhQi4iIiIiIiFhBgVpERERERETECgrUIiIiIiIiIlZQoBYRERERERGxggK1iIiIiIiIiBUUqEVERERERESsoEAtIiIiIiIiYgUFahERERERERErKFCLiIiIiIiIWEGBWkRERERERMQKCtQiIiIiIiIiVlCgFhEREREREbGCArWIiIiIiIiIFRSoRURERERERKygQC0iIiIiIiJiBQVqERERERERESsoUIuIiIiIiIhYQYFaRERERERExAoK1CIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKhFRERERERErKBALSIiIiIiImIFBWoRERERERERKyhQi4iIiIiIiFhBgVpERERERETECgrUIiIiIiIiIlZQoBYRERERERGxggK15IsOHTqwatWqwi5D7mL+/Pn069cvV8e+++67jBs3roArst6yZcsICAggIyPjjn3Hjh3DxcWFU6dOFXgd77zzDhMmTCjwdkRERESkaCpe2AXIg2Pbtm0MGjSIvn37MnHiRIt9P/30U66vU79+ffPX6enpFCtWDFtbWwCqVq2ap2sVNZGRkZQuXdriMRakgIAAdu3aRXh4ONWrV7fYt3nzZkaOHMnIkSN57bXXGDFiBCNGjMjVdYOCggqi3Hxx5MgR5syZQ2hoKMWKFex7giEhIbz99tuUKFHijn3vv/8+b7/9Nj4+PoSHh9OuXbsCrUVEcs9kMvHb8XOcvpJE1TL2tH66EjY2NoVdloiIPIQUqCXXVq1ahY+PDxs2bCAwMBCDwWDVdaKiosxfBwQE0LBhQ/71r3/lV5mFaunSpbzwwgv3LVADVKhQgXXr1t0RltetW0f58uXvWx33y9y5c/Hx8aFatWr3pb2KFSuyffv2bPcPGDCA2bNnK1CLFBFromJ5a91ujl24at5Ws4ID031d6VbfqRArExGRh5GmfEuuXLx4kZ9//pnXX3+dcuXKsXnzZov9Xl5erFixAoDAwEDeeecdAgIC6Ny5c57bioyMpFevXjRu3JjWrVszb9488745c+YwfPhw5syZg5ubG+7u7oSHhxMSEoKHhwdubm58/vnn5uNdXFwICQnB39+fBg0a0LVrV44fP27ef/jwYfr370/Tpk1p0aIFQUFBpKenAzdHJzt37syHH35Io0aNiI+PJzU1lXfffRd3d3dcXV3p27cvR48eBWD48OFEREQQFBRE//79OXXqFC4uLhw7dszc3ieffEJAQAAAO3fupHHjxixd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ArWIiIiIiIiIFRSoRURERERERKygQC0iIiIiIiJiBQVqERERERERESsoUIuIiIiIiIhYQYFaRERERERExAoK1CIiIiIiIiJWUKAWERERERERsYICtYiIiIiIiIgVFKhFLLBmzRpat25t0bELFiwgNDT0tlz3qaeeYsWKFbelLSncnj17CAwM5K+//mLChAmMGTPmpufEx8fTsmVL0tLS7kKFIiIiInIvUqCW+1Lr1q2pX78+Pj4++Pj40LhxY/r06cOOHTvuyPVCQkLYsmWLRceGh4ezZMkS8+vPPvuMnJwci849fvw4GzduNL/etGkT3bt3L16xFvL29iY2NvaOtH0viYmJISkpqdD9ly9fZsSIEYwfPx53d3emT5/O22+/fdN2/fz8CA4OZuLEibezXJH7islkIjbxJEt/PUps4klMJpOtSxIREbmrFKjlvjVhwgQSEhJISEggLi6Otm3bEhYWxvHjx21dmllaWhqzZ88mNzfXouNjYmLYtGnTHa6qdHnvvfeKDNQrVqzA0dGRp59+uthth4WFERsby759+26lRJH70uqEZLxnriVoQQx9l8QRtCAG75lrWZ2QbOvSRERE7hoFaikRnJ2dGThwIJUrVzaPuvbr1485c+bQsWNHwsLCAEhJSeGVV17B398fPz8/xowZw8WLF83txMXF0alTJxo1asRzzz3Hzz//DEB0dDQBAQEAbN++nfr16/P999/Tpk0bGjZsyNChQ7l06RIA77//Pj169OCvv/4iMDAQk8lEkyZNiI6OBiAyMpK2bdtiNBpp3749MTExAPznP/9h7ty5bNy4ER8fH3Jzc2ndujVRUVEA5OXlMX/+fIKDg2nYsCGdO3c21wdXR+1XrFhBWFgYRqORtm3bEhcXZ9H9i46OplOnTuap7UajkREjRpCdnQ1Abm4uc+fOJSAgAD8/P1599VXS09MBGDduHG+88Qb9+vWjQ4cOAKSnpzNq1CiaN2+O0Whk8ODBnDx5EoA//vgDb29vtm7dSvv27XniiScYP348ycnJ9OrVi0aNGtGvXz/OnTtnrm/JkiXmY5999lk2b95s3tevXz8++ugjRo8eja+vLy1atGDt2rUAdOrUiUOHDhEeHs748eNv+N6joqLo3r07BoPB/H5GjBhh0X2pXLkyQUFBLF261KL7LFJSrE5IpseiWBLPXMi3PfHMBXos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lu+RiNxfNOVbRERE5Ba0atUKNzc3kpKS6N69u3m7j48PQ4cO5c0332TChAk0a9aM6dOn4+zszPTp0y1q29I2HnroIVq0aEGXLl1IS0ujTp06LFiw4IbTmtu3b09aWhoLFizgjTfeoHz58rRt25bRo0ff+s24ib59+7JkyRLCw8MpW7YsL774Is899xxw9U+RzZw5k88++4w333wTV1dX2rRpU2CV77/r06cPc+fOJSgoiNWrVzNr1ixmzZrFypUrqV27NpMmTWL37t3MmTOH0aNH061bt5vWOXToUAwGA6+88gqXLl2iZs2a/Pvf/zY/V/3hhx8ya9YsOnXqxJUrV6hRowbvvPMOjRs3vvWbJCL3FYNJc1NERERE5A7z9vZmypQp9O7d29aliIjcNpryLSIiIiIiImIFBWoRERERERERK2jKt4iIiIiIiIgVNEItIiIiIiIiYgUFahERERERERErKFCLiIiIiIiIWEGBWkRERERERMQKCtQiIiIiIiIiVlCgFhEREREREbGCArWIiIiIiIiIFRSoRURERERERKygQC0iIiIiIiJihf8Di8HDs+1yi+EAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "2s96g7J9jUFW", "colab": { "base_uri": "https://localhost:8080/", "height": 563 }, "outputId": "f2f0e19d-e650-46fb-aaef-fd0922cb152b" }, "source": [ "import seaborn as sns\n", "\n", "import matplotlib.pyplot as plt\n", "correlation_mat = ModelDataset2.corr()\n", "\n", "sns.heatmap(correlation_mat, annot = True)\n", "\n", "plt.show()\n" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "mR96DWU_FEQB" }, "source": [ "###Testing and Training" ] }, { "cell_type": "markdown", "metadata": { "id": "4g_e_cfcG5G5" }, "source": [ "In this section, the data was tested and trained with a 60:40 and 80:20. Previously the data was tested and trained with a 70:30. The reason this is done is to see if the accuracy of the models changes. We look into the same three models as earlier. Included is a link showing all charts together so that it is easier to look through them. It shows all of the same models with similiar accuracies even if the testing and training ratio changes. The three models are Logistic Regression, CatBoost, and Extreme Gradient Boost. All models and testing and training has showed that Snow Water Equivalent is important. https://drive.google.com/file/d/1njKn81QJfTAFwHFyHKL_ljy8a6pCZoV4/view?usp=sharing" ] }, { "cell_type": "code", "metadata": { "id": "b-sK6pFrFqGJ", "colab": { "base_uri": "https://localhost:8080/", "height": 616, "referenced_widgets": [ "afd584fbc8a24f1baaf7ffd336839df5", "9e412e3be60c4a65a00a62cc0900524c", "650fd903437f42138427259ae89385c0", "adc3728c289f4410b594a4212f5e729c", "dd30b884e50b47caa2c7eb30d7d5b397", "eb3d75a11c1c4575a621c248ccfe0f52", "60bb4204212e4b65b4e7fdf846790952", "7ea62fdec17144158b7fb4cfe3c83b21", "cf5589d70daf40ed94c7ffd89dac990e" ] }, "outputId": "f6ff91f4-f2a0-4954-baf2-98251e690e23" }, "source": [ "Model = setup(ModelDataset, target='Avalanche',train_size = 0.6,numeric_features=['Year'])\n", "compare_models()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ModelAccuracyAUCRecallPrec.F1KappaMCCTT (Sec)
lightgbmLight Gradient Boosting Machine0.91410.96960.90370.89460.89860.82410.82490.115
etExtra Trees Classifier0.91260.97500.89920.89440.89660.82100.82130.515
rfRandom Forest Classifier0.91220.97310.91170.88460.89750.82070.82170.576
xgboostExtreme Gradient Boosting0.90550.96700.90260.87760.88940.80690.80792.537
catboostCatBoost Classifier0.90500.96610.90490.87480.88910.80610.80722.721
gbcGradient Boosting Classifier0.89690.96090.89910.86310.88000.78970.79120.310
knnK Neighbors Classifier0.88500.93990.87990.85220.86550.76510.76590.127
dtDecision Tree Classifier0.88350.88570.89920.83730.86660.76350.76590.027
adaAda Boost Classifier0.88160.95010.87200.85170.86130.75810.75880.160
lrLogistic Regression0.85920.92210.83800.83050.83350.71150.71250.314
nbNaive Bayes0.85870.90920.91160.78760.84450.71630.72380.021
qdaQuadratic Discriminant Analysis0.84630.91680.89460.77630.83070.69130.69810.020
ridgeRidge Classifier0.84340.00000.82210.81000.81510.67940.68050.017
ldaLinear Discriminant Analysis0.84340.91830.82210.81000.81510.67940.68050.021
svmSVM - Linear Kernel0.69790.00000.60250.66020.56950.36770.42680.026
\n", "
" ], "text/plain": [ " Model Accuracy AUC Recall Prec. \\\n", "lightgbm Light Gradient Boosting Machine 0.9141 0.9696 0.9037 0.8946 \n", "et Extra Trees Classifier 0.9126 0.9750 0.8992 0.8944 \n", "rf Random Forest Classifier 0.9122 0.9731 0.9117 0.8846 \n", "xgboost Extreme Gradient Boosting 0.9055 0.9670 0.9026 0.8776 \n", "catboost CatBoost Classifier 0.9050 0.9661 0.9049 0.8748 \n", "gbc Gradient Boosting Classifier 0.8969 0.9609 0.8991 0.8631 \n", "knn K Neighbors Classifier 0.8850 0.9399 0.8799 0.8522 \n", "dt Decision Tree Classifier 0.8835 0.8857 0.8992 0.8373 \n", "ada Ada Boost Classifier 0.8816 0.9501 0.8720 0.8517 \n", "lr Logistic Regression 0.8592 0.9221 0.8380 0.8305 \n", "nb Naive Bayes 0.8587 0.9092 0.9116 0.7876 \n", "qda Quadratic Discriminant Analysis 0.8463 0.9168 0.8946 0.7763 \n", "ridge Ridge Classifier 0.8434 0.0000 0.8221 0.8100 \n", "lda Linear Discriminant Analysis 0.8434 0.9183 0.8221 0.8100 \n", "svm SVM - Linear Kernel 0.6979 0.0000 0.6025 0.6602 \n", "\n", " F1 Kappa MCC TT (Sec) \n", "lightgbm 0.8986 0.8241 0.8249 0.115 \n", "et 0.8966 0.8210 0.8213 0.515 \n", "rf 0.8975 0.8207 0.8217 0.576 \n", "xgboost 0.8894 0.8069 0.8079 2.537 \n", "catboost 0.8891 0.8061 0.8072 2.721 \n", "gbc 0.8800 0.7897 0.7912 0.310 \n", "knn 0.8655 0.7651 0.7659 0.127 \n", "dt 0.8666 0.7635 0.7659 0.027 \n", "ada 0.8613 0.7581 0.7588 0.160 \n", "lr 0.8335 0.7115 0.7125 0.314 \n", "nb 0.8445 0.7163 0.7238 0.021 \n", "qda 0.8307 0.6913 0.6981 0.020 \n", "ridge 0.8151 0.6794 0.6805 0.017 \n", "lda 0.8151 0.6794 0.6805 0.021 \n", "svm 0.5695 0.3677 0.4268 0.026 " ] }, "metadata": { "tags": [] } }, { "output_type": "execute_result", "data": { "text/plain": [ "LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,\n", " importance_type='split', learning_rate=0.1, max_depth=-1,\n", " min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0,\n", " n_estimators=100, n_jobs=-1, num_leaves=31, objective=None,\n", " random_state=4581, reg_alpha=0.0, reg_lambda=0.0, silent=True,\n", " subsample=1.0, subsample_for_bin=200000, subsample_freq=0)" ] }, "metadata": { "tags": [] }, "execution_count": 97 } ] }, { "cell_type": "code", "metadata": { "id": "sqZa1fdWgHVv", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "5f54753abe0e4486b04eb8d273109b4c", "87522b28665f4055afc2762b6d60ebe0", "547856fc003e480eb9533f7541f11b61" ] }, "outputId": "f3860f81-8179-4af3-9fd6-2807ac4868e6" }, "source": [ "XGB = create_model(estimator='xgboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.90480.96470.92130.86320.89130.80670.8081
10.89520.95160.87640.87640.87640.78550.7855
20.89520.95640.92130.84540.88170.78800.7904
30.90950.98160.93180.86320.89620.81620.8181
40.93330.97280.93180.91110.92130.86350.8637
50.87080.95900.84090.85060.84570.73460.7346
60.90430.96820.93180.85420.89130.80610.8086
70.93300.98650.93180.91110.92130.86300.8632
80.90430.97500.85230.91460.88240.80190.8033
90.90430.95460.88640.88640.88640.80370.8037
Mean0.90550.96700.90260.87760.88940.80690.8079
SD0.01720.01120.03380.02540.02070.03540.0353
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9048 0.9647 0.9213 0.8632 0.8913 0.8067 0.8081\n", "1 0.8952 0.9516 0.8764 0.8764 0.8764 0.7855 0.7855\n", "2 0.8952 0.9564 0.9213 0.8454 0.8817 0.7880 0.7904\n", "3 0.9095 0.9816 0.9318 0.8632 0.8962 0.8162 0.8181\n", "4 0.9333 0.9728 0.9318 0.9111 0.9213 0.8635 0.8637\n", "5 0.8708 0.9590 0.8409 0.8506 0.8457 0.7346 0.7346\n", "6 0.9043 0.9682 0.9318 0.8542 0.8913 0.8061 0.8086\n", "7 0.9330 0.9865 0.9318 0.9111 0.9213 0.8630 0.8632\n", "8 0.9043 0.9750 0.8523 0.9146 0.8824 0.8019 0.8033\n", "9 0.9043 0.9546 0.8864 0.8864 0.8864 0.8037 0.8037\n", "Mean 0.9055 0.9670 0.9026 0.8776 0.8894 0.8069 0.8079\n", "SD 0.0172 0.0112 0.0338 0.0254 0.0207 0.0354 0.0353" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "6J5JEncjioBy", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "5505c035740744dba23dce1750ea4c06", "f48ed8a89f0a463eabd3c02d11807c26", "e3346fce67b341a189e271ae4dbbf637" ] }, "outputId": "78835874-f97e-442f-c220-ecbdbfadf8aa" }, "source": [ "TunedModel = tune_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.89520.95360.89890.86020.87910.78680.7874
10.87140.94900.78650.89740.83830.73240.7368
20.90000.95800.88760.87780.88270.79550.7956
30.90000.97570.88640.87640.88140.79490.7950
40.92380.96900.92050.90000.91010.84400.8442
50.90430.96260.86360.90480.88370.80250.8031
60.89470.95710.89770.85870.87780.78540.7860
70.92340.97870.90910.90910.90910.84300.8430
80.91870.97300.84090.96100.89700.83030.8353
90.89000.95280.82950.90120.86390.77180.7737
Mean0.90220.96290.87210.89470.88230.79870.8000
SD0.01550.01000.03960.02810.02000.03240.0319
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8952 0.9536 0.8989 0.8602 0.8791 0.7868 0.7874\n", "1 0.8714 0.9490 0.7865 0.8974 0.8383 0.7324 0.7368\n", "2 0.9000 0.9580 0.8876 0.8778 0.8827 0.7955 0.7956\n", "3 0.9000 0.9757 0.8864 0.8764 0.8814 0.7949 0.7950\n", "4 0.9238 0.9690 0.9205 0.9000 0.9101 0.8440 0.8442\n", "5 0.9043 0.9626 0.8636 0.9048 0.8837 0.8025 0.8031\n", "6 0.8947 0.9571 0.8977 0.8587 0.8778 0.7854 0.7860\n", "7 0.9234 0.9787 0.9091 0.9091 0.9091 0.8430 0.8430\n", "8 0.9187 0.9730 0.8409 0.9610 0.8970 0.8303 0.8353\n", "9 0.8900 0.9528 0.8295 0.9012 0.8639 0.7718 0.7737\n", "Mean 0.9022 0.9629 0.8721 0.8947 0.8823 0.7987 0.8000\n", "SD 0.0155 0.0100 0.0396 0.0281 0.0200 0.0324 0.0319" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "D9VxYXSRjfGA", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "289080f92a784987bf9803c808c86b2f", "c00d0d4f76cf4b3ba143096fcabd9160", "1278fb36784f41728b5aed0c522375eb", "a391a8969f7044ddbb8f996f2ae9d841", "5983e5d1fcca4214afeeb0b6e3e9f01b", "5654c6ccc5e94fe5b4b6015c80437afd", "be8e6cd719384b719d8e05c54eab3225" ] }, "outputId": "99bf960f-dfb5-4209-ae4c-381a0c4bd384" }, "source": [ "evaluate_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "289080f92a784987bf9803c808c86b2f", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "Wih-yxD7kxYS", "colab": { "base_uri": "https://localhost:8080/", "height": 401, "referenced_widgets": [ "3f094aa3d2e34e2b988d99c742f9d393", "aa757b9ea18c486cac397ec90631be22", "2800e9fa0fa84f899598d83083a9f37f" ] }, "outputId": "01d760ff-a5ab-4619-f2d8-f34286b26b16" }, "source": [ "plot_model(XGB, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "RoSxqF1xnMhq", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "19bfaa8c92624fc49d00fb576eb168a0", "209a2ebbe1af4fc498e7ba114ccc3878", "3eb1e382648f4b47b0b31c76152573bd" ] }, "outputId": "95c76993-c8a3-4157-b610-e97b56c33c89" }, "source": [ "LR = create_model(estimator='lr')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.84290.90090.85390.79170.82160.68160.6831
10.85240.91500.82020.82950.82490.69730.6973
20.86670.91680.88760.81440.84950.73020.7324
30.89520.95710.86360.88370.87360.78420.7843
40.87620.93040.85230.85230.85230.74570.7457
50.87560.92150.86360.84440.85390.74560.7458
60.85170.91490.86360.80000.83060.69900.7006
70.87080.94860.85230.84270.84750.73540.7355
80.82780.91930.78410.80230.79310.64560.6457
90.83250.89590.73860.84420.78790.65060.6545
Mean0.85920.92210.83800.83050.83350.71150.7125
SD0.02030.01810.04270.02710.02600.04220.0416
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8429 0.9009 0.8539 0.7917 0.8216 0.6816 0.6831\n", "1 0.8524 0.9150 0.8202 0.8295 0.8249 0.6973 0.6973\n", "2 0.8667 0.9168 0.8876 0.8144 0.8495 0.7302 0.7324\n", "3 0.8952 0.9571 0.8636 0.8837 0.8736 0.7842 0.7843\n", "4 0.8762 0.9304 0.8523 0.8523 0.8523 0.7457 0.7457\n", "5 0.8756 0.9215 0.8636 0.8444 0.8539 0.7456 0.7458\n", "6 0.8517 0.9149 0.8636 0.8000 0.8306 0.6990 0.7006\n", "7 0.8708 0.9486 0.8523 0.8427 0.8475 0.7354 0.7355\n", "8 0.8278 0.9193 0.7841 0.8023 0.7931 0.6456 0.6457\n", "9 0.8325 0.8959 0.7386 0.8442 0.7879 0.6506 0.6545\n", "Mean 0.8592 0.9221 0.8380 0.8305 0.8335 0.7115 0.7125\n", "SD 0.0203 0.0181 0.0427 0.0271 0.0260 0.0422 0.0416" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "VYXTx0PnnNZj", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "6e579c53f5154dcc9f288f98732dfda5", "4a8be249ec484581994f11a00c835fd7", "224cb2b4e86f479d91d9fca0a4cff63b" ] }, "outputId": "e340ecf4-769a-449c-96bb-f0b65fa9fdb8" }, "source": [ "TunedModel = tune_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.84290.90080.85390.79170.82160.68160.6831
10.85240.91500.82020.82950.82490.69730.6973
20.86670.91730.88760.81440.84950.73020.7324
30.89520.95710.86360.88370.87360.78420.7843
40.87620.92970.85230.85230.85230.74570.7457
50.87560.92150.86360.84440.85390.74560.7458
60.85170.91500.86360.80000.83060.69900.7006
70.87080.94860.85230.84270.84750.73540.7355
80.82780.91930.78410.80230.79310.64560.6457
90.83250.89590.73860.84420.78790.65060.6545
Mean0.85920.92200.83800.83050.83350.71150.7125
SD0.02030.01800.04270.02710.02600.04220.0416
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8429 0.9008 0.8539 0.7917 0.8216 0.6816 0.6831\n", "1 0.8524 0.9150 0.8202 0.8295 0.8249 0.6973 0.6973\n", "2 0.8667 0.9173 0.8876 0.8144 0.8495 0.7302 0.7324\n", "3 0.8952 0.9571 0.8636 0.8837 0.8736 0.7842 0.7843\n", "4 0.8762 0.9297 0.8523 0.8523 0.8523 0.7457 0.7457\n", "5 0.8756 0.9215 0.8636 0.8444 0.8539 0.7456 0.7458\n", "6 0.8517 0.9150 0.8636 0.8000 0.8306 0.6990 0.7006\n", "7 0.8708 0.9486 0.8523 0.8427 0.8475 0.7354 0.7355\n", "8 0.8278 0.9193 0.7841 0.8023 0.7931 0.6456 0.6457\n", "9 0.8325 0.8959 0.7386 0.8442 0.7879 0.6506 0.6545\n", "Mean 0.8592 0.9220 0.8380 0.8305 0.8335 0.7115 0.7125\n", "SD 0.0203 0.0180 0.0427 0.0271 0.0260 0.0422 0.0416" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "ejO1H3OrnTUF", "colab": { "base_uri": "https://localhost:8080/", "height": 169, "referenced_widgets": [ "8f6833e896f24ce1b691f340f19acbf3", "4a39820fd6e34def9e7df8b60b827dd4", "3745871b9e9d4960b65954a97c83eff2", "4a103d29196a45ddb2be13242dc5948d", "d4177e6dc2a34c94850207968293f112", "e8ffa2e43da84377803186697fdf7bd6", "61900fd657354669ac47d7fc218f0e63", "e5653ef1f4ac4568af5ca682912df39c", "bc82ef6f0b8f49f6a44179bd6b853445", "e05532a49de54883a2776a4ce69ff02e", "70b3c58232134d9cac7db23f5b62bfda", "c4db2e658ea54e1f896d3695a75fb0f8", "0edb902376534a8fbd01c22af54b7c27" ] }, "outputId": "6fe535b6-b886-4556-8a65-5311c788b434" }, "source": [ "evaluate_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8f6833e896f24ce1b691f340f19acbf3", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "4NutmU9xnsI5", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "f4e36e8b-a1b4-4119-e08d-367284ad09b5" }, "source": [ "plot_model(LR, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGACAYAAAC6OPj9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3zP9f//8ft7Z2PYHEZzbCEMOYXUh4Y25DiHRcMk8cnoI3JWDomkYsmHTkQoxwhzNsdITlFSWDkfNtvYZsf37w+/3t/WNhvZ4fnpdr1cPpdPe77ee70er/e7z2e3vd+v93sWq9VqFQAAgMHs8nsAAACAv4ugAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2iAbFSrVk2XL19+IPvavHmzRo0addfbnDlzRt99912Obx8aGqoGDRrI399f/v7+8vPzU6dOnRQeHv5AZn7Qrly5omefffaB7vP06dN6+eWX1bJlS7Vq1Urdu3fX9u3b/9Y+jx49qmbNmmnAgAH39f2vvfaatm3b9rdm+MP58+dVrVo1TZs2LcO2Pn36yNfXN9t9XL9+XVu3bs10W248JkBes/A5NMDdVatWTeHh4SpTpkyeHG/evHlKSUnRv//97xzdPjQ0VJcvX9abb75pWzt8+LBeeOEF7dixQ0WLFs2tUQuEK1euqGPHjhoyZIi6d+8ui8Wiw4cPa+DAgXrnnXf05JNP3td+Z8+erYiICE2fPv0BT3zvzp8/r27duqlw4cLauHGj7Ozu/C56/fp1devWTZKyjad169Zp79696f49Af6XOOT3AICpEhMT9eabb2r//v2ys7NTs2bNNHz4cNnb22vXrl0aO3asXF1d1adPH02bNk1r1qzRgQMHtGbNGs2fP18HDhzQW2+9pcTERFmtVg0ePFjOzs6aO3euHB0dFRsbq6pVq9puHxUVpdGjR+uXX36Rq6urRowYkeUP67p168rV1VURERGqXbu2vv/+e02ZMkWxsbFyd3fXjBkzVL58eSUmJuq1117ToUOHVKVKFdWoUUPXr1/X1KlTFRQUpHr16mnTpk1688039cgjj2jSpEk6duyYLbgCAgIkSe+9957CwsIkSZ6enpo+fbo8PT0zXU9OTtYzzzyjH3/8UWlpaZo5c6Y2btwoSXrsscc0fvx4ubq6KigoSL6+vtq0aZPOnz+vhg0basaMGbJYLOnOdf78+XriiScUGBiY7vw//PBDW4Tu379fU6dOVUJCgtzc3DR+/HjVqlVLK1eu1I4dO1SkSBF9//33sre318yZM3X69Gl9/vnnSk1N1YsvvqjWrVvbHgdJWrly5V0fx9atWysoKEhdunRRhw4d7vn4VapUyfCYuri4qEKFCjp48KAef/xxSdKGDRvUpEkT7du3z3a72bNna82aNUpNTZW3t7emT5+uc+fOaeLEiUpNTVV8fLxeffVVBQYGqk2bNvrxxx81depU22MyYMAANWrUSMHBwbp586batGmjjz76SI8++ug9/28EyEu85ATcpwULFujy5ctat26dVq1apYMHD+qbb75RamqqRo4cqYkTJ2rDhg2KiIhQQkJChu+fNm2aRo0apfXr12vOnDnasmWLfH191apVK/Xq1UsjR45Md/sZM2bI29tbW7du1bRp0/Tqq68qKSkp09k2btyo5ORkPfzww7p165YGDhyooUOHavPmzerVq5eGDBkiSVq2bJmuXr2q7du3a9KkSVq5cmW6/Rw/flzr1q1TvXr1NHXqVNnZ2WnDhg1atmyZQkNDderUKf3yyy8KCwvTN998o40bN6pVq1bat29flut/tmHDBu3cuVMrV67UunXrFBsba4sG6c6zDp999pk2btyob7/9VocOHcpwrt99952aNWuWYb1evXp66KGHFBcXpyFDhmjs2LEKCwtTv379NGzYMKWlpUmSdu7cqR49emjjxo1q1KiRFixYIH9/fz3//PPy8/PTRx99lOl9fLfH8c/u5/hZ8ff31zfffGP7et26dfL397d9ffz4cX3xxRdasWKFNm3apKSkJC1atEg1a9a0nc97770nSYqOjlb16tW1aNGidMd4/fXXbQEdGhqq9u3bEzMwAkED3KcdO3aoW7ducnBwkIuLi9q1a6c9e/YoIiJCSUlJth+yQUFBth9ef1aiRAmtXr1ap0+fVqVKlTRjxoy7Hi88PNx2nUONGjW0detWOTk5SboTMH9cQ1O/fn0tXLhQH3/8se03f09PTzVt2lSS9Oyzz+r333/XxYsXdfDgQfn5+cnBwUFeXl4ZwqBZs2a2lze2b9+uXr16yc7OTh4eHmrVqpU2bdqkokWLKioqSmvXrlVMTIyCgoLUsWPHLNf/eh927NhRrq6usre3V+fO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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "u7s3L2rfoL2T", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "3659c16a4759447f9c8b2e9e1bd7860f", "ea4bd0ed110e4818a61de5d741d65792", "ab3daf44e84e407f89d82424587c45d2" ] }, "outputId": "7fb30ea4-4983-4e61-de43-a25d1d22d11c" }, "source": [ "catboost = create_model(estimator='catboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.90480.96510.92130.86320.89130.80670.8081
10.88570.95520.85390.87360.86360.76530.7654
20.89520.95600.91010.85260.88040.78740.7887
30.91900.97560.93180.88170.90610.83500.8360
40.91430.97310.93180.87230.90110.82560.8270
50.91870.96790.92050.89010.90500.83390.8343
60.89000.96240.92050.83510.87570.77740.7803
70.92820.97870.94320.89250.91710.85390.8549
80.90430.97670.86360.90480.88370.80250.8031
90.89000.94990.85230.88240.86710.77320.7736
Mean0.90500.96610.90490.87480.88910.80610.8072
SD0.01390.00950.03280.01940.01700.02870.0286
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9048 0.9651 0.9213 0.8632 0.8913 0.8067 0.8081\n", "1 0.8857 0.9552 0.8539 0.8736 0.8636 0.7653 0.7654\n", "2 0.8952 0.9560 0.9101 0.8526 0.8804 0.7874 0.7887\n", "3 0.9190 0.9756 0.9318 0.8817 0.9061 0.8350 0.8360\n", "4 0.9143 0.9731 0.9318 0.8723 0.9011 0.8256 0.8270\n", "5 0.9187 0.9679 0.9205 0.8901 0.9050 0.8339 0.8343\n", "6 0.8900 0.9624 0.9205 0.8351 0.8757 0.7774 0.7803\n", "7 0.9282 0.9787 0.9432 0.8925 0.9171 0.8539 0.8549\n", "8 0.9043 0.9767 0.8636 0.9048 0.8837 0.8025 0.8031\n", "9 0.8900 0.9499 0.8523 0.8824 0.8671 0.7732 0.7736\n", "Mean 0.9050 0.9661 0.9049 0.8748 0.8891 0.8061 0.8072\n", "SD 0.0139 0.0095 0.0328 0.0194 0.0170 0.0287 0.0286" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "F7f6R9Iwoa60", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "9c93b53066f449cabffe42495002ff2b", "84de493313c4416ba147b8514bdf5ccd", "e8696e757e9140d38d0dec51809b5a37" ] }, "outputId": "4f69623f-55df-4a46-cad3-7f80b844b1f2" }, "source": [ "TunedModel = tune_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.89050.96500.89890.85110.87430.77740.7783
10.89520.95890.87640.87640.87640.78550.7855
20.89050.95890.92130.83670.87700.77870.7816
30.91900.97620.92050.89010.90500.83450.8349
40.92380.97620.93180.89130.91110.84450.8451
50.91390.96870.88640.90700.89660.82280.8230
60.90430.96660.93180.85420.89130.80610.8086
70.91870.98500.94320.87370.90710.83500.8369
80.92820.97700.88640.93980.91230.85160.8527
90.89470.95240.86360.88370.87360.78340.7836
Mean0.90790.96850.90600.88040.89250.81200.8130
SD0.01380.00960.02580.02820.01520.02760.0275
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8905 0.9650 0.8989 0.8511 0.8743 0.7774 0.7783\n", "1 0.8952 0.9589 0.8764 0.8764 0.8764 0.7855 0.7855\n", "2 0.8905 0.9589 0.9213 0.8367 0.8770 0.7787 0.7816\n", "3 0.9190 0.9762 0.9205 0.8901 0.9050 0.8345 0.8349\n", "4 0.9238 0.9762 0.9318 0.8913 0.9111 0.8445 0.8451\n", "5 0.9139 0.9687 0.8864 0.9070 0.8966 0.8228 0.8230\n", "6 0.9043 0.9666 0.9318 0.8542 0.8913 0.8061 0.8086\n", "7 0.9187 0.9850 0.9432 0.8737 0.9071 0.8350 0.8369\n", "8 0.9282 0.9770 0.8864 0.9398 0.9123 0.8516 0.8527\n", "9 0.8947 0.9524 0.8636 0.8837 0.8736 0.7834 0.7836\n", "Mean 0.9079 0.9685 0.9060 0.8804 0.8925 0.8120 0.8130\n", "SD 0.0138 0.0096 0.0258 0.0282 0.0152 0.0276 0.0275" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "XVMyXIFJodSw", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "679526b38f8c47ad9a8759d066aabb5c", "4bb43807c6ed4bbb8bc7a1de36170aad", "15bacfbd614c48e7ac46997961421489", "9d221ee267124302b6aac1bab99db046", "c0a39ef9ad4c46bca8299fb6a5fffec8", "29af3b998a664828a5afa4b9f7dda07c", "bc3075446d0348bcb00f9a672dcc8ad1" ] }, "outputId": "f3531890-87f9-482a-f21a-c3de8ec5cc88" }, "source": [ "evaluate_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "679526b38f8c47ad9a8759d066aabb5c", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "-A_sFs8OojtI", "colab": { "base_uri": "https://localhost:8080/", "height": 758, "referenced_widgets": [ "69bbea89321f407eae6f435e00728d9d", "5facd9a5cac94c8d87e51d5d79cc6aca", "75c2ebf71ba14b8da324d470fde6096b" ] }, "outputId": "3682454a-6d30-4982-8b5f-298512b2d99e" }, "source": [ "plot_model(catboost, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "69bbea89321f407eae6f435e00728d9d", "version_minor": 0, "version_major": 2 }, "text/plain": [ "IntProgress(value=0, description='Processing: ', max=5)" ] }, "metadata": { "tags": [] } }, { "output_type": "error", "ename": "TypeError", "evalue": "ignored", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mplot_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcatboost\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'confusion_matrix'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/classification.py\u001b[0m in \u001b[0;36mplot_model\u001b[0;34m(estimator, plot, scale, save, fold, fit_kwargs, groups, use_train_data, verbose)\u001b[0m\n\u001b[1;32m 1539\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mverbose\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1540\u001b[0m \u001b[0muse_train_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muse_train_data\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1541\u001b[0;31m \u001b[0msystem\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1542\u001b[0m )\n\u001b[1;32m 1543\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/tabular.py\u001b[0m in \u001b[0;36mplot_model\u001b[0;34m(estimator, plot, scale, save, fold, fit_kwargs, groups, feature_name, label, use_train_data, verbose, system, display)\u001b[0m\n\u001b[1;32m 7167\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7168\u001b[0m \u001b[0;31m# execute the plot method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 7169\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlocals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7170\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7171\u001b[0m \u001b[0mplot_filename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/tabular.py\u001b[0m in \u001b[0;36mconfusion_matrix\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6451\u001b[0m \u001b[0mfit_kwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfit_kwargs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6452\u001b[0m \u001b[0mgroups\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgroups\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6453\u001b[0;31m \u001b[0mdisplay\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdisplay\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6454\u001b[0m )\n\u001b[1;32m 6455\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pycaret/internal/plotting.py\u001b[0m in \u001b[0;36mshow_yellowbrick_plot\u001b[0;34m(visualizer, X_train, y_train, X_test, y_test, name, handle_train, handle_test, scale, save, fit_kwargs, groups, display, **kwargs)\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mhandle_test\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"score\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[0mlogger\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Scoring test/hold-out set\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 61\u001b[0;31m \u001b[0mvisualizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscore\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmove_progress\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/yellowbrick/classifier/confusion_matrix.py\u001b[0m in \u001b[0;36mscore\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m 206\u001b[0m \u001b[0;31m# Compute the confusion matrix and class counts\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 207\u001b[0m self.confusion_matrix_ = confusion_matrix_metric(\n\u001b[0;32m--> 208\u001b[0;31m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msample_weight\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 209\u001b[0m )\n\u001b[1;32m 210\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclass_counts_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_counts\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36minner_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m FutureWarning)\n\u001b[1;32m 71\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0marg\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marg\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparameters\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0minner_f\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/sklearn/metrics/_classification.py\u001b[0m in \u001b[0;36mconfusion_matrix\u001b[0;34m(y_true, y_pred, labels, sample_weight, normalize)\u001b[0m\n\u001b[1;32m 274\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 275\u001b[0m \"\"\"\n\u001b[0;32m--> 276\u001b[0;31m \u001b[0my_type\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_check_targets\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 277\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0my_type\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m\"binary\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"multiclass\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 278\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"%s is not supported\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0my_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/sklearn/metrics/_classification.py\u001b[0m in \u001b[0;36m_check_targets\u001b[0;34m(y_true, y_pred)\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcolumn_or_1d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_pred\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0my_type\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"binary\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 104\u001b[0;31m \u001b[0munique_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munion1d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 105\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0munique_values\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[0my_type\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"multiclass\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36munion1d\u001b[0;34m(*args, **kwargs)\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/numpy/lib/arraysetops.py\u001b[0m in \u001b[0;36munion1d\u001b[0;34m(ar1, ar2)\u001b[0m\n\u001b[1;32m 736\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m6\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 737\u001b[0m \"\"\"\n\u001b[0;32m--> 738\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconcatenate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mar1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mar2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 739\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 740\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36munique\u001b[0;34m(*args, **kwargs)\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/numpy/lib/arraysetops.py\u001b[0m in \u001b[0;36munique\u001b[0;34m(ar, return_index, return_inverse, return_counts, axis)\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[0mar\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masanyarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mar\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 262\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0maxis\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 263\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_unique1d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_index\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_inverse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_counts\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 264\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_unpack_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mret\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 265\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/numpy/lib/arraysetops.py\u001b[0m in \u001b[0;36m_unique1d\u001b[0;34m(ar, return_index, return_inverse, return_counts)\u001b[0m\n\u001b[1;32m 309\u001b[0m \u001b[0maux\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mar\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mperm\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 310\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 311\u001b[0;31m \u001b[0mar\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 312\u001b[0m \u001b[0maux\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mar\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 313\u001b[0m \u001b[0mmask\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mempty\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maux\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbool_\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: '<' not supported between instances of 'int' and 'str'" ] }, { "output_type": "display_data", "data": { "image/png": "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ACiQQANAgQQaAAo0pUD39fWlq6sr3d3deeONN04599prr+X6669PV1dXnnrqqZoMCQAzTdVA7969OyMjI9m+fXt6e3vT29t7yvmHH344TzzxRLZt25adO3dm//79NRsWAGaKqoEeGBhIZ2dnkmT58uU5evRoxsfHkyQHDx7MvHnzctFFF6W+vj7r1q3LwMBAbScGgBmgodoFY2NjaWtrmzhuaWnJ6OhompubMzo6mpaWllPOHTx48Ftfq1KpJEk+++yz7zIzU3D8+PHpHmFGsOfas+Pas+Pa+rJ5XzZwqqoG+v873Tf4qhMnTiRJ9u7de8avwdQMDQ1N9wgzgj3Xnh3Xnh2fGydOnMj3vve9KV9fNdCtra0ZGxubOD58+HAWLFjwjecOHTqU1tbWb32tOXPmZMWKFWlsbExdXd2UhwSA81WlUsmJEycyZ86c0/rnqga6o6MjTzzxRLq7uzM8PJzW1tY0NzcnSZYsWZLx8fG88847WbhwYV555ZU89thj3/pa9fX1mTt37mkNCADnu9P55PylusoU7lk/9thj+de//pW6urr09PTkzTffzNy5c7Nhw4a8/vrrE1H+8Y9/nNtuu+30JwcATjGlQAMA55YniQFAgQQaAApU00B7RGjtTbbjXbt25YYbbkh3d3ceeOCBnDx5cpqmPL9NtuMvPf7447npppvO8WQXjsl2/P7772fjxo25/vrr8+CDD07ThBeGyfb83HPPpaurKxs3bvzaEyOZur1796azszPPPvvs186ddvcqNfLPf/6zcscdd1QqlUpl//79lRtuuOGU8z/5yU8q7733XuV///tfZePGjZV9+/bVapQLVrUdb9iwofL+++9XKpVK5Re/+EXl1VdfPecznu+q7bhSqVT27dtX6erqqtx4443nerwLQrUd//KXv6z87W9/q1QqlcpDDz1Ueffdd8/5jBeCyfb83//+t3LNNddUTpw4UalUKpVbb7218u9//3ta5jyfHTt2rHLjjTdWfvvb31a2bt36tfOn272afYL2iNDam2zHSdLf35+FCxcm+eIpbx9++OG0zHk+q7bjJNmyZUvuvffe6RjvgjDZjk+ePJnBwcGsX78+SdLT05NFixZN26zns8n23NjYmMbGxnz88cf5/PPP88knn2TevHnTOe55afbs2XnmmWe+8XkgZ9K9mgV6bGws8+fPnzj+8hGhSb7xEaFfnmPqJttxkom/r3748OHs3Lkz69atO+cznu+q7bi/vz9XXnllFi9ePB3jXRAm2/GRI0cyZ86cPPLII9m4cWMef/zx6RrzvDfZnpuamnLXXXels7Mz11xzTS677LIsW7ZsukY9bzU0NHzr33c+k+6dsz8kVvG3uWrum3b8wQcf5M4770xPT88pvzk5M1/d8UcffZT+/v7ceuut0zjRheerO65UKjl06FBuvvnmPPvss3nzzTfz6quvTt9wF5Cv7nl8fDxPP/10Xn755fz973/Pnj178tZbb03jdCQ1DPTZfEQo32yyHSdf/Ka7/fbbc88992Tt2rXTMeJ5b7Id79q1K0eOHMnPfvaz3H333RkeHk5fX990jXremmzH8+fPz6JFi3LxxRdn1qxZueqqq7Jv377pGvW8NtmeDxw4kKVLl6alpSWzZ8/OmjVrPJ/7LDuT7tUs0B0dHdmxY0eSTPqI0M8//zyvvPJKOjo6ajXKBWuyHSdffDd6yy235Oqrr56uEc97k+342muvzUsvvZQXXnghTz75ZNra2rJ58+bpHPe8NNmOGxoasnTp0rz99tsT5916PTOT7Xnx4sU5cOBAPv300yRf/M8zLrnkkuka9YJ0Jt2r6ZPEPCK09r5tx2vXrs0VV1yRyy+/fOLa6667Ll1dXdM47flpsn+Pv/TOO+/kgQceyNatW6dx0vPXZDseGRnJ/fffn0qlkhUrVuShhx5Kfb1HOJyJyfb8/PPPp7+/P7Nmzcrll1+eX//619M97nlnaGgojz76aN599900NDTk+9//ftavX58lS5acUfc86hMACuQ/QwGgQAINAAUSaAAokEADQIEEGgAKJNAAUCCBBoACCTQAFOj/ALjguq4NbxIbAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "IK5koP97dMM1", "colab": { "base_uri": "https://localhost:8080/", "height": 650, "referenced_widgets": [ "8707725331314861821ce500a3eeffac", "4be5360cabe647d5849b88f489b6cd20", "eb95926f6a4944c292da60aa0213e396", "8395d1cb9e454d068dd6a3db160fc9c6", "b8d139ba355646888a39dfaa52bb6c36", "6d74e458826c4bd1aed9dca2760c8ca0", "c24b28b804be4c248eba0b3eb3099673", "5737d68310e24f188f9a1c8844aa4831", "0df65d85f8fc4afd845d8a8346d0ac00" ] }, "outputId": "eae9f466-b458-4330-db8b-7275394be7ff" }, "source": [ "Model = setup(ModelDataset, target='Avalanche',train_size = 0.8,numeric_features=['Year'])\n", "compare_models()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ModelAccuracyAUCRecallPrec.F1KappaMCCTT (Sec)
etExtra Trees Classifier0.91660.97670.90190.90300.90230.82950.82980.518
rfRandom Forest Classifier0.91440.97410.91200.89100.90100.82570.82630.617
xgboostExtreme Gradient Boosting0.91410.97000.91540.88760.90090.82510.82590.787
lightgbmLight Gradient Boosting Machine0.91370.97020.91370.88800.90050.82430.82490.125
catboostCatBoost Classifier0.91230.96980.91290.88590.89880.82140.82233.152
gbcGradient Boosting Classifier0.89940.96510.90700.86440.88500.79570.79670.386
dtDecision Tree Classifier0.89190.89280.89940.85570.87660.78050.78190.028
knnK Neighbors Classifier0.88690.94430.88690.85430.86990.76990.77090.125
adaAda Boost Classifier0.88000.94730.88350.84360.86280.75640.75740.176
nbNaive Bayes0.85860.91400.90450.79370.84530.71610.72160.020
lrLogistic Regression0.85460.92520.83820.82490.83120.70360.70410.346
qdaQuadratic Discriminant Analysis0.84930.91980.90280.77950.83640.69800.70500.020
ldaLinear Discriminant Analysis0.84210.92120.82730.80800.81730.67830.67880.021
ridgeRidge Classifier0.84170.00000.82650.80790.81680.67750.67810.018
svmSVM - Linear Kernel0.72750.00000.64670.77940.63980.43560.50250.030
\n", "
" ], "text/plain": [ " Model Accuracy AUC Recall Prec. \\\n", "et Extra Trees Classifier 0.9166 0.9767 0.9019 0.9030 \n", "rf Random Forest Classifier 0.9144 0.9741 0.9120 0.8910 \n", "xgboost Extreme Gradient Boosting 0.9141 0.9700 0.9154 0.8876 \n", "lightgbm Light Gradient Boosting Machine 0.9137 0.9702 0.9137 0.8880 \n", "catboost CatBoost Classifier 0.9123 0.9698 0.9129 0.8859 \n", "gbc Gradient Boosting Classifier 0.8994 0.9651 0.9070 0.8644 \n", "dt Decision Tree Classifier 0.8919 0.8928 0.8994 0.8557 \n", "knn K Neighbors Classifier 0.8869 0.9443 0.8869 0.8543 \n", "ada Ada Boost Classifier 0.8800 0.9473 0.8835 0.8436 \n", "nb Naive Bayes 0.8586 0.9140 0.9045 0.7937 \n", "lr Logistic Regression 0.8546 0.9252 0.8382 0.8249 \n", "qda Quadratic Discriminant Analysis 0.8493 0.9198 0.9028 0.7795 \n", "lda Linear Discriminant Analysis 0.8421 0.9212 0.8273 0.8080 \n", "ridge Ridge Classifier 0.8417 0.0000 0.8265 0.8079 \n", "svm SVM - Linear Kernel 0.7275 0.0000 0.6467 0.7794 \n", "\n", " F1 Kappa MCC TT (Sec) \n", "et 0.9023 0.8295 0.8298 0.518 \n", "rf 0.9010 0.8257 0.8263 0.617 \n", "xgboost 0.9009 0.8251 0.8259 0.787 \n", "lightgbm 0.9005 0.8243 0.8249 0.125 \n", "catboost 0.8988 0.8214 0.8223 3.152 \n", "gbc 0.8850 0.7957 0.7967 0.386 \n", "dt 0.8766 0.7805 0.7819 0.028 \n", "knn 0.8699 0.7699 0.7709 0.125 \n", "ada 0.8628 0.7564 0.7574 0.176 \n", "nb 0.8453 0.7161 0.7216 0.020 \n", "lr 0.8312 0.7036 0.7041 0.346 \n", "qda 0.8364 0.6980 0.7050 0.020 \n", "lda 0.8173 0.6783 0.6788 0.021 \n", "ridge 0.8168 0.6775 0.6781 0.018 \n", "svm 0.6398 0.4356 0.5025 0.030 " ] }, "metadata": { "tags": [] } }, { "output_type": "execute_result", "data": { "text/plain": [ "ExtraTreesClassifier(bootstrap=False, ccp_alpha=0.0, class_weight=None,\n", " criterion='gini', max_depth=None, max_features='auto',\n", " max_leaf_nodes=None, max_samples=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=-1,\n", " oob_score=False, random_state=5221, verbose=0,\n", " warm_start=False)" ] }, "metadata": { "tags": [] }, "execution_count": 112 } ] }, { "cell_type": "code", "metadata": { "id": "zhEEYGIVg6KY", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "8dd10b0c4c8e4c2d899ca98ddf26f19f", "4cf7d8abf42d43239a03e760182abacd", "46c96d3cfe814a7fb86366bdf21700ea" ] }, "outputId": "f6acd055-43a6-41ff-faeb-1f521bcfe12d" }, "source": [ "XGB = create_model(estimator='xgboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.91430.97560.90830.89340.90080.82540.8255
10.91070.96330.86670.92040.89270.81640.8175
20.92140.97350.91670.90160.90910.83990.8400
30.91400.97400.92440.88000.90160.82530.8261
40.90320.94760.89920.87700.88800.80280.8030
50.91760.97490.94120.87500.90690.83310.8349
60.89960.96230.90760.86400.88520.79620.7969
70.92110.96740.90760.90760.90760.83880.8388
80.90680.97280.91600.87200.89340.81070.8115
90.93190.98860.96640.88460.92370.86240.8652
Mean0.91410.97000.91540.88760.90090.82510.8259
SD0.00910.01020.02480.01690.01100.01870.0191
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9143 0.9756 0.9083 0.8934 0.9008 0.8254 0.8255\n", "1 0.9107 0.9633 0.8667 0.9204 0.8927 0.8164 0.8175\n", "2 0.9214 0.9735 0.9167 0.9016 0.9091 0.8399 0.8400\n", "3 0.9140 0.9740 0.9244 0.8800 0.9016 0.8253 0.8261\n", "4 0.9032 0.9476 0.8992 0.8770 0.8880 0.8028 0.8030\n", "5 0.9176 0.9749 0.9412 0.8750 0.9069 0.8331 0.8349\n", "6 0.8996 0.9623 0.9076 0.8640 0.8852 0.7962 0.7969\n", "7 0.9211 0.9674 0.9076 0.9076 0.9076 0.8388 0.8388\n", "8 0.9068 0.9728 0.9160 0.8720 0.8934 0.8107 0.8115\n", "9 0.9319 0.9886 0.9664 0.8846 0.9237 0.8624 0.8652\n", "Mean 0.9141 0.9700 0.9154 0.8876 0.9009 0.8251 0.8259\n", "SD 0.0091 0.0102 0.0248 0.0169 0.0110 0.0187 0.0191" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "kmNsROM5ilKd", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "3516024e5141494ba968244737483245", "4885cdb5a3d2483e924c0cc0d75f97e5", "dfb224af140240ecb4e4b055a3238bf8" ] }, "outputId": "ed61f6a5-1081-4823-e7fc-d26db7ad28de" }, "source": [ "TunedModel = tune_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.89640.97390.93330.84210.88540.79140.7949
10.91070.96620.90000.89260.89630.81790.8179
20.92140.97860.94170.88280.91130.84090.8423
30.89250.96830.93280.83460.88100.78350.7875
40.88890.94870.90760.84380.87450.77510.7767
50.91040.97150.94120.86150.89960.81900.8216
60.89610.96360.92440.84620.88350.79000.7925
70.88890.96730.91600.83850.87550.77550.7780
80.89250.97090.92440.83970.88000.78300.7860
90.91760.98770.98320.84780.91050.83490.8427
Mean0.90150.96970.93040.85290.88980.80110.8040
SD0.01160.00960.02180.01880.01300.02350.0239
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8964 0.9739 0.9333 0.8421 0.8854 0.7914 0.7949\n", "1 0.9107 0.9662 0.9000 0.8926 0.8963 0.8179 0.8179\n", "2 0.9214 0.9786 0.9417 0.8828 0.9113 0.8409 0.8423\n", "3 0.8925 0.9683 0.9328 0.8346 0.8810 0.7835 0.7875\n", "4 0.8889 0.9487 0.9076 0.8438 0.8745 0.7751 0.7767\n", "5 0.9104 0.9715 0.9412 0.8615 0.8996 0.8190 0.8216\n", "6 0.8961 0.9636 0.9244 0.8462 0.8835 0.7900 0.7925\n", "7 0.8889 0.9673 0.9160 0.8385 0.8755 0.7755 0.7780\n", "8 0.8925 0.9709 0.9244 0.8397 0.8800 0.7830 0.7860\n", "9 0.9176 0.9877 0.9832 0.8478 0.9105 0.8349 0.8427\n", "Mean 0.9015 0.9697 0.9304 0.8529 0.8898 0.8011 0.8040\n", "SD 0.0116 0.0096 0.0218 0.0188 0.0130 0.0235 0.0239" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "t8eCmI1YjgpM", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "5238ac85157f48ebbef40b4332450a4d", "3e4c48f925694b4992df24d3db4cd08d", "90305a6b029b4002915d714b18d2dc6a", "36efa56b78d848e18fc9d8ff5248025b", "cbb0a03436964633b5fb8378022b6af0", "389e9955fa29468eb796fe3c1421b4cb", "3e279ee794e54f74b1af69f76a966a31", "da0fead6fe0547549f7d21c109295c78", "1d64432c0de54747a4373d2055e990ea", "20959362abf54f809bbc9279cfeda188" ] }, "outputId": "ae49d4f2-9afc-431b-d42f-8347d44d4274" }, "source": [ "evaluate_model(XGB)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5238ac85157f48ebbef40b4332450a4d", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "b7ZesJMGkzcC", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "7753c792-a33c-48da-e1db-a81c516ff428" }, "source": [ "plot_model(XGB, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGACAYAAAC6OPj9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXiM9/7/8ddkmRBrQmxRpPYe9LTUVkqtsVOtpDQltFRtLaWIpco56ihasVQ31Fq1HbFEKVVaS1s7VVupNUgIskgk9++P/jrf5iRpojWZfNrn47pcbT73zH2/Z/TSp3vumbFZlmUJAADAYG6uHgAAAODPImgAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGuA++/HHH1WnTh1duHDBsXb16lXVrVtXhw8fliRZlqVPPvlE7du3V6tWrdS8eXO9+OKLju2SNHz4cNWtW1eBgYEKDAxUu3btFBERkeZYBw4cUI8ePdSiRQs1a9ZM3bt31969eyVJu3fvVvPmze/74+vevbuOHDkiSXrttdfUqFEjbd++Pc36n7F69Wp17NhRgYGBatq0qYYMGaKoqKg/tc+pU6eqQYMGWrFixT3fNyoqSm3btv1Tx/+t8PBwVa5cWcePH0+zfunSJVWpUkXh4eFZ7mP79u26ePFihtsWLlyod955577MChjFAnDfzZw50+rZs6fj5wEDBlhTp051/DxlyhSrS5cuVlRUlGVZlnX37l1ryZIlVq1atazo6GjLsizr9ddft2bOnOm4z48//mhVr17dunr1qmVZlnX06FGrdu3a1qZNmxy32bx5s/Xoo49ax48ft3bt2mU1a9bMqY+zSpUq1tmzZ+/b/hYtWmQ1b97cOnnypGVZlpWUlGS9++67VrNmzazExMQ/vN+mTZta33zzzf0a80+ZPn261ahRI2vKlClp1j/44AOrUaNG1vTp07PcR8+ePa1vv/3WWSMCRuIMDeAEvXv31vXr17Vy5Upt3bpVp06dUr9+/SRJN27c0Pz58zVp0iQVK1ZMkuTu7q7g4GBt3bpVvr6+Ge6zUqVKKlSokONv5rNnz1ZQUJCaNWvmuE3Tpk01Y8YMFSlSJM19ExIS9Morr6hly5Zq0qSJJk2a5Ni2YcMGtW3bVq1atVK7du20e/fu311v0qSJvvvuO4WEhCg1NVW9evXStm3bHOuStHnzZrVr105NmzZVz549FRMTI+mXsxOjRo3S008/rXnz5qWZMTU1VTNnztSYMWNUvnx5SZKnp6cGDhyo119/XTabTampqZo2bZrjrNXw4cMVHx8vSQoJCdHcuXP17LPPqmHDhho8eLAsy9KQIUN06dIljRw5UsuWLVNISIj++9//Oo7725+nTZumli1bqmXLlnr++ecVFRWl8+fP66GHHnLMeK/Hz0iDBg20fv36NGvr169X/fr1HT9fu3ZNvXr1UmBgoJo0aaK5c+dKkt555x3t2rVLQ4cO1fr169M9p+Hh4QoLC9OFCxdUv359Xb58WZIUERGhLl26KDU1NcOZANMRNIATeHh4aOLEiZo6darGjx+viRMnym63S/rlZaKSJUuqXLly6e6XP3/+TPe5bds22e12ValSRZL07bffqlGjRuluV69evXRRtGTJEsXFxSkyMlKrVq3SypUrHfExbtw4zZkzRxs2bNDYsWO1ZcuW313/1YIFCxz//O0c586d07BhwzRlyhR98cUXqlOnjt544400j+P9999Xjx490uzv9OnTio2N1eOPP57uMTVr1kx2u10bNmzQV199pZUrV2rdunW6efNmmjDasmWL5s6dq40bN2rXrl3au3evpkyZouLFi2vy5Mnq0qVLps/viRMnFBkZqbVr12rjxo1q3ry5du7cmeY2f+T4GSlevLiKFSumffv2SZJ++ukneXp6qmTJko7bzJ49W6VLl1ZkZKTmz5+vKVOm6NKlS3rllVccj6d169aZPqf+/v7q3bu3Jk+erPj4eE2bNk3jx4+Xmxt/7OOvif+yASepXLmy/P395e7u7vgbviTFxsamCY6bN286/sb/xBNP6IMPPnBs++STTxQYGKjGjRtr4MCB6tOnjyOMYmNjVbRo0WzN0rNnT82aNUs2m02FChVSxYoVdf78eUlSkSJFtHTpUl24cEG1atXSiBEjfnc9K1999ZVq166tSpUqSZKCg4O1ZcsWpaSkSJIefvjhDM9C3bhxQ76+vrLZbJnu+8svv1THjh3l7e0td3d3PfXUU/r6668d2wMDA5UnTx55e3urXLlyunTpUrZmlqSCBQsqJiZGERERio2NVUhIiDp27Oi047dp00Zr166VJK1bt06tWrVKs33UqFEaPXq0JOmBBx6Qn5+f4/fsf2X2nIaEhOjM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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "OSKkKyufo1NC", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "738bda43761e444481ea74b6c2da8022", "fe521331d9a64ddb94d82c0b68616d84", "63bc1fbd946143a28334f9a2237178fd" ] }, "outputId": "cc5e2393-17db-4207-caf5-34d075d7f941" }, "source": [ "LR = create_model(estimator='lr')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.86790.93170.82500.86090.84260.72880.7293
10.86790.92380.83330.85470.84390.72940.7295
20.86070.94890.85000.82930.83950.71650.7167
30.86740.92230.86550.83060.84770.73040.7308
40.82440.89910.78990.79660.79320.64060.6406
50.87460.91990.84030.86210.85110.74270.7429
60.85300.94310.84030.81970.82990.70060.7007
70.86020.93670.87390.81250.84210.71700.7185
80.81000.90150.78990.77050.78010.61290.6131
90.86020.92540.87390.81250.84210.71700.7185
Mean0.85460.92520.83820.82490.83120.70360.7041
SD0.01980.01530.02880.02780.02310.04030.0405
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8679 0.9317 0.8250 0.8609 0.8426 0.7288 0.7293\n", "1 0.8679 0.9238 0.8333 0.8547 0.8439 0.7294 0.7295\n", "2 0.8607 0.9489 0.8500 0.8293 0.8395 0.7165 0.7167\n", "3 0.8674 0.9223 0.8655 0.8306 0.8477 0.7304 0.7308\n", "4 0.8244 0.8991 0.7899 0.7966 0.7932 0.6406 0.6406\n", "5 0.8746 0.9199 0.8403 0.8621 0.8511 0.7427 0.7429\n", "6 0.8530 0.9431 0.8403 0.8197 0.8299 0.7006 0.7007\n", "7 0.8602 0.9367 0.8739 0.8125 0.8421 0.7170 0.7185\n", "8 0.8100 0.9015 0.7899 0.7705 0.7801 0.6129 0.6131\n", "9 0.8602 0.9254 0.8739 0.8125 0.8421 0.7170 0.7185\n", "Mean 0.8546 0.9252 0.8382 0.8249 0.8312 0.7036 0.7041\n", "SD 0.0198 0.0153 0.0288 0.0278 0.0231 0.0403 0.0405" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "yABfbsENo3RS", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "2ed584d9e8da4f5da346b1e8d581efc2", "f46001a0e4914f3db48a84f7987d6b5b", "33bad682059a4e12839d36d0913169a9" ] }, "outputId": "9d7fa2fe-8b0e-4f92-e7ce-ec022eafdbf3" }, "source": [ "TunedModel = tune_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.86790.93170.82500.86090.84260.72880.7293
10.86430.92430.82500.85340.83900.72180.7221
20.86790.94970.85830.83740.84770.73100.7312
30.86740.92200.86550.83060.84770.73040.7308
40.82440.89900.78990.79660.79320.64060.6406
50.87460.92220.84030.86210.85110.74270.7429
60.85300.94320.84030.81970.82990.70060.7007
70.86020.93670.87390.81250.84210.71700.7185
80.81360.90180.79830.77240.78510.62060.6209
90.86380.92230.87390.81890.84550.72400.7252
Mean0.85570.92530.83910.82640.83240.70570.7062
SD0.01930.01540.02830.02730.02240.03920.0393
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.8679 0.9317 0.8250 0.8609 0.8426 0.7288 0.7293\n", "1 0.8643 0.9243 0.8250 0.8534 0.8390 0.7218 0.7221\n", "2 0.8679 0.9497 0.8583 0.8374 0.8477 0.7310 0.7312\n", "3 0.8674 0.9220 0.8655 0.8306 0.8477 0.7304 0.7308\n", "4 0.8244 0.8990 0.7899 0.7966 0.7932 0.6406 0.6406\n", "5 0.8746 0.9222 0.8403 0.8621 0.8511 0.7427 0.7429\n", "6 0.8530 0.9432 0.8403 0.8197 0.8299 0.7006 0.7007\n", "7 0.8602 0.9367 0.8739 0.8125 0.8421 0.7170 0.7185\n", "8 0.8136 0.9018 0.7983 0.7724 0.7851 0.6206 0.6209\n", "9 0.8638 0.9223 0.8739 0.8189 0.8455 0.7240 0.7252\n", "Mean 0.8557 0.9253 0.8391 0.8264 0.8324 0.7057 0.7062\n", "SD 0.0193 0.0154 0.0283 0.0273 0.0224 0.0392 0.0393" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "Ufq9DQtqo4P5", "colab": { "base_uri": "https://localhost:8080/", "height": 634, "referenced_widgets": [ "77c8ccd8bd8f425cb99be8e58ee3d931", "72ee822a95ed4232bdc1c1ce909333ee", "dde01c732630412ba04e143c691fef50", "802bef155bd8481cbdfe9220094b971e", "940b0b4b95b547e8847918ae1d4c1ee6", "fdbb8e58e39a4ee3a4b53252a2a17dd6", "cb21cc1e1e9a415da8bca9e7ddd1afd4" ] }, "outputId": "c6a0345a-ada7-4203-a6f3-f7bf0aa483d2" }, "source": [ "evaluate_model(LR)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "77c8ccd8bd8f425cb99be8e58ee3d931", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "7zjKIvxjo7e6", "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "outputId": "8930f5da-a1c4-42f0-e937-d36c41a45258" }, "source": [ "plot_model(LR, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGACAYAAAC6OPj9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deViU9f7/8dcAAqKIoAkumWZqFmIupdbpaJiBmluWkoZJlukxskzcl1xzyUxNO1odNc0lFT2aCK5hLrkvaZmlWYi7KCgg6/z+6Nd84wCC5jB8znk+rsvraj73zH2/Z8ZzeDpzz2CxWq1WAQAAGMzJ0QMAAAD8VQQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMUoHbt2jp//vxd2dfGjRs1ZMiQW17n1KlT2rt3b6GvP3PmTDVq1EjBwcEKDg5WUFCQOnbsqNjY2Lsy89124cIFPfvss3d1nydPnlTfvn319NNPq2XLlurSpYu2bt36l/Z5+PBhNWvWTL17976j2w8cOFBbtmz5SzP84cyZM6pdu7YmTZqUa1uPHj0UGBhY4D4uX76szZs357nNHs8JUNQsfA8NcGu1a9dWbGys/Pz8iuR4c+fOVWZmpv7xj38U6vozZ87U+fPnNX78eNvawYMH1bNnT3399dcqU6aMvUYtFi5cuKAOHTqoX79+6tKliywWiw4ePKg+ffro/fff19/+9rc72u+sWbN0+vRpTZky5S5PfPvOnDmjzp07q1SpUoqJiZGT0+//Fr18+bI6d+4sSQXG07p167Rz584cf0+A/yYujh4AMFVaWprGjx+v3bt3y8nJSc2aNVNERIScnZ31zTffaPjw4fLw8FCPHj00adIkrVmzRnv27NGaNWs0f/587dmzR++9957S0tJktVr15ptvys3NTXPmzFGJEiWUlJSkWrVq2a6fkJCgoUOH6qeffpKHh4cGDRqU7w/r+vXry8PDQ6dPn1ZAQID279+vCRMmKCkpSd7e3po6daruvfdepaWlaeDAgTpw4IBq1qyphx56SJcvX9bEiRMVGhqqBg0aaMOGDRo/frweeOABjR07VkeOHLEFV6dOnSRJ06ZNU3R0tCTJ19dXU6ZMka+vb57rGRkZeuaZZ/T9998rOztb06dPV0xMjCTpkUce0ciRI+Xh4aHQ0FAFBgZqw4YNOnPmjB599FFNnTpVFoslx32dP3++Hn/8cYWEhOS4/7Nnz7ZF6O7duzVx4kSlpqbK09NTI0eOVN26dRUZGamvv/5apUuX1v79++Xs7Kzp06fr5MmT+vzzz5WVlaXXXntNrVq1sj0PkhQZGXnL57FVq1YKDQ3V888/r/bt29/28WvWrJnrOXV3d1fVqlW1b98+PfbYY5Kk9evXq2nTptq1a5fterNmzdKaNWuUlZWlGjVqaMqUKYqLi9OYMWOUlZWllJQUvfPOOwoJCVHr1q31/fffa+LEibbnpHfv3mrcuLHCwsJ0/fp1tW7dWp988okefPDB2/7fCFCUeMsJuEMLFizQ+fPntW7dOq1atUr79u3TV199paysLA0ePFhjxozR+vXrdfr0aaWmpua6/aRJkzRkyBBFRUXp448/1qZNmxQYGKiWLVuqe/fuGjx4cI7rT506VTVq1NDmzZs1adIkvfPOO0pPT89ztpiYGGVkZOj+++/XjRs31KdPH/Xv318bN25U9+7d1a9fP0nS8uXLdfHiRW3dulVjx45VZGRkjv0cPXpU69atU4MGDTRx4kQ5OTlp/fr1Wr58uWbOnKkTJ07op59+UnR0tL766ivFxMSoZcuW2rVrV77rf7Z+/Xpt27ZNkZGRWrdunZKSkmzRIP3+qsO8efMUExOjb7/9VgcOHMh1X/fu3atmzZrlWm/QoIEqVaqk5ORk9evXT8OHD1d0dLReffVVDRgwQNnZ2ZKkbdu2qWvXroqJiVHjxo21YMECBQcH66WXXlJQUJA++eSTPB/jWz2Pf3Ynx89PcHCwvvrqK9vldevWKTg42Hb56NGj+uKLL7Ry5Upt2LBB6enpWrRokR5++GHb/Zk2bZok6dq1a6pTp44WLVqU4xijRo2yBfTMmTPVrl07YgZGIGiAO/T111+rc+fOcnFxkbu7u9q2basdO3bo9OnTSk9Pt/2QDQ0Ntf3w+rNy5cpp9erVOnnypKpVq6apU6fe8nixsbG28xweeughbd68Wa6urpJ+D5g/zqFp2LChFi5cqE8//dT2L39fX1898cQTkqRnn31Wv/32m86ePat9+/YpKChILi4uqly5cq4waNasme3tja1bt6p79+5ycnKSj4+PWrZsqQ0bNqhMmTJKSEjQ2rVrlZiYqNDQUHXo0CHf9f98DDt06CAPDw85Ozvrueee044dO2zbg4OD5e7uLg8PD1WrVk3nzp3L9bgkJiaqfPny+T5uR44ckZ+fnxo2bChJCgoK0tWrVxUfHy9JqlGjhvz9/W2Pa17HuJWCnse7efxnnnlGW7ZsUUZGhuLj43Xz5k1Vr17dtt3f39/2io+Tk5Pq16+vuLi4PPeVkZGhli1b5lqvWLGiXnnlFUVERCg2Nlbh4eG39XgAjkLQAHcoISFBXl5etsteXl66cuWKEhMTc5y3UqFChTxvP2HCBJUsWVJhYWF65plnbG/N5OfatWvy9PS0XS5durTtv4OCghQdHa3o6Gh17dpVFStWVN26dSVJSUlJiouLswVPcHCwXF1dlZCQoKSkJJUtW9a2H19f3xzH/PP9u379ut566y3bPjZt2qTk5GT5+vpq5syZio6OVvPmzdWrVy+dO3cu3/XCPIZ53UdnZ2dlZWXlely8vb114cKFfB+3hISEXOcReXp62o7z58c0v2PcSkHP4908vpeXl/z9/bV9+3ZFRUWpVatWObanpqZq3LhxCgoKUlBQkBYvXqz8TpN0dnbO8fj+WadOnbRnzx61bt1a7u7u+d95oBghaIA7VL58eV27ds12+dq1aypfvrxKly6tlJQU2/rly5fzvf2IESO0bds2jRw5UkOGDFFycnK+xytbtqyuXr1qu3zmzBllZGTkut6rr76qbdu26dixY5J+D6r777/fFjzR0dHauXOn/P39Vbp06RzHvHTpUr7Hr1ChgmbNmmXbx9atWzVo0CBJUpMmTTR37lzt2LFDFStW1Pvvv3/L9YIew9vRuHFj2zk4f7Z582Zt375d5cqVy3EMq9WqxMRElStXrtDHcHJyyhEaSUlJOe7DrZ7Hu3H8P2vTpo1iYmIUHR2t1q1b59i2YMECnT59WpGRkYqJiVGXLl3u6BizZs1Sx44dFRkZectYBIoTgga4Q82bN9eKFStsJ1r++9//VrNmzVStWjVlZmZq9+7dkqQlS5bkOpE1IyNDoaGhunjxoiTp4YcflouLi5ycnOTi4qLr16/nOl5gYKBWrVolSfr555/13HPP5fmveS8vL4WFhdk+4luvXj1dunRJhw8fliTFxcUpIiJCVqtVdevW1YYNG5Sdna1z585p27Zt+d7fwMBALV26VJKUmZmpCRMm6NixY9q+fbtGjx6t7OxseXh46MEHH5TFYsl3/T8fwzVr1ig1NVWZmZlasWJFnufD3MrLL7+s7777TnPnzrW9tbd//36NGjVK7u7uCggI0OXLl3Xw4EFJv5934ufnpypVqhT6GBUqVNAvv/yitLQ0paam2l6FudXz+Ie7cfw/a9Gihfbs2SNnZ2fde++9ObZduXJF999/v0qVKqX4+HjFxsba4jq/v1f/6fjx49q0aZOGDh2q7t27a9y4cXc0J1DU+JQTUAihoaFydna2XR43bpxCQ0MVFxenNm3ayGKxKDg4WK1atZLFYtG7776rIUOGyNPTU2FhYXJycsrxw7xEiRJ6/vnn1aNHD0m/vwIwfPhwlSxZUk899ZQGDBig+Ph4NW/e3HabiIgIDRo0SIGBgSpVqpTef//9fN8O6N69uxYuXKgtW7YoMDBQM2bM0NixY5WcnKwSJUqoX79+slgsevHFF7V37149/fTTqlWrltq0aaPExMQ89/nWW29p9OjRCgoKkiQ9+eSTql27trKysrRu3ToFBQXJ1dVVPj4+mjBhgipUqJDn+p8FBwfrxx9/1HPPPSer1arGjRure/fut/XclC9fXosXL9bkyZP19NNPy83NTffcc48+/PBDNWrUSJL04YcfauzYsUpJSZGPj48++OCDXHF1K40bN1a9evUUFBSkKlWqqEWLFtqxY8ctn8c/eHh4/OXj/5mHh4fq1atne0vxz0JCQvTmm28qKChItWvX1uDBgxUeHq758+friSee0Lx589SpUydNnz49z31nZ2drxIgRGjRokNzd3dW9e3etXLlSmzdvVosWLe5oXqCo8D00gJ2lpKSofv362rdvX47zJYoLq9Vq++E6adIkZWVlaejQoQ6eCgBuD285AXbQqVMnRUVFSZKioqJUo0aNYhkzmzdvVqdOnZSenq7k5GTFxsbqkUcecfRYAHDbeIUGsIN9+/ZpzJgxSktLU6lSpfTuu+8qICDA0WPlkpWVpdGjR2vHjh1ycnJS8+bNNWTIkBzngACACQgaAABgPP4ZBgAAjFfsPuWUnZ1t+yTGnX4KAAAA/HexWq3KyMhQqVKl8nxbvNgFTXJysk6cOOHoMQAAQDFUq1atPD9kUeyCpkSJEpKknh8P1sWkKwVcG8B/s18W7tKF1HhHjwGgGMjKyFLCb0m2TvhPxS5o/nib6WLSFZ27etHB0wBwJDc3N7lkORd8RQD/M/I7HYWTggEAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGhSph+6rpTVj5unyyu+Uuu5n7Z+9Xu2aPiNJmhfxgTKjf1Xqup9z/OnZ6kXb7Z965HFt/3CVrq3+XueWHdCCgR+qvJePo+4OADvZu2uf7vW8X1PHT8u1LT09XU8/FqzGdZ5wwGQoruwaNKmpqXr33XcVGBiohg0bqkuXLtqxY4c9D4lirKSbu2KnrtDPZ0+r2ktN5NXhIa3cHqWVo+aqTtWakqSFm1eqZJsHcvz5bP0SSVLd6nUUNf5zLd26RuU7BahxeFvVrf6g5r412ZF3C8Bdlpp6U2/3jlBpz1J5bp/23gzFn4kv4qlQ3Nk1aMaMGaODBw/qs88+086dO9WxY0f17t1bp06dsudhUUyVcvfQ4M/e07B5k3QjNVnpGen6aPV8uTi7yL9a7QJvX7FcBc1as0Af/XueMrMy9dvFeC3YsFyB9R8vgukBFJWJoybrgVo19HDAQ7m2HTn4nRbM/Vy9wl91wGQozuwWNImJiVq7dq3Cw8NVvXp1ubm5KSQkRDVq1NDSpUvtdVgUY5cTE/TZ+iVKTbspSfLxLKsRL/VT3MWz2nxwuyQpoHodbf9wla6uOqYf523T4JC+cnL6/a/phn2xGjBnbI593l/xPsVdPFu0dwSA3ezZuVcrlkRq4ozxubalp6fr7V4DNHBUhCpVqeSA6VCcudhrx8eOHVNGRobq1q2bYz0gIECHDx+212FhiJvrTsrN1U17jh9Sy8EvKuH6Nf1yLk6eJUtr2LxJ+uV8nIIaNdPiIR8p22rV5GWzc+0jsP4T6v3sS+oy/h8OuAcA7rbUlFS93TtCIycMk19F31zbP5gwXT7lffTyay/py0UrHDAhijO7BU1CQoIkqWzZsjnWvb29deXKFXsdFoZwb1ND5b181LddD22ftkqP92uvMYtynvy3dtdGzV33hXq17poraF58qoM+eXuy+s0epdU7ootydAB28t6oybr/gerqEvpCrm2HDxzRgrmfK2ZnlCwWiwOmQ3HnkE858ZcR0u9vQY1e+IHiL59X72dD87zOz2dPq3J5vxxrI196W7PCx+mFcb31z68WFsWoAOxsz869WrkkUpM/ei/XNttbTSMHqGq1ex0wHUxgt6ApV66cJOnatWs51q9evary5cvb67Aoxto2balfFu6SWwm3HOtuJVyVlZ2tSa8OU+M6DXJsq1O1pn6OP227PLRruHq16aYn3uqo9Xu2FMXYAIrAkgXLlJKcqpZNWsm/an35V62vvbv2a/a0OaruXUs//nBCUyd8aNs2YsC7Onvm3P+/3j5Hj49iwG5B4+/vL1dXVx06dCjH+oEDB9SoUSN7HRbF2K7v98vDraQ+Ch8nb8+ycivhpjc79tQDlatp5fYoPVC5mua+NUm1qtwvF2cXtWv6jHoGh2jqyrmSpAY162p4135qNTRUP/z2k4PvDYC7adTEEdpxNFYbdkXZ/gQ0qKvQnt20+4ft2ntiV45tA4a/Ld+KvrbrAXY7h8bT01OdOnXSzJkzVatWLfn5+Wnx4sWKj49XSEiIvQ6LYuxyYoKeiuis93uN0K+LvlW2NVvHfzupju++qt0/HFDYlP56r+dgbZq0VPeU9dGvF+LVZ8YQfb7x95P/+rTtLrcSrtrz0dpc+35mcDd9893uor5LAO6Sst5eKuvtlWPNzc1VnmVKq0rVKrmu71XWS87OTqpUuWJRjYhizmK1Wq322nl6eromT56sdevWKTk5WXXq1NHAgQPVsGHDfG+Tlpamo0ePqu2k13Tu6kV7jQbAANaNZ3Q25VdHjwGgGMhMz9Klk1fl7+8vNze3XNvt9gqNJLm6umr48OEaPny4PQ8DAAD+x/G7nAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEKDJqMjAydP39eknT8+HGtXr1aqampdh8MAACgsAoMmsGDB+vQoUO6cOGCwsPDdeLECQ0ePLgoZgMAACiUAoPmwoULCg4OVlRUlLp27aqBAwcqMTGxKGYDAAAolAKDJj09XVarVRs3blTz5s0lSSkpKfaeCwAAoNAKDJrHHntMDRs21D333KPq1atr/vz5ql69elHMBgAAUCguBV1hwIAB6tWrl8qUKSNJevrpp9WtWze7DwYAAFBYBb5CExsbq61bt0qS3nnnHb3yyiu2ywAAAMVBgUEze/ZsPfnkk4qNjVV2drZWrVqlhQsXFsVsAAAAhVJg0Li7u8vHx0exsbFq3769SpUqJScnvo8PAAAUHwWWSVpamj799FN98803atq0qU6fPq3r168XxWwAAACFUmDQjB07VhcuXNB7770nNzc3bd++XREREUUxGwAAQKEUGDQ1a9bUsGHD1KhRI0lS586dtWTJErsPBgAAUFgFfmx79erVmjhxou3bgZ2cnNSkSRO7DwYAAFBYBQbNwoULtXbtWvXv319z5szR2rVr5enpWRSzAQAAFEqBbzl5enrqnnvuUVZWljw8PNSlSxetXLmyKGYDAAAolAJfoXF2dtbWrVtVsWJFzZw5Uw888IDi4+OLYjYAAIBCKfAVmsmTJ8vPz09Dhw7VxYsXtWbNGo0YMaIoZgMAACiUfF+hyc7OliR5e3vL29tbkjR69OiimQoAAOA25Bs0Dz30kCwWS651q9Uqi8WiH374wa6DAQAAFFa+QXP8+PGinAMAAOCO5XsOjdVq1ezZs5WVlWVbO3nypD7++OMiGQwAAKCw8g2ajz76SMeOHVN6erptzdfXV8ePH9fnn39eJMMBAAAURr5Bs3XrVk2bNk0lS5a0rZUuXVqTJk1SVFRUkQwHAABQGPkGjbu7u1xdXfNcd3Iq8NPeAAAARSbfMklJSVFKSkqu9cTERCUnJ9t1KAAAgNuR76ec2rdvrzfeeEMjR45UtWrVJP3+yafRo0crLCzM7oN5fZeqmxdyBxWA/y2VPO5z9AgAioE05zRd0tV8t+cbNGFhYXJ1ddXLL7+sGzduKDs7W+XKldPrr7+uDh062GXYP4vZtU4urs52Pw6A4svHx0c+Qxs5egwAxcA97mX1UdNB+W6/5e9y6tatm7p166YbN27IYrGoVKlSd31AAACAv6rAX04p/f7pJgAAgOKKjysBAADjETQAAMB4BQZNfHy83nzzTYWGhkqSvvzyS50+fdrecwEAABRagUEzYsQItW/fXlarVZJUvXp1jRgxwu6DAQAAFFaBQZORkaEWLVrIYrFIkh599FG7DwUAAHA7CnUOTVJSki1ofvrpJ6Wlpdl1KAAAgNtR4Me2+/btq86dO+vSpUtq27atrl69qilTphTFbAAAAIVSYNA0adJEq1ev1okTJ+Tq6qrq1avLzc2tKGYDAAAolAKDZvr06Xmu9+vX764PAwAAcCcKPIfG2dnZ9ic7O1u7d+/W9evXi2I2AACAQinwFZo33ngjx+WsrCyFh4fbbSAAAIDbddvfFJyZmanffvvNHrMAAADckQJfoWnWrJntI9uSlJiYqI4dO9p1KAAAgNtRYNAsXrzY9t8Wi0WlS5dWmTJl7DoUAADA7SjwLacpU6aocuXKqly5sipVqkTMAACAYqfAV2iqVKmiFStWqH79+nJ1dbWt33vvvXYdDAAAoLAKDJqoqKhcaxaLRZs3b7bLQAAAALcr36BZs2aN2rVrpy1bthTlPAAAALct33NoVqxYUZRzAAAA3LHb/h4aAACA4ibft5wOHjyo5s2b51q3Wq2yWCz6+uuv7TgWAABA4eUbNA899JA++OCDopwFAADgjuQbNK6urqpcuXJRzgIAAHBH8j2HJiAgoCjnAAAAuGP5Bk1ERERRzgEAAHDH+JQTAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA47k4egDgD3t37dNzz3TWW4PD9c6wtyVJP584qVERo7Vn1z6VKOGiZk//XeOnjpFPeR8HTwvgr/LxKKuBf++pJ6s1UqkS7vr5ym+aun2edv12SG8+Hqo3mnZTRlZmjtt8sne5PtyxQP9o0lV9m3TNtU83F1dFrJ+iVcc2FtXdQDFB0KBYSE29qbd7R6i0Zynb2rWriXohOESdQ1/Qx59/pOTkFA17e4Q+nT1PA0e+48BpAdwNczq8qxtpKWr/+T+UlHZDbz4eqn92GK2Wn4VJkvae+U7dlkXkedvZ3y7W7G8X51h7slpDTWk1UF+f2m332VH82DVo4uLiNHToUO3Zs0ebN29WlSpV7Hk4GGziqMl6oFYN+VWsYFv74l+LVdanrIaMHihJKuNVRv9a9omjRgRwF5V29dDPV37Tp3uX63LKVUnSnD3L1LtxiOpVrHNH+xv/zNsas2WWrqYm3e1xYQC7nUOzceNGdenSRZUqVbLXIfBfYs/OvVqxJFITZ4zPsb4jdqf86/lryFvDVfe+BmpYs4mGvDVcyTeSHTQpgLvlRnqKhsR8oJMJcba1ql4VJUnnrl+UJPmVLq/5z0/U3r4rtPW1zzW42Wtyc3HNc3/hj7+kk1d+U9SP2+w/PIoluwXNtWvX9MUXX6h9+/b2OgT+C6SmpOrt3hEaOWGY/Cr65th2Nv6c1q+JVt1H/LX3x53617K52rR+i0ZGjHbQtADspbSrhyYGv6ONP+3U0Qs/6cKNK/rt2jm9/81navpxFw1cP0Xt6gRqaPPXc922ouc96lavraZun+eAyVFc2C1oXnjhBVWvXt1eu8d/ifdGTdb9D1RXl9AXcm2zWq2q+4i/uvYIkbu7u+o1CFDf/r0VuXS1MjMz89gbABNVKlNBy16cpispieofNVGStOxIlMJWDtXRCz8pMztLe898p3/uXqbn/YPkbMn5o6vXY52158wRHb3wkyPGRzHBx7bhMHt27tXKJZGa/NF7eW739fOVt0/ZHGv3Va+q9PR0XbmUUBQjArCzun61FNltpvbFH9WrkcOUmnEz3+v+ei1ebi6u8i7pZVtztjipTe1mWvdjbFGMi2KMTznBYZYsWKaU5FS1bNLKtnY98boO7jusDes2qcnfGmv9mhhlZWXJ2dlZknT61K9yL+muCn73OGpsAHdJzfLV9K9OEzRr1xeaf2BVjm19Gr+oHy6d1Nen9tjWHihXVTfSU2wnEUtS06r1VbZkGW36eVeRzY3iiVdo4DCjJu7pUfYAAAsBSURBVI7QjqOx2rAryvYnoEFdhfbspoWR8xTW+2VduXxFE0ZMUvKNZP1w9LhmT5uj7q++JIvF4ujxAfwFThYnTQmO0JdHonLFjCR5lyyjcS37yd+3ppwtTnq0Sl299mhnzdu3Msf1Hqn0oM4mXVTizetFNTqKKV6hgcOU9fZSWW+vHGtubq7yLFNaFfx+//j24n9/rjFDxivgvgYq7empF3t0Uf+h/RwxLoC7qH6lOvL3q6la5e9Tj4bP5di2+vtNenfTR7qZmaYZbYfLt3Q5XUpO0Cd7v9S8/Tnjp0KpcrqScq0oR0cxZbFarVZ7HmDnzp0KCwsr9PfQpKWl6ejRo7qnhrdcXJ3tORqAYs6/Sn35DG3k6DEAFAP3uJfVR00Hyd/fX25ubrm22+0VmqCgIJ09e1Z/9FJwcLAsFovat2+vcePG2euwAADgf5DdgiYmJsZeuwYAAMiBk4IBAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxCBoAAGA8ggYAABiPoAEAAMYjaAAAgPEIGgAAYDyCBgAAGI+gAQAAxiNoAACA8QgaAABgPIIGAAAYj6ABAADGI2gAAIDxXBw9wH+yWq2SpKyMLAdPAsDRfH19Vda9rKPHAFAM+LiVkfR/nfCfLNb8tjjI9evXdeLECUePAQAAiqFatWrJ09Mz13qxC5rs7GwlJyerRIkSslgsjh4HAAAUA1arVRkZGSpVqpScnHKfMVPsggYAAOB2cVIwAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxX7L4pGP97Tp8+raVLl+rQoUNKSEiQxWJR+fLl1ahRI4WEhKhixYqOHhEAUMzxCg0caufOnWrXrp12796tWrVqqVWrVgoODlaNGjW0ZcsWtWnTRocOHXL0mACKkZEjRzp6BBRDfLEeHCokJEQdO3ZUly5d8tz+2WefaePGjVq6dGkRTwaguKpXr54OHz7s6DFQzPCWExzq5MmT6tixY77bu3XrppkzZxbhRAAc6ezZs7fcbrVa8/3lhPjfRtDAocqUKaPz58+ratWqeW4/f/68PDw8ingqAI4SGBh4y9/jZ7Va+T1/yBNBA4d68skn1a9fP4WHh6tu3bry8vKSJF27dk2HDx/WjBkz9Oyzzzp4SgBF5dFHH1WVKlXUrl27PLdbrVa9/vrrRTwVTMA5NHComzdvavTo0Vq7dq2ysrJybCtRooQ6deqkoUOHqkSJEg6aEEBRiouLU0hIiBYvXqz77rsvz+twDg3yQtCgWEhKStKxY8eUkJAgSSpXrpz8/f1VunRpB08GoKht2rRJiYmJ6tSpU57bg4ODFR0dXcRTobgjaAAAgPH4HhoAAGA8ggYAABiPoAGgM2fOyN/fX6GhoQoNDVVISIjeeecdJSUl3fE+ly9frsGDB0uS3n77bV24cCHf6x44cEBxcXGF3ndmZqZq166d57YjR46oR48eeu655/TCCy+oT58+tn0PHjxYy5cvv417AcAUBA0ASZKPj48WLlyohQsXaunSpapQoYI+/vjju7LvadOmydfXN9/tkZGRtxU0+bl06ZLeeOMN9evXT5GRkVq+fLlat26tV199VZmZmX95/wCKL76HBkCeHn30US1btkzS71921qpVK8XFxWnGjBmKiorSokWLZLVa5ePjo3Hjxsnb21tffPGFlixZIj8/P1WoUMG2r8DAQM2bN0/33nuvxo0bp6NHj0qSwsLC5OLioujoaB05ckRDhgzRfffdp9GjRys1NVUpKSnq37+/Hn/8cZ06dUoREREqWbKkGjdunOfMixYtUrt27VS/fn3bWtu2bfX3v/9dLi45/+9u+vTp2rVrlyTJz89PU6ZMkcVi0fDhw/XLL7/IYrGoTp06GjVqlL799ltNnTpV7u7uSk9P17BhwxQQEHBXH28Afw1BAyCXrKwsbdy4UQ0bNrStVatWTRERETp37pz++c9/asWKFXJ1ddWCBQs0Z84c9e3bVzNmzFB0dLS8vb3Vp08f2xcl/mHNmjW6fPmyvvzySyUlJWnAgAH6+OOPVadOHfXp00dNmzZVr1699Morr6hJkya6dOmSunTpog0bNmjWrFnq1KmTunbtqg0bNuQ5988//5znF7L95xyZmZkqWbKkFi9eLCcnJ/Xs2VPbt2+Xr6+vDh8+rPXr10uSvvzyS12/fl0LFixQWFiYWrdurVOnTumXX375qw8xgLuMoAEgSUpISFBoaKgkKTs7W40aNVKPHj1s2/941ePgwYO6dOmSevbsKUlKT09XlSpV9Ouvv6py5cry9vaWJDVu3FjHjx/PcYwjR47YXl0pU6aM5s6dm2uO3bt3Kzk5WbNmzZIkubi46MqVKzpx4oR69eolSWrSpEme98HZ2TnXFzTmxcXFRU5OTuratatcXFx06tQpXb16VY8//ri8vb312muv6amnnlKrVq3k6emptm3b6oMPPtCRI0fUokULtWjRosBjAChaBA0ASf93Dk1+/vi2ZldXVwUEBGjOnDk5tn/33Xc5fsdOdnZ2rn1YLJY81//M1dVVM2fOlI+PT451q9UqJ6ffT/vLL1pq1aqlAwcOqHXr1jnWDx8+nOMtov3792vlypVauXKlPDw89Oabb0qS3NzctHjxYh07dkxbt27V888/ryVLlqh169b629/+pu3bt2vWrFkKCAhQ//79b3k/ABQtTgoGcFvq1q2rI0eO6NKlS5Kk9evXa9OmTapatarOnDmjpKQkWa1W2/kpf1a/fn198803kqQbN27ohRdeUHp6uiwWizIyMiRJDRs2tL3lk5CQoPHjx0uSatSooUOHDklSnvuWpK5duyo6OlrffvutbS0qKkrDhg2z7V+Srly5osqVK8vDw0Px8fE6dOiQ0tPT9d1332nVqlV6+OGH9cYbb+jhhx/W6dOnNWPGDGVlZal169YaNmyYDh48+FcfRgB3Ga/QALgtvr6+GjZsmF5//XWVLFlS7u7umjRpkry8vNS7d29169ZNlStXVuXKlXXz5s0ct23VqpUOHDigkJAQZWVlKSwsTK6urnriiSc0atQoDR06VMOGDdPIkSO1bt06paenq0+fPpKkvn37atCgQYqOjlb9+vVzneQr/f4q06JFizR27FhNmjRJ7u7uqly5subPny9XV1fb9Z544gn961//0osvvqiaNWsqPDxcs2bN0vTp0xUTE6Nly5bJ1dVVVatWVYMGDXTu3Dm98sorKlOmjLKzsxUeHm7fBxnAbeNXHwAAAOPxlhMAADAeQQMAAIxH0AAAAOMRNAAAwHgEDQAAMB5BAwAAjEfQAAAA4xE0AADAeP8PIXU+sjragE8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "wyWKtziNpCW8", "colab": { "base_uri": "https://localhost:8080/", "height": 421, "referenced_widgets": [ "fb4b36fcd06149798f6bd0ac5b92f623", "c28813b57f4149a290aa7fcdad2213cc", "370d6ac451114cbd9d38f3082e51cfbe" ] }, "outputId": "65f9929a-c44b-41a3-ebaa-f3469a535f98" }, "source": [ "catboost = create_model(estimator='catboost')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.90000.97130.87500.88980.88240.79540.7955
10.91430.96650.87500.92110.89740.82390.8247
20.93930.97940.93330.92560.92950.87620.8762
30.90680.96590.92440.86610.89430.81110.8125
40.88890.94690.89920.84920.87350.77460.7756
50.91040.97070.91600.87900.89710.81780.8184
60.88890.96830.89080.85480.87240.77410.7746
70.91760.96830.90760.90000.90380.83170.8317
80.92110.97230.94120.88190.91060.84020.8416
90.93550.98810.96640.89150.92740.86950.8718
Mean0.91230.96980.91290.88590.89880.82140.8223
SD0.01630.01000.02790.02410.01890.03320.0333
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9000 0.9713 0.8750 0.8898 0.8824 0.7954 0.7955\n", "1 0.9143 0.9665 0.8750 0.9211 0.8974 0.8239 0.8247\n", "2 0.9393 0.9794 0.9333 0.9256 0.9295 0.8762 0.8762\n", "3 0.9068 0.9659 0.9244 0.8661 0.8943 0.8111 0.8125\n", "4 0.8889 0.9469 0.8992 0.8492 0.8735 0.7746 0.7756\n", "5 0.9104 0.9707 0.9160 0.8790 0.8971 0.8178 0.8184\n", "6 0.8889 0.9683 0.8908 0.8548 0.8724 0.7741 0.7746\n", "7 0.9176 0.9683 0.9076 0.9000 0.9038 0.8317 0.8317\n", "8 0.9211 0.9723 0.9412 0.8819 0.9106 0.8402 0.8416\n", "9 0.9355 0.9881 0.9664 0.8915 0.9274 0.8695 0.8718\n", "Mean 0.9123 0.9698 0.9129 0.8859 0.8988 0.8214 0.8223\n", "SD 0.0163 0.0100 0.0279 0.0241 0.0189 0.0332 0.0333" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "yvGrVHhMpEOK", "colab": { "base_uri": "https://localhost:8080/", "referenced_widgets": [ "666ea6b6c5e1477088874e17dc9c33b7", "7175066c42e54289a5038da594728ee0", "3d3e94b00fe743eb9499e640ae18a553" ] }, "outputId": "e63bbf68-559e-4d12-ef56-dfc05884c7e4" }, "source": [ "TunedModel = tune_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyAUCRecallPrec.F1KappaMCC
00.91430.97320.91670.88710.90160.82570.8261
10.91430.96980.89170.90680.89920.82460.8247
20.93930.97860.93330.92560.92950.87620.8762
30.91400.96960.92440.88000.90160.82530.8261
40.88170.95320.89080.84130.86530.76000.7610
50.92110.97450.91600.90080.90830.83920.8392
60.90320.96790.89920.87700.88800.80280.8030
70.90680.96930.90760.87800.89260.81030.8107
80.92110.97280.94120.88190.91060.84020.8416
90.94620.99050.97480.90620.93930.89120.8931
Mean0.91620.97190.91950.88850.90360.82950.8302
SD0.01720.00890.02430.02180.01970.03490.0350
\n", "
" ], "text/plain": [ " Accuracy AUC Recall Prec. F1 Kappa MCC\n", "0 0.9143 0.9732 0.9167 0.8871 0.9016 0.8257 0.8261\n", "1 0.9143 0.9698 0.8917 0.9068 0.8992 0.8246 0.8247\n", "2 0.9393 0.9786 0.9333 0.9256 0.9295 0.8762 0.8762\n", "3 0.9140 0.9696 0.9244 0.8800 0.9016 0.8253 0.8261\n", "4 0.8817 0.9532 0.8908 0.8413 0.8653 0.7600 0.7610\n", "5 0.9211 0.9745 0.9160 0.9008 0.9083 0.8392 0.8392\n", "6 0.9032 0.9679 0.8992 0.8770 0.8880 0.8028 0.8030\n", "7 0.9068 0.9693 0.9076 0.8780 0.8926 0.8103 0.8107\n", "8 0.9211 0.9728 0.9412 0.8819 0.9106 0.8402 0.8416\n", "9 0.9462 0.9905 0.9748 0.9062 0.9393 0.8912 0.8931\n", "Mean 0.9162 0.9719 0.9195 0.8885 0.9036 0.8295 0.8302\n", "SD 0.0172 0.0089 0.0243 0.0218 0.0197 0.0349 0.0350" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "_5346QYnpG3l", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "f298fe3f4539460f892778917dca8e35", "3ae88fa2ea8642d88a4b44091352d1ae", "268e0463c4b44a1a9811775756d77c41", "d434264ed45c4de8af5e31ac2901b8c4", "497321ff3b6849b19b7ab938133316ad", "cc0fbcf2f77846f4bd1266103d07a1f7", "b995a9f6bf614675ac2153fc65daa3de" ] }, "outputId": "6d0aa99a-122a-4774-84f0-032d101b8171" }, "source": [ "evaluate_model(catboost)" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f298fe3f4539460f892778917dca8e35", "version_minor": 0, "version_major": 2 }, "text/plain": [ "interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "ATpPxL1spLjy", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "742531e4-a803-4243-ca65-cf1b9025f991" }, "source": [ "plot_model(catboost, 'confusion_matrix')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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7XlXr16Vn5+fbDZbjvvO6fX8TUhIiAoVKiRvb2898MADiomJydPMkuTj46O4uDitXbtW8fHxCgsLU5cuXZx2/Pbt22vdunWSpPXr16tt27ZZto8bN04RERGSpPLly8vf3z/Hv4M5vaZhYWE6ceKEXnrpJbVv317VqlXL24sBFAAEDZALX1/fXG8yPXHihIYNG6Y2bdooJCREP/74Y46X6suWLavo6Ght3LhR+/fvV/369fX0009LkuLi4lS8eHHHY4sXL67Y2FhdvXpVlmWpWLFijm2//Q9q7dq1NW7cOC1cuFBPPPGERo0apWvXrt3VeeTlfObMmaPLly/rySefVJcuXfT999/fdj03CQkJ2rNnj+NtmZ49e6po0aK6evWq4zW4FV9fX8XGxio9PT3Hfef0ev6maNGijn93d3d3RFRelClTRjNnzlR0dLSaN2+u5557LluQ3Mvjh4SE6KuvvlJGRoaio6OzBc0PP/yggQMHOv7MLl26lOPfwZxeU3d3d/Xs2VPbtm1Tjx49cj55oAAiaIBcPPbYY4qNjc32iZy0tDTNmDFDycnJeuONN1SlShVt2LBB0dHRevjhh/O0b3d3d4WGhurHH39UXFycSpUq5fgfcunmVYhSpUrJ19dXbm5uio+Pz7LttytHISEhWrhwobZu3ark5GTNmzcv27EaNmyor776Ktv6ypUr9cMPP2RZu935VKhQQW+99Za+++479evXT6NGjbrtem5Kly6txo0bKzo62vHPrl27cr0qVqlSJfn5+WnLli3Zts2aNeu2r+edcHNzyxIGv/8zaNSokT788EN9++23Klu2rP7xj39kee69OP5vSpYsqSpVqmjJkiUqUaKE436u34wePVrBwcHauHGjoqOj5evre8fHSEpK0kcffaSwsDBNmzbtruYEXIWgAXLh4+OjQYMG6dVXX9XJkycl3bxpdvz48Tp8+LAKFy6s2NhYVa9eXe7u7vr222918uRJx82fHh4et/149+bNm1W6dGn5+PioefPmWrNmjZKTk5Wenq4VK1aoWbNm8vDwUJMmTbRs2TJJ0qlTp7Rnzx41btxYK1eu1OzZsyVJJUqU0IMPPijp5g2ymZmZun79uiRp8ODBWrNmjVatWuU49qZNmzR9+vQsVwok5Xg+cXFx6t+/v65fvy43Nzc9+uijstlsOa7nRZMmTbRnzx7H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8JYzL1q0SJ06dVKdOnUcax07dtTf/vY3eXhk/c/de++9p++++06SdN9992natGmy2WwaN26cfv31V9lsNlWvXl2vv/66du3apenTp6tQoUJKTU3V2LFjVbt27Xv6egP4cwgaANlkZGRo06ZNCgwMdKw98MADGj16tGJiYvTBBx9oxYoVstvt+uSTTzR37lwNGTJEkZGRio6Olq+vrwYPHuz4osTfrFmzRpcvX9by5ct17do1vfzyy5ozZ46qV6+uwYMH6/HHH9dzzz2nAQMGqFGjRrp06ZJ69uypr776SrNnz1a3bt3Uu3dvffXVV7ec+5dffrnlF7L9cY709HQVLlxYixcvlpubmwYOHKgdO3aoTJkyOnDggDZs2CBJWr58uRISEvTJJ5+of//+ateunY4fP65ff/31z77EAO4xggaAJCkuLk5hYWGSpMzMTNWrV0/PPPOMY/tvVz327dunS5cuaeDAgZKk1NRUlStXTidPnlRAQIB8fX0lSQ0bNtSRI0eyHOPgwYOOqys+Pj768MMPs82xe/duJSYmavbs2ZIkDw8PxcbG6ujRo3ruueckSY0aNbrlObi7u2f7gsZb8fDwkJubm3r37i0PDw8dP35cV65cUePGjeXr66tnn31WLVq0UNu2bVWsWDF17NhR77zzjg4ePKigoCAFBQXlegwA+YugASDp/+6hyclv39Zst9tVu3ZtzZ07N8v2H374Icvv2MnMzMy2D5vNdsv137Pb7Zo5c6b8/PyyrFuWJTe3m7f95RQtVatW1d69e9WuXbss6wcOHMjyFtF//vMfrVy5UitXrpS3t7eGDx8uSfLy8tLixYt16NAhbd26Vd27d9eSJUvUrl07NWnSRDt27NDs2bNVu3ZtjRw58rbnASB/cVMwgDvyyCOP6ODBg7p06ZIkacOGDdq8ebMqVKigM2fO6Nq1a7Isy3F/yu/VqVNH33zzjSTp+vXreuqpp5Samiqbzaa0tDRJUmBgoOMtn7i4OP3973+XJFWuXFn79++XpFvuW5J69+6t6Oho7dq1y7EWFRWlsWPHOvYvSbGxsQoICJC3t7fOnj2r/fv3KzU1VT/88INWrVqlmjVraujQoapZs6ZOnDihyMhIZWRkqF27dho7dqz27dv3Z19GAPcYV2gA3JEyZcpo7Nixev7551W4cGEVKlRIU6dOVfHixfXCCy+oT58+CggIUEBAgFJSUrI8t23bttq7d69CQ0OVkZGh/v37y26364knntDrr7+u8PBwjR07VuPHj9f69euVmpqqwYMHS5KGDBmiV199VdHR0apTp062m3ylm1eZFi1apEmTJmnq1KkqVKiQAgICtGDBAtntdsfjnnjiCX388cfq1auXqlSpomHDhmn27Nl67733tHHjRi1btkx2u10VKlRQ3bp1FRMTowEDBsjHx0eZmZkaNmyYc19kAHeMX30AAACMx1tOAADAeAQNAAAwHkEDAACMR9AAAADjETQAAMB4BA0AADAeQQMAAIxH0AAAAOP9fxzapNqVuOoVAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "X-7o23lc-bzA" }, "source": [ "# Conclusions" ] }, { "cell_type": "markdown", "metadata": { "id": "UQTuQkQJKomt" }, "source": [ "In our study we analyzed data from avalanches and measured weather variables for specific locations and dates to identify whether it was possible to predict an avalanche using the existing measured data.\n", "\n", "In this specific notebook the average of weather data from all locations was used in the analysis and prediction, so instead of focusing on particular data to understand avalanches in specific locations the study is more focused in a macro-weather environment that seems to be prone to avalanche incidence.\n", "\n", "By looking at the distributions of weather data from the days with and without avalanches we can see that Snow Water Equivalent is very important and this was confirmed when looking at feature importance in the final model. Also we were able to identify that the majority of avalanches happen in spring, probably because that is when snow is melting and mountains might be more unstable.\n", "\n", "The prediction model created is well capable to predict whether an avalanche might happen in one of the locations considering the overall weather data. However this model might not be good to predict the occurence of an avalanche in a specific location, as it uses that average of weather information. To get results for specific locations it would be recommended to collect weather data for as many locations as possible, and then cross those datasets to create the model." ] } ] }