diff --git "a/notebook.ipynb" "b/notebook.ipynb" new file mode 100644--- /dev/null +++ "b/notebook.ipynb" @@ -0,0 +1,18475 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Iris Flower Species Prediction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1.0 Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hide_input": true + }, + "source": [ + "### 1.1 Business Understanding / Project Objective" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The objective of the project is to build a machine learning model that predicts the species of an iris flower when given the lengths and widths of the flower's sepals and petals.\n", + "\n", + "This challenge is part of the requirements for the SLightly Techie community." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.2 Data Understanding" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The dataset contains ... The columns in the dataset are described below:\n", + "\n", + "- *sepal_length*: the length of the flower's sepals\n", + "- *sepal_width*: the width of the flower's sepals\n", + "- *petal_length*: the length of the flower's petals\n", + "- *petal_width*: the width of the flower's petals\n", + "- *species*: the specie of the flower" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.0 Toolbox Loading" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "hide_input": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading complete. Warnings hidden.\n" + ] + } + ], + "source": [ + "# Data Manipulation\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Visualization\n", + "import matplotlib.pyplot as plt\n", + "import plotly.express as px\n", + "import seaborn as sns\n", + "\n", + "# Warnings\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\") # Hiding the warnings\n", + "\n", + "# Modelling\n", + "from sklearn import metrics\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.metrics import *\n", + "from sklearn.model_selection import *\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "import xgboost as xgb\n", + "from xgboost import *\n", + "import lightgbm as lgb\n", + "from catboost import CatBoostClassifier\n", + "\n", + "# Additional libraries\n", + "import sweetviz as sv\n", + "import os\n", + "import pickle\n", + "\n", + "\n", + "print(\"Loading complete.\", \"Warnings hidden.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Removing the restriction on columns to display\n", + "pd.set_option(\"display.max_columns\", None)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.0 Data Exploration" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
..................
1456.73.05.22.3Iris-virginica
1466.32.55.01.9Iris-virginica
1476.53.05.22.0Iris-virginica
1486.23.45.42.3Iris-virginica
1495.93.05.11.8Iris-virginica
\n", + "

150 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width species\n", + "0 5.1 3.5 1.4 0.2 Iris-setosa\n", + "1 4.9 3.0 1.4 0.2 Iris-setosa\n", + "2 4.7 3.2 1.3 0.2 Iris-setosa\n", + "3 4.6 3.1 1.5 0.2 Iris-setosa\n", + "4 5.0 3.6 1.4 0.2 Iris-setosa\n", + ".. ... ... ... ... ...\n", + "145 6.7 3.0 5.2 2.3 Iris-virginica\n", + "146 6.3 2.5 5.0 1.9 Iris-virginica\n", + "147 6.5 3.0 5.2 2.0 Iris-virginica\n", + "148 6.2 3.4 5.4 2.3 Iris-virginica\n", + "149 5.9 3.0 5.1 1.8 Iris-virginica\n", + "\n", + "[150 rows x 5 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Loading the data\n", + "dataset = pd.read_csv(\"data/IRIS.csv\")\n", + "dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 150 entries, 0 to 149\n", + "Data columns (total 5 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 sepal_length 150 non-null float64\n", + " 1 sepal_width 150 non-null float64\n", + " 2 petal_length 150 non-null float64\n", + " 3 petal_width 150 non-null float64\n", + " 4 species 150 non-null object \n", + "dtypes: float64(4), object(1)\n", + "memory usage: 6.0+ KB\n" + ] + } + ], + "source": [ + "# Looking at information about the columns\n", + "dataset.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
344.93.11.50.1Iris-setosa
374.93.11.50.1Iris-setosa
1425.82.75.11.9Iris-virginica
\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width species\n", + "34 4.9 3.1 1.5 0.1 Iris-setosa\n", + "37 4.9 3.1 1.5 0.1 Iris-setosa\n", + "142 5.8 2.7 5.1 1.9 Iris-virginica" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Checking for duplicates\n", + "dataset[dataset.duplicated()]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the dataset preview and the info above, we note the following:\n", + "- There are a total of 150 observations in the dataset\n", + "- There are no missing values in any of the columns\n", + "- There are 3 duplicates in the dataset, but they will not be removed due to the size of the dataset.\n", + "- All the other columns excluding the species column have numeric values.\n", + "- There are 3 species (the target variable); the column wil have to be encoded before modelling." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "549cecb6ad0842f5aa859b4b7088ac6b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " | | [ 0%] 00:00 -> (? left)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Report src/original_data_profile.html was generated! NOTEBOOK/COLAB USERS: the web browser MAY not pop up, regardless, the report IS saved in your notebook/colab files.\n" + ] + } + ], + "source": [ + "# Profiling the dataset with SweetViz\n", + "my_report = sv.analyze(dataset)\n", + "my_report.show_html(\"src/original_data_profile.html\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1 Exploration of Numeric Columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*What is the distribution of the columns with numeric values? Are there any outliers?*" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Summary table of the Descriptive Statistics of Columns with Numeric Values\n" + ] + }, + { + "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", + "
sepal_lengthsepal_widthpetal_lengthpetal_width
count150.000000150.000000150.000000150.000000
mean5.8433333.0540003.7586671.198667
std0.8280660.4335941.7644200.763161
min4.3000002.0000001.0000000.100000
25%5.1000002.8000001.6000000.300000
50%5.8000003.0000004.3500001.300000
75%6.4000003.3000005.1000001.800000
max7.9000004.4000006.9000002.500000
\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width\n", + "count 150.000000 150.000000 150.000000 150.000000\n", + "mean 5.843333 3.054000 3.758667 1.198667\n", + "std 0.828066 0.433594 1.764420 0.763161\n", + "min 4.300000 2.000000 1.000000 0.100000\n", + "25% 5.100000 2.800000 1.600000 0.300000\n", + "50% 5.800000 3.000000 4.350000 1.300000\n", + "75% 6.400000 3.300000 5.100000 1.800000\n", + "max 7.900000 4.400000 6.900000 2.500000" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Looking at the descriptive statistics of the columns with numeric values\n", + "numerics = [column for column in dataset.columns if (dataset[column].dtype != \"O\") & (len(dataset[column].unique()) > 2)]\n", + "print(\"Summary table of the Descriptive Statistics of Columns with Numeric Values\")\n", + "dataset[numerics].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "hide_input": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "sepal_length=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 5.1, + 4.9, + 4.7, + 4.6, + 5, + 5.4, + 4.6, + 5, + 4.4, + 4.9, + 5.4, + 4.8, + 4.8, + 4.3, + 5.8, + 5.7, + 5.4, + 5.1, + 5.7, + 5.1, + 5.4, + 5.1, + 4.6, + 5.1, + 4.8, + 5, + 5, + 5.2, + 5.2, + 4.7, + 4.8, + 5.4, + 5.2, + 5.5, + 4.9, + 5, + 5.5, + 4.9, + 4.4, + 5.1, + 5, + 4.5, + 4.4, + 5, + 5.1, + 4.8, + 5.1, + 4.6, + 5.3, + 5, + 7, + 6.4, + 6.9, + 5.5, + 6.5, + 5.7, + 6.3, + 4.9, + 6.6, + 5.2, + 5, + 5.9, + 6, + 6.1, + 5.6, + 6.7, + 5.6, + 5.8, + 6.2, + 5.6, + 5.9, + 6.1, + 6.3, + 6.1, + 6.4, + 6.6, + 6.8, + 6.7, + 6, + 5.7, + 5.5, + 5.5, + 5.8, + 6, + 5.4, + 6, + 6.7, + 6.3, + 5.6, + 5.5, + 5.5, + 6.1, + 5.8, + 5, + 5.6, + 5.7, + 5.7, + 6.2, + 5.1, + 5.7, + 6.3, + 5.8, + 7.1, + 6.3, + 6.5, + 7.6, + 4.9, + 7.3, + 6.7, + 7.2, + 6.5, + 6.4, + 6.8, + 5.7, + 5.8, + 6.4, + 6.5, + 7.7, + 7.7, + 6, + 6.9, + 5.6, + 7.7, + 6.3, + 6.7, + 7.2, + 6.2, + 6.1, + 6.4, + 7.2, + 7.4, + 7.9, + 6.4, + 6.3, + 6.1, + 7.7, + 6.3, + 6.4, + 6, + 6.9, + 6.7, + 6.9, + 5.8, + 6.8, + 6.7, + 6.7, + 6.3, + 6.5, + 6.2, + 5.9 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the sepal_length column" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "sepal_length" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-setosa
sepal_length=%{y}", + "legendgroup": "Iris-setosa", + "marker": { + "color": "#636efa" + }, + "name": "Iris-setosa", + "notched": false, + "offsetgroup": "Iris-setosa", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 5.1, + 4.9, + 4.7, + 4.6, + 5, + 5.4, + 4.6, + 5, + 4.4, + 4.9, + 5.4, + 4.8, + 4.8, + 4.3, + 5.8, + 5.7, + 5.4, + 5.1, + 5.7, + 5.1, + 5.4, + 5.1, + 4.6, + 5.1, + 4.8, + 5, + 5, + 5.2, + 5.2, + 4.7, + 4.8, + 5.4, + 5.2, + 5.5, + 4.9, + 5, + 5.5, + 4.9, + 4.4, + 5.1, + 5, + 4.5, + 4.4, + 5, + 5.1, + 4.8, + 5.1, + 4.6, + 5.3, + 5 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-versicolor
sepal_length=%{y}", + "legendgroup": "Iris-versicolor", + "marker": { + "color": "#EF553B" + }, + "name": "Iris-versicolor", + "notched": false, + "offsetgroup": "Iris-versicolor", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 7, + 6.4, + 6.9, + 5.5, + 6.5, + 5.7, + 6.3, + 4.9, + 6.6, + 5.2, + 5, + 5.9, + 6, + 6.1, + 5.6, + 6.7, + 5.6, + 5.8, + 6.2, + 5.6, + 5.9, + 6.1, + 6.3, + 6.1, + 6.4, + 6.6, + 6.8, + 6.7, + 6, + 5.7, + 5.5, + 5.5, + 5.8, + 6, + 5.4, + 6, + 6.7, + 6.3, + 5.6, + 5.5, + 5.5, + 6.1, + 5.8, + 5, + 5.6, + 5.7, + 5.7, + 6.2, + 5.1, + 5.7 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-virginica
sepal_length=%{y}", + "legendgroup": "Iris-virginica", + "marker": { + "color": "#00cc96" + }, + "name": "Iris-virginica", + "notched": false, + "offsetgroup": "Iris-virginica", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 6.3, + 5.8, + 7.1, + 6.3, + 6.5, + 7.6, + 4.9, + 7.3, + 6.7, + 7.2, + 6.5, + 6.4, + 6.8, + 5.7, + 5.8, + 6.4, + 6.5, + 7.7, + 7.7, + 6, + 6.9, + 5.6, + 7.7, + 6.3, + 6.7, + 7.2, + 6.2, + 6.1, + 6.4, + 7.2, + 7.4, + 7.9, + 6.4, + 6.3, + 6.1, + 7.7, + 6.3, + 6.4, + 6, + 6.9, + 6.7, + 6.9, + 5.8, + 6.8, + 6.7, + 6.7, + 6.3, + 6.5, + 6.2, + 5.9 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "title": { + "text": "species" + }, + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the sepal_length column split by species" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "sepal_length" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "sepal_width=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 3.5, + 3, + 3.2, + 3.1, + 3.6, + 3.9, + 3.4, + 3.4, + 2.9, + 3.1, + 3.7, + 3.4, + 3, + 3, + 4, + 4.4, + 3.9, + 3.5, + 3.8, + 3.8, + 3.4, + 3.7, + 3.6, + 3.3, + 3.4, + 3, + 3.4, + 3.5, + 3.4, + 3.2, + 3.1, + 3.4, + 4.1, + 4.2, + 3.1, + 3.2, + 3.5, + 3.1, + 3, + 3.4, + 3.5, + 2.3, + 3.2, + 3.5, + 3.8, + 3, + 3.8, + 3.2, + 3.7, + 3.3, + 3.2, + 3.2, + 3.1, + 2.3, + 2.8, + 2.8, + 3.3, + 2.4, + 2.9, + 2.7, + 2, + 3, + 2.2, + 2.9, + 2.9, + 3.1, + 3, + 2.7, + 2.2, + 2.5, + 3.2, + 2.8, + 2.5, + 2.8, + 2.9, + 3, + 2.8, + 3, + 2.9, + 2.6, + 2.4, + 2.4, + 2.7, + 2.7, + 3, + 3.4, + 3.1, + 2.3, + 3, + 2.5, + 2.6, + 3, + 2.6, + 2.3, + 2.7, + 3, + 2.9, + 2.9, + 2.5, + 2.8, + 3.3, + 2.7, + 3, + 2.9, + 3, + 3, + 2.5, + 2.9, + 2.5, + 3.6, + 3.2, + 2.7, + 3, + 2.5, + 2.8, + 3.2, + 3, + 3.8, + 2.6, + 2.2, + 3.2, + 2.8, + 2.8, + 2.7, + 3.3, + 3.2, + 2.8, + 3, + 2.8, + 3, + 2.8, + 3.8, + 2.8, + 2.8, + 2.6, + 3, + 3.4, + 3.1, + 3, + 3.1, + 3.1, + 3.1, + 2.7, + 3.2, + 3.3, + 3, + 2.5, + 3, + 3.4, + 3 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the sepal_width column" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "sepal_width" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-setosa
sepal_width=%{y}", + "legendgroup": "Iris-setosa", + "marker": { + "color": "#636efa" + }, + "name": "Iris-setosa", + "notched": false, + "offsetgroup": "Iris-setosa", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 3.5, + 3, + 3.2, + 3.1, + 3.6, + 3.9, + 3.4, + 3.4, + 2.9, + 3.1, + 3.7, + 3.4, + 3, + 3, + 4, + 4.4, + 3.9, + 3.5, + 3.8, + 3.8, + 3.4, + 3.7, + 3.6, + 3.3, + 3.4, + 3, + 3.4, + 3.5, + 3.4, + 3.2, + 3.1, + 3.4, + 4.1, + 4.2, + 3.1, + 3.2, + 3.5, + 3.1, + 3, + 3.4, + 3.5, + 2.3, + 3.2, + 3.5, + 3.8, + 3, + 3.8, + 3.2, + 3.7, + 3.3 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-versicolor
sepal_width=%{y}", + "legendgroup": "Iris-versicolor", + "marker": { + "color": "#EF553B" + }, + "name": "Iris-versicolor", + "notched": false, + "offsetgroup": "Iris-versicolor", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 3.2, + 3.2, + 3.1, + 2.3, + 2.8, + 2.8, + 3.3, + 2.4, + 2.9, + 2.7, + 2, + 3, + 2.2, + 2.9, + 2.9, + 3.1, + 3, + 2.7, + 2.2, + 2.5, + 3.2, + 2.8, + 2.5, + 2.8, + 2.9, + 3, + 2.8, + 3, + 2.9, + 2.6, + 2.4, + 2.4, + 2.7, + 2.7, + 3, + 3.4, + 3.1, + 2.3, + 3, + 2.5, + 2.6, + 3, + 2.6, + 2.3, + 2.7, + 3, + 2.9, + 2.9, + 2.5, + 2.8 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-virginica
sepal_width=%{y}", + "legendgroup": "Iris-virginica", + "marker": { + "color": "#00cc96" + }, + "name": "Iris-virginica", + "notched": false, + "offsetgroup": "Iris-virginica", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 3.3, + 2.7, + 3, + 2.9, + 3, + 3, + 2.5, + 2.9, + 2.5, + 3.6, + 3.2, + 2.7, + 3, + 2.5, + 2.8, + 3.2, + 3, + 3.8, + 2.6, + 2.2, + 3.2, + 2.8, + 2.8, + 2.7, + 3.3, + 3.2, + 2.8, + 3, + 2.8, + 3, + 2.8, + 3.8, + 2.8, + 2.8, + 2.6, + 3, + 3.4, + 3.1, + 3, + 3.1, + 3.1, + 3.1, + 2.7, + 3.2, + 3.3, + 3, + 2.5, + 3, + 3.4, + 3 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "title": { + "text": "species" + }, + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the sepal_width column split by species" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "sepal_width" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "petal_length=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 1.4, + 1.4, + 1.3, + 1.5, + 1.4, + 1.7, + 1.4, + 1.5, + 1.4, + 1.5, + 1.5, + 1.6, + 1.4, + 1.1, + 1.2, + 1.5, + 1.3, + 1.4, + 1.7, + 1.5, + 1.7, + 1.5, + 1, + 1.7, + 1.9, + 1.6, + 1.6, + 1.5, + 1.4, + 1.6, + 1.6, + 1.5, + 1.5, + 1.4, + 1.5, + 1.2, + 1.3, + 1.5, + 1.3, + 1.5, + 1.3, + 1.3, + 1.3, + 1.6, + 1.9, + 1.4, + 1.6, + 1.4, + 1.5, + 1.4, + 4.7, + 4.5, + 4.9, + 4, + 4.6, + 4.5, + 4.7, + 3.3, + 4.6, + 3.9, + 3.5, + 4.2, + 4, + 4.7, + 3.6, + 4.4, + 4.5, + 4.1, + 4.5, + 3.9, + 4.8, + 4, + 4.9, + 4.7, + 4.3, + 4.4, + 4.8, + 5, + 4.5, + 3.5, + 3.8, + 3.7, + 3.9, + 5.1, + 4.5, + 4.5, + 4.7, + 4.4, + 4.1, + 4, + 4.4, + 4.6, + 4, + 3.3, + 4.2, + 4.2, + 4.2, + 4.3, + 3, + 4.1, + 6, + 5.1, + 5.9, + 5.6, + 5.8, + 6.6, + 4.5, + 6.3, + 5.8, + 6.1, + 5.1, + 5.3, + 5.5, + 5, + 5.1, + 5.3, + 5.5, + 6.7, + 6.9, + 5, + 5.7, + 4.9, + 6.7, + 4.9, + 5.7, + 6, + 4.8, + 4.9, + 5.6, + 5.8, + 6.1, + 6.4, + 5.6, + 5.1, + 5.6, + 6.1, + 5.6, + 5.5, + 4.8, + 5.4, + 5.6, + 5.1, + 5.1, + 5.9, + 5.7, + 5.2, + 5, + 5.2, + 5.4, + 5.1 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the petal_length column" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "petal_length" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-setosa
petal_length=%{y}", + "legendgroup": "Iris-setosa", + "marker": { + "color": "#636efa" + }, + "name": "Iris-setosa", + "notched": false, + "offsetgroup": "Iris-setosa", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 1.4, + 1.4, + 1.3, + 1.5, + 1.4, + 1.7, + 1.4, + 1.5, + 1.4, + 1.5, + 1.5, + 1.6, + 1.4, + 1.1, + 1.2, + 1.5, + 1.3, + 1.4, + 1.7, + 1.5, + 1.7, + 1.5, + 1, + 1.7, + 1.9, + 1.6, + 1.6, + 1.5, + 1.4, + 1.6, + 1.6, + 1.5, + 1.5, + 1.4, + 1.5, + 1.2, + 1.3, + 1.5, + 1.3, + 1.5, + 1.3, + 1.3, + 1.3, + 1.6, + 1.9, + 1.4, + 1.6, + 1.4, + 1.5, + 1.4 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-versicolor
petal_length=%{y}", + "legendgroup": "Iris-versicolor", + "marker": { + "color": "#EF553B" + }, + "name": "Iris-versicolor", + "notched": false, + "offsetgroup": "Iris-versicolor", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 4.7, + 4.5, + 4.9, + 4, + 4.6, + 4.5, + 4.7, + 3.3, + 4.6, + 3.9, + 3.5, + 4.2, + 4, + 4.7, + 3.6, + 4.4, + 4.5, + 4.1, + 4.5, + 3.9, + 4.8, + 4, + 4.9, + 4.7, + 4.3, + 4.4, + 4.8, + 5, + 4.5, + 3.5, + 3.8, + 3.7, + 3.9, + 5.1, + 4.5, + 4.5, + 4.7, + 4.4, + 4.1, + 4, + 4.4, + 4.6, + 4, + 3.3, + 4.2, + 4.2, + 4.2, + 4.3, + 3, + 4.1 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-virginica
petal_length=%{y}", + "legendgroup": "Iris-virginica", + "marker": { + "color": "#00cc96" + }, + "name": "Iris-virginica", + "notched": false, + "offsetgroup": "Iris-virginica", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 6, + 5.1, + 5.9, + 5.6, + 5.8, + 6.6, + 4.5, + 6.3, + 5.8, + 6.1, + 5.1, + 5.3, + 5.5, + 5, + 5.1, + 5.3, + 5.5, + 6.7, + 6.9, + 5, + 5.7, + 4.9, + 6.7, + 4.9, + 5.7, + 6, + 4.8, + 4.9, + 5.6, + 5.8, + 6.1, + 6.4, + 5.6, + 5.1, + 5.6, + 6.1, + 5.6, + 5.5, + 4.8, + 5.4, + 5.6, + 5.1, + 5.1, + 5.9, + 5.7, + 5.2, + 5, + 5.2, + 5.4, + 5.1 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "title": { + "text": "species" + }, + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the petal_length column split by species" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "petal_length" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "petal_width=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.4, + 0.3, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.1, + 0.1, + 0.2, + 0.4, + 0.4, + 0.3, + 0.3, + 0.3, + 0.2, + 0.4, + 0.2, + 0.5, + 0.2, + 0.2, + 0.4, + 0.2, + 0.2, + 0.2, + 0.2, + 0.4, + 0.1, + 0.2, + 0.1, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.3, + 0.3, + 0.2, + 0.6, + 0.4, + 0.3, + 0.2, + 0.2, + 0.2, + 0.2, + 1.4, + 1.5, + 1.5, + 1.3, + 1.5, + 1.3, + 1.6, + 1, + 1.3, + 1.4, + 1, + 1.5, + 1, + 1.4, + 1.3, + 1.4, + 1.5, + 1, + 1.5, + 1.1, + 1.8, + 1.3, + 1.5, + 1.2, + 1.3, + 1.4, + 1.4, + 1.7, + 1.5, + 1, + 1.1, + 1, + 1.2, + 1.6, + 1.5, + 1.6, + 1.5, + 1.3, + 1.3, + 1.3, + 1.2, + 1.4, + 1.2, + 1, + 1.3, + 1.2, + 1.3, + 1.3, + 1.1, + 1.3, + 2.5, + 1.9, + 2.1, + 1.8, + 2.2, + 2.1, + 1.7, + 1.8, + 1.8, + 2.5, + 2, + 1.9, + 2.1, + 2, + 2.4, + 2.3, + 1.8, + 2.2, + 2.3, + 1.5, + 2.3, + 2, + 2, + 1.8, + 2.1, + 1.8, + 1.8, + 1.8, + 2.1, + 1.6, + 1.9, + 2, + 2.2, + 1.5, + 1.4, + 2.3, + 2.4, + 1.8, + 1.8, + 2.1, + 2.4, + 2.3, + 1.9, + 2.3, + 2.5, + 2.3, + 1.9, + 2, + 2.3, + 1.8 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the petal_width column" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "petal_width" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-setosa
petal_width=%{y}", + "legendgroup": "Iris-setosa", + "marker": { + "color": "#636efa" + }, + "name": "Iris-setosa", + "notched": false, + "offsetgroup": "Iris-setosa", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.4, + 0.3, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.1, + 0.1, + 0.2, + 0.4, + 0.4, + 0.3, + 0.3, + 0.3, + 0.2, + 0.4, + 0.2, + 0.5, + 0.2, + 0.2, + 0.4, + 0.2, + 0.2, + 0.2, + 0.2, + 0.4, + 0.1, + 0.2, + 0.1, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.3, + 0.3, + 0.2, + 0.6, + 0.4, + 0.3, + 0.2, + 0.2, + 0.2, + 0.2 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-versicolor
petal_width=%{y}", + "legendgroup": "Iris-versicolor", + "marker": { + "color": "#EF553B" + }, + "name": "Iris-versicolor", + "notched": false, + "offsetgroup": "Iris-versicolor", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 1.4, + 1.5, + 1.5, + 1.3, + 1.5, + 1.3, + 1.6, + 1, + 1.3, + 1.4, + 1, + 1.5, + 1, + 1.4, + 1.3, + 1.4, + 1.5, + 1, + 1.5, + 1.1, + 1.8, + 1.3, + 1.5, + 1.2, + 1.3, + 1.4, + 1.4, + 1.7, + 1.5, + 1, + 1.1, + 1, + 1.2, + 1.6, + 1.5, + 1.6, + 1.5, + 1.3, + 1.3, + 1.3, + 1.2, + 1.4, + 1.2, + 1, + 1.3, + 1.2, + 1.3, + 1.3, + 1.1, + 1.3 + ], + "y0": " ", + "yaxis": "y" + }, + { + "alignmentgroup": "True", + "hovertemplate": "species=Iris-virginica
petal_width=%{y}", + "legendgroup": "Iris-virginica", + "marker": { + "color": "#00cc96" + }, + "name": "Iris-virginica", + "notched": false, + "offsetgroup": "Iris-virginica", + "orientation": "v", + "showlegend": true, + "type": "box", + "x0": " ", + "xaxis": "x", + "y": [ + 2.5, + 1.9, + 2.1, + 1.8, + 2.2, + 2.1, + 1.7, + 1.8, + 1.8, + 2.5, + 2, + 1.9, + 2.1, + 2, + 2.4, + 2.3, + 1.8, + 2.2, + 2.3, + 1.5, + 2.3, + 2, + 2, + 1.8, + 2.1, + 1.8, + 1.8, + 1.8, + 2.1, + 1.6, + 1.9, + 2, + 2.2, + 1.5, + 1.4, + 2.3, + 2.4, + 1.8, + 1.8, + 2.1, + 2.4, + 2.3, + 1.9, + 2.3, + 2.5, + 2.3, + 1.9, + 2, + 2.3, + 1.8 + ], + "y0": " ", + "yaxis": "y" + } + ], + "layout": { + "boxmode": "group", + "legend": { + "title": { + "text": "species" + }, + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "A visual representation of values in the petal_width column split by species" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "petal_width" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visualizing the distributions of the columns with numeric values\n", + "for column in dataset[numerics].columns:\n", + " if len(dataset[column].unique()) > 2:\n", + "\n", + " # Visualizing the distribution of categories inside the column\n", + " fig = px.box(dataset[numerics], y=column, labels={\"color\": \"species\"},\n", + " title=f\"A visual representation of values in the {column} column\"\n", + " )\n", + " fig.show()\n", + "\n", + " # Visualizing the proportion of the species inside the column\n", + " fig = px.box(dataset[numerics], y=column, color=dataset[\"species\"], labels={\"color\": \"species\"},\n", + " title=f\"A visual representation of values in the {column} column split by species\"\n", + " )\n", + " fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following may be noted from the statistical summary table and the boxplots:\n", + "\n", + "**sepal_length**\n", + "- The values range from 4.3 - 7.9 cm, with both the mean and median being close at 5.84 cm and 5.80 respectively.\n", + "- When grouped by species, we notice that the setosa species have the shortest sepal lengths, followed by versicolor, and then virginica, in that order.\n", + "\n", + "**sepal_width**\n", + "- The range of the values is 2.0 - 4.4 cm, with the mean and median at 3.05 cm and 3.0 cm respectively\n", + "- Despite featuring some outliers, 50% of the flowers have a sepal width between 2.8 and 3.3 cm.\n", + "- When spilt by species, we note that setosas generally have the widest spread of sepal width (2.3 - 4.4 cm), while versicolors have 2 - 3.4 cm, and virginicas generally have 2.2 - 3.8 cm. \n", + "- From the boxplot, we see that setosas generally have longer sepal widths than both versicolor and virginica\n", + "\n", + "**petal_length**\n", + "- The petal lengths in the dataset range from 1.0 - 6.9 cm. The difference between the mean (3.76cm) and the median (4.35) may be an indication of significant differences between the observations. This is supported by the standard deviation of 1.76 cm.\n", + "- Ranging from 1 - 1.9 cm, setosas have the least petal lengths across the 3 species. They are followed by versicolor (3 - 5.1 cm) whose petal lengths overlap with virginica (4.5 - 6.9 cm).\n", + "\n", + "**petal_width**\n", + "- The petal widths range from 0.1 - 2.5 cm, with a standard deviation of 0.76 cm. The mean and the median stand at 1.2 cm and 1.3 cm respectively.\n", + "- Here too, setosas have the shortest petal widths (0.1 - 0.6 cm) even with outliers. They are followed by versicolor (1 - 1.8 cm), and then virginica (1.4 - 2.5 cm) with some overlaps in width." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2 Exploration of Categorical Columns" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "hide_input": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "bingroup": "x", + "hovertemplate": "species=%{x}
count=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "texttemplate": "%{value}", + "type": "histogram", + "x": [ + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-setosa", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-versicolor", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica", + "Iris-virginica" + ], + "xaxis": "x", + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Distribution of values in the species column" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "species" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "count" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visualizing the distribution of the columns with categorical values and their species\n", + "categoricals = [column for column in dataset.columns if (\n", + " dataset[column].dtype == \"O\")]\n", + "\n", + "for column in dataset[categoricals].columns:\n", + " # Visualizing the distribution of the categories in the column\n", + " fig = px.histogram(dataset, x=dataset[column], text_auto=True,\n", + " title=f\"Distribution of values in the {column} column\")\n", + " fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hide_input": true + }, + "source": [ + "Here are some observations on the categorical columns with regard to the charts:\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.0 Feature Engineering\n", + "### 4.1 Feature Encoding" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "sepal_length 35\n", + "sepal_width 23\n", + "petal_length 43\n", + "petal_width 22\n", + "species 3\n", + "dtype: int64" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Looking at the number of unique values in each column\n", + "dataset.nunique()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Here, the target column - with three unique values - will be encoded using label encoding.\n", + "- The other columns will be scaled before modelling since they are all numeric." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.20
14.93.01.40.20
24.73.21.30.20
34.63.11.50.20
45.03.61.40.20
..................
1456.73.05.22.32
1466.32.55.01.92
1476.53.05.22.02
1486.23.45.42.32
1495.93.05.11.82
\n", + "

150 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width species\n", + "0 5.1 3.5 1.4 0.2 0\n", + "1 4.9 3.0 1.4 0.2 0\n", + "2 4.7 3.2 1.3 0.2 0\n", + "3 4.6 3.1 1.5 0.2 0\n", + "4 5.0 3.6 1.4 0.2 0\n", + ".. ... ... ... ... ...\n", + "145 6.7 3.0 5.2 2.3 2\n", + "146 6.3 2.5 5.0 1.9 2\n", + "147 6.5 3.0 5.2 2.0 2\n", + "148 6.2 3.4 5.4 2.3 2\n", + "149 5.9 3.0 5.1 1.8 2\n", + "\n", + "[150 rows x 5 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Encoding the species column\n", + "dataset[\"species\"].replace({\"Iris-setosa\": 0, \"Iris-versicolor\": 1, \"Iris-virginica\": 2}, inplace=True)\n", + "dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 Feature Correlation and Selection" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "coloraxis": "coloraxis", + "hovertemplate": "x: %{x}
y: %{y}
Correlation Coefficient: %{z}", + "name": "0", + "texttemplate": "%{z:.3f}", + "type": "heatmap", + "x": [ + "sepal_length", + "sepal_width", + "petal_length", + "petal_width", + "species" + ], + "xaxis": "x", + "y": [ + "sepal_length", + "sepal_width", + "petal_length", + "petal_width", + "species" + ], + "yaxis": "y", + "z": [ + [ + 1, + -0.10936924995064931, + 0.8717541573048716, + 0.8179536333691642, + 0.7825612318100821 + ], + [ + -0.10936924995064931, + 1, + -0.4205160964011539, + -0.35654408961380507, + -0.41944620026002677 + ], + [ + 0.8717541573048716, + -0.4205160964011539, + 1, + 0.9627570970509662, + 0.9490425448523334 + ], + [ + 0.8179536333691642, + -0.35654408961380507, + 0.9627570970509662, + 1, + 0.9564638238016178 + ], + [ + 0.7825612318100821, + -0.41944620026002677, + 0.9490425448523334, + 0.9564638238016178, + 1 + ] + ] + } + ], + "layout": { + "coloraxis": { + "colorbar": { + "title": { + "text": "Correlation Coefficient" + } + }, + "colorscale": [ + [ + 0, + "rgb(255,255,255)" + ], + [ + 0.2, + "rgb(255, 255, 153)" + ], + [ + 0.4, + "rgb(153, 255, 204)" + ], + [ + 0.6, + "rgb(179, 217, 255)" + ], + [ + 0.8, + "rgb(240, 179, 255)" + ], + [ + 1, + "rgb(255, 77, 148)" + ] + ] + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "side": "top" + }, + "yaxis": { + "anchor": "x", + "autorange": "reversed", + "domain": [ + 0, + 1 + ] + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Looking at the correlation between the variables in the merged dataframe\n", + "correlation = pd.DataFrame(dataset.corr())\n", + "\n", + "# Defining a colourscale for the correlation plot\n", + "colorscale = [[0.0, \"rgb(255,255,255)\"], [0.2, \"rgb(255, 255, 153)\"],\n", + " [0.4, \"rgb(153, 255, 204)\"], [0.6, \"rgb(179, 217, 255)\"],\n", + " [0.8, \"rgb(240, 179, 255)\"], [1.0, \"rgb(255, 77, 148)\"]\n", + " ]\n", + "\n", + "# Plotting the Correlation Matrix\n", + "fig = px.imshow(correlation,\n", + " text_auto=\".3f\",\n", + " aspect=\"auto\",\n", + " labels={\"color\": \"Correlation Coefficient\"},\n", + " contrast_rescaling=\"minmax\",\n", + " color_continuous_scale=colorscale\n", + " )\n", + "fig.update_xaxes(side=\"top\")\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The correlation matrix presents a more comprehensive view on the nature of the relationships between the various variables in the dataset, where we see that:\n", + "- petal_length has a very strong positive correlation with petal_width\n", + "- sepal_length has a strong positive correlation with both petal_length and petal_width\n", + "- sepal_width is negatively correlated with all the other variables including the target variable\n", + "- Due to the limited number of features, none of them will be dropped prior to modelling." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5.0 Modelling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Preview**\n", + "- Train_test_split: Modelling will be done normally with a basic train_test_split. The selected model will then be cross-validated and fine-tuned before completion.\n", + "- Balancing: since all the categories in the target column have the same number of observations (no minority class), there will be no balancing of observations" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Defining the target & predictor variables\n", + "X = dataset.drop(columns=[\"species\"])\n", + "y = dataset[\"species\"]\n", + "\n", + "# Splitting the dataframe into train and test\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=24)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Scale the numeric columns\n", + "scaler = MinMaxScaler()\n", + "X_train[numerics] = scaler.fit_transform(X_train[numerics])\n", + "X_test[numerics] = scaler.transform(X_test[numerics])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.1 Logistic Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
Score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "sepal_width", + "sepal_length", + "petal_width", + "petal_length" + ], + "xaxis": "x", + "y": [ + 1.338061736129014, + -1.3179266873367572, + -2.385814510111361, + -2.487753966014933 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Logistic Regression\n", + "log_reg = LogisticRegression(random_state=24)\n", + "log_reg_model = log_reg.fit(X_train, y_train)\n", + "\n", + "# Feature Importance of the Random Forest Model\n", + "log_reg_importance = log_reg_model.coef_[0]\n", + "log_reg_importance = pd.DataFrame(log_reg_importance, index=X.columns)\n", + "log_reg_importance.reset_index(inplace=True)\n", + "log_reg_importance.rename(columns={\"index\": \"Feature\",0: \"Score\"}, inplace=True)\n", + "log_reg_importance.sort_values(by=\"Score\", ascending=False, inplace=True)\n", + "\n", + "# Visualizing the feature importances\n", + "fig = px.bar(log_reg_importance, x=\"Feature\", y=\"Score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "hide_input": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 0.92 0.92 0.92 12\n", + " Iris-virginica 0.94 0.94 0.94 18\n", + "\n", + " accuracy 0.96 45\n", + " macro avg 0.95 0.95 0.95 45\n", + " weighted avg 0.96 0.96 0.96 45\n", + "\n" + ] + } + ], + "source": [ + "# Making predictions\n", + "log_reg_pred = log_reg_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "log_reg_report = classification_report(y_test, log_reg_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(log_reg_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfYAAAGZCAYAAAB7SRMzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAem0lEQVR4nO3deXxU1f3/8ffMMCQkmRAKoiyCFQKobb8qtawq1t/XJaAxJMA3xQfVahEFRS2IilBskUWMVQEFqVqlsoVFrEVqi4ALFZSKG4iAoiA1C19CNpabzPz+6LfRKWmdkJucybmv5+Mxj8fkJHPvmTrlPZ/POXPHF4lEIgIAAFbwm54AAABwD8EOAIBFCHYAACxCsAMAYBGCHQAAixDsAABYhGAHAMAiBDsAABYh2AEAsEgz0xMAAMC0DN9o1461JjLXtWOdDIIdAOB5NrWvjQf73f4JpqcAw2aEZ379w9FycxNBfEhM+fo+rwdI0a8JfCvjwQ4AgGk++UxPwTUEOwDA82jFAwBgEZsqdpvepAAA4HlU7AAAz7OpyiXYAQCeZ08j3q43KQAAeB4VOwDA8/wW1ewEOwDA8+yJdVrxAABYhYodAOB5tOIBALCIPbFOKx4AAKtQsQMAPM+mKpdgBwB4HteKBwDAIn4Xb3V1sLhIK1cs09gxN0WN//XNN3TXL8bq11Puq9PxqNgBADAkXF2tvFkz1P+ii1VYUFAzvu3drVqyeKHuumeSOnToWKdjEuwAAM9z8+NujuPIcZyosWAwqGAweOJ5AwFNm5knSVr4u6drxte89KJyh4+oc6hLBDsAAK6usK9etVwr8pdGjWUPGaacobkxH+PTPXvU5pRtevGFlUpOTtb1N9yk9h06xPRYgh0AABdlZuUoY1Bm1Fht1fp/UllZoR/817kaOWq0Nq5fp/lPzNb9U2fE9Fg2zwEAPM/v87l2CwaDSkpKirrVNdhDoVSdd/4PJUm9+/bX53s/i/251OlMAABYyOfizQ3nnd9Tr214VZL00Yfvq+PpnWJ+LK14AADizPAR12ne3Nl65U8vq0ViC40cNTrmxxLsAADPi4f29eL8F2ruh0KpGn/3xJM6DsEOAPA8rjwHAADiEhU7AMDzbKpyCXYAgOfZ1Ion2AEAnmdTxW7TcwEAwPOo2AEAnmdPI55gBwDA1W93M41WPAAAFqFiBwB4nj31OsEOAACteAAAEJ+o2AEAnmdTlUuwAwA8z55GvF1vUgAA8DwqdgCA59m0eY5gBwB4nj2xTrADAGBVxc4aOwAAFqFiBwB4nj31OsEOAIBV7WubngsAAJ5HxQ4A8Dxa8QAAWIRd8QAAIC5RsQMAPM+mKpdgBwB4nj2NeLvepAAA4HlU7I0kdFpIPxrZS90u66Yn+j9eM37BDRcoe0FO1N/uXLtTz2Q83dhThEGHSko0+VcP6PU3NykhIUFZVw/SXXfeLr+f995exOuh8dn0vyzB3giy5g1Wz+t66mjJUTmVx6N+l3Jqij7+4w4tv3F5zVj1serGniIMm/LAdBUVF2vJc8+oqLhY4ydOUvt27TRieK7pqcEAXg+Nj13xqJPywnI93meuXp6w5oTfpZwaUsn+wyovKK+5HSk5YmCWMKWy8ojWvbpB426/TT26d9OF/fpq+LCheunltaanBgN4PZjhc/FmGsHeCP48+RUdePdArb9LaZui8oLyRp4R4skX+/bJqapS9/SuNWPd09P16d695iYFY3g9oL5oxRsWOjVFbdLbqOdPeypcFdb7y97Tnyf/WeHqsOmpoZGUV1RIkkKhUM1YampI5eUVpqYEg3g9mGFTlVunYH/n7c3atXOnyspKJZ9Pqamp6nHW2Tr3vJ7/8XGO48hxnKixYDCoYDBY9xlb5ost++QP+PXuwr+pTbc2uuaJLB2vOK7109abnhoaSXX1iXsqfD6fIpGIgdnANF4PZngy2J99+rf64ovP9cMLfqT2HTtKko5UVuqPf1itDz94X9eOuP7fPnb1quVakb80aix7yDDlDGUjyNq7X665//f3/66Wp6ep1029CHYP+edO53A4XHM/EokoEAiYnBYM4fXgPQeLi7Rx43ptXL9Oj86ZH/W79997V9On3q/H5s7XKW1Pjel4MQf7Bx+8p1kPPyafL3prwGWXX6kJ4+/4j8GemZWjjEGZUWNU67Ur3F6glh1bmp4GGlFyUpIk6XBpqVqlpUmSysrKFAqlGJwVTOH1YIapTW/h6mrlzZqh/hddrMKCgqjfVVZW6vmFzyo5uW7/7WPuPvh9PlVUnLjGU1Zepkj4P68HB4NBJSUlRd0Idim5TbLuK5ikULuv19Jad22t0gOlBmeFxta5cyc1axbQR9t31Izt3LVb6V26GJwVTOH1YIZfPtdudTpvIKBpM/OUMfDqE3733O+e0sCrMtUiqUWdjhlzxX7VNYM1YdxYde3aTS3+7x1leVmZ9uzZpZ8MH1Gnk+IfKoorVPDBV8p6PEsv37NWodNSNGDCJdry2y2mp4ZGlJyUpEsHDFDeo7P1nVatVHL4sJ5fsky3j7nF9NRgAK+Hps+NfWXb3t2qwyUluujiS5S/dFGdzh9zsF940QCde9752rN7t8pKDyuif+zaHDlqtFJb0jo+WYuHL9bVj2Xqljdv1vEKR9uWbNOG6ayve82U++7RpPunKve6nykxIVFDBl+jodlZpqcFQ3g9ND43W/H13VdWUVGu5xc+q3sm/vKkzu+LGN5qebd/gsnTIw7MCM/8+oejfKbf8xK/sZ7I6wFS9GuigTzmn+jasW4+NuWkKvbcIddocf4LemXtGv3hxVVKTkqWJO3fv1+nnXaabrtjnDp1PuNbz8/n2AEAcFF9P8592RUZuuyKjJqfb73l55pw7yT3d8UDAGArT36OHQAAW/ni4Crvi/NfqHV89uML6nQcgh0A4Hk2Vew2PRcAADyPih0A4Hk2VbkEOwDA88yvsLvHpjcpAAB4HhU7AMDzbKpyCXYAgOfFw8fd3GLTmxQAADyPih0A4Hk2VbkEOwDA82wKdpueCwAAnkfFDgDwPHu2zhHsAADIb1G0E+wAAM+zaV3apucCAIDnUbEDADzPnkY8wQ4AgFXta5ueCwAAnkfFDgDwPJuqXIIdAOB5fAkMAACIS1TsAADPs6nKJdgBAJ5nTyPerjcpAAB4HhU7AMDz/H57anaCHQDgeT6CHQAAe/h99gQ7a+wAAFiEih0A4Hk+i8pcgh0A4Hm04gEAQFyiYgcAeB674gEAsIhNn2OnFQ8AgEWo2AEAnmfR3jmCHQAAk634g8VF2rhxvTauX6dH58yXJL3z9hYtX7pIVdXVatWqlW4ePVbfad06puPRigcAwJBwdbXyZs1QYmKiCgsKJEnlZWV66sknNP7uiXroN7OV3q278pcuivmYVOwAAM/zudiLdxxHjuNEjQWDQQWDwRP+1h8IaNrMPEnSwt89LUmqqq7WiOtuUOs2p0iSOnU+Q1/u3xfz+Ql2AIDnudmKX71quVbkL40ayx4yTDlDc2N6fFpamvr06y9JCofDWvfnP2ngVZkxn59gBwB4npufY8/MylHGoOggrq1aj8Vzv3tK7Tt01Lnn9Yz5MQQ7AAAu+ndt97pauWKZSg4d0m13jKvT4wh2AIDnxdv1adb95RXt3LFd4ydMlN9ft33uBDsAwPPi6ZKy5WVlenrBPJ1ySlvdM+EXNeMTJ/9KaWlp3/p4gh0AgDiwOP8FSVJKKKTnl6486eMQ7AAAz3Pz426mEewAAM/jS2AAAEBcomIHAHhePG2eqy+CHQDgeRblOq14AABsQsUOAPA8WvEAAFjEz8fd3DMjPNP0FBBPElNMzwDxhNcDGolNFTtr7AAAWMR4xQ4AgGl1/J6VuGY+2I+Wm54BTPtGu3X79+YYnAjiwdkfjqm5HzlYaHAmiBe+1m0b/hwWrbFb9B4FAACYr9gBADDMpmvFE+wAAM+jFQ8AAOISFTsAwPNoxQMAYBGfRf1ri54KAACgYgcAeB7XigcAwCI2XSueYAcAeJ5NFTtr7AAAWISKHQDgebTiAQCwCB93AwAAcYmKHQDgeRbtnSPYAQCwaY2dVjwAABahYgcAeJ5Nm+cIdgCA57HGDgCATVhjBwAA8YiKHQDgebTiAQCwiMnNcweLi7Rx43ptXL9Oj86ZL0n67LNP9dv5j+vY0aM6pW1b3Tx6rFJbtozpeLTiAQAwJFxdrbxZM5SYmKjCgoKa8QXz5uon1/5UDz0yR2ee2VWrVuTHfEyCHQDgeT6/z7VbXfgDAU2bmaeMgVfXjB0/dkyFBQU653vflyRd0Ku3dn2yM+Zj0ooHAHiem2vsjuPIcZyosWAwqGAwGNPjS0tL1SKpRc3PycnJKisrjfn8BDsAAC5avWq5VuQvjRrLHjJMOUNzY3p8RJETB+vwxoNgBwDAxYXpzKwcZQzKjBqLtVqXpFAoVRXlFTU/V1ZWKjU1to1zEsEOAICrXwJTl7Z7bRITE9X21FO17d2/6dzzzteWzW+pR4+zY348m+cAAIgzI0eN1rLFv9e4O27VZ5/u0dVZg2N+LBU7AMDz4uECNYvzX6i5f2aXrpr24MMndRyCHQDgeXy7GwAAFvHFQ8nuEoveowAAACp2AIDn0YoHAMAmFgW7RU8FAABQsQMAPM+ivXMEOwAAbl55zjRa8QAAWISKHQDgeeyKBwDAIjatsVv0HgUAAFCxAwBg0eY5gh0A4HmssQMAYBHW2AEAQFyiYgcAeJ5NF6gh2AEAnkcrHgAAxCUqdgCA57ErHgAAm1i0xm7Re5Sm5VBJiW69c7zO7dVPvS76sWY89LDC4bDpaaGRNGuTpDY3X6Azfp99wu8SurdWu19eotMmXmRgZogXhcXFmvPUM/qfkTebngqaGCp2Q6Y8MF1FxcVa8twzKiou1viJk9S+XTuNGJ5rempoYO0mD1Ba1lmqLj2m8NGqmnF/qLk6zRmkFv91msIVx1W2/jODs4RJk2fO0qo/rlEoJUWJiYmmp+MJbJ5DvVRWHtG6Vzdo3O23qUf3brqwX18NHzZUL7281vTU0Aiq/veIPvvJchU8vClq3Nc8oIot+7Xr8mcJdY9r3aqVliyYp3GjqdYbi8/v3s20OJiC93yxb5+cqip1T+9aM9Y9PV2f7t1rblJoNEVzNuvojqITxqsPHlHR3C2qKqgwMCvEk7Ejb9Q53bubngaaKFrxBpRX/OMf7lAoVDOWmhpSeTn/oAOACVygpo4cx5HjOFFjwWBQwWCwMU4fd6qrq08Y8/l8ikQiBmYDALBpjb1Rgn31quVakb80aix7yDDlDPXmRjG//x8rIOFwuOZ+JBJRIBAwOS0A8C6LFqZjDvbbx4xSYWFhLb+JSPJp0bKV//axmVk5yhiUGTXm1WpdkpKTkiRJh0tL1SotTZJUVlamUCjF4KwAADaIOdgvvuRStWjRQldkDKrzSbzcdq9N586d1KxZQB9t36H+fftIknbu2q30Ll0MzwwAPMqiNfaYmw8XDbhEr7+2oQGn4h3JSUm6dMAA5T06W9t3fKxNb23W80uW6aqMK01PDQC8yedz72ZYzBV769Zt9OtpDzbkXDxlyn33aNL9U5V73c+UmJCoIYOv0dDsLNPTAgA0cb6I6a3YR8uNnh5xIPHrvQXbvzfH4EQQD87+cEzN/cjB2vb1wGt8rds2+DmOjv29a8dKfPRa1451MvgcOwAAXlxjBwAA8Y+KHQDgeab2vK1etUIb16+Tz+fTGd89UzfdcquaN29er2NSsQMA4Pe5d4vRl1/u119eWatpDz6sWb+ZrePHj2vjhlfr/VSo2AEAcFGsl1FPaJ4g+aTjx4+rWbNmqqqqUkpy/S9URrADAODi5rlYL6Pe5pRTdPkVAzVm1I1KSEhQ9x5nqU+//vU+P8EOAICLC9OxXka9qKhQr6xdo0dmP6GUlBTNnD5Vm9/apF69+9br/AQ7AAAu7p6L9TLquz/5RF26pus7rVtLknr16aMPP3i/3sHO5jkAAAzo0LGj9u79TEeOHFEkEtGOjz7S6ad3qvdxqdgBADBwgZpOnc/QFVcO1KR7xkuSuvU4Sz/+f5fV+7gEOwAAhvrXl185UJdfOdDVY9KKBwDAIlTsAABYdK14gh0AAHtynVY8AAA2oWIHAIBWPAAAFrEo2GnFAwBgESp2AIDnmfo+9oZAsAMAYFErnmAHAMCiYGeNHQAAi1CxAwBgUZlLsAMAYNHuOYveowAAACp2AAAsKnMJdgAA2BUPAADiERU7AAAWVewEOwAA9uQ6rXgAAGxCxQ4AAK14AAAsQrADAGAPiy48xxo7AAA2oWIHAIBWPAAAFrEo2GnFAwBgESp2AAAsKnMJdgAALNoWb9F7FAAAQMUOAIBFZS7BDgAArXgAABCPqNgBALCnYKdiBwBAPhdvdRCurlb+kkW6fcwoLVm00I1nQsUOAICpK88tXfy8Pv98rx6Y+ZCSk1NcOSYVOwAABjiOo3V/+ZNG3XKra6EuUbEDAODqGrvjOHIcJ2osGAwqGAxGjR048KWaN0/Qwmef1pf796nTGd/V9TeMVIsWLep1foIdAAAXg331quVakb80aix7yDDlDM2NGqusqJBT5WhwzlC1a99BT86bqxdXrdCwn1xbr/MT7AAAuCgzK0cZgzKjxv61WpekUChVp7Y9TR06ni5J6tW7j15Z+3K9z0+wAwDg4gVqamu716Zd+/Y6evSIPv98rzp3PkMfffiBTu/Uqd7nJ9gBAJ5n4sJzgUBAo8feqQXz5urokSNq176Dbh59W72PS7ADAGDId797pqZOn+XqMQl2AAAsuvKc+WBPdO+ze2j6zv5wjOkpII74Wrc1PQV4haEL1DQELlADAIBFzFfsAACYZk/BHgfBfrTc9Axg2jeWYyIHCw1OBPHgm+33DN9ogzNBvFgTmdvwJyHYAQCwiInPuzUQ1tgBALAIFTsAAPYU7AQ7AAA29a8teioAAICKHQAAizbPEewAANiT67TiAQCwCRU7AAAWVewEOwAAFq2x04oHAMAiVOwAAFhU5hLsAADY04kn2AEAYI0dAADEJSp2AADsKdgJdgAALOrE04oHAMAmVOwAAPjtKdkJdgAA7Ml1WvEAANiEih0AAIt2zxHsAADYk+u04gEAsAkVOwAAFlXsBDsAAHzcDQAAi9iT66yxAwBgEyp2AAD4uBsAADaxJ9hpxQMAYNiSRQt16y0/d+VYVOwAABhsxe/ZvUtvb37LteNRsQMA4HPv5jiOKisro26O49R6Wsdx9NSTT2jE9Te69lSo2AEAcNHqVcu1In9p1Fj2kGHKGZp7wt/mL12kPv0uVPv27V07P8EOAICLrfjMrBxlDMqMGgsGgyf83e5dn2jnxzv0y/sf0MGDxa6dn2AHAMDFYA8Gg7UG+b9au+YllZaW6t4Jv1BVVZUO/e8h3XfPeE2dPqte5yfYAQAwYMzYO2vuFxUW6FdT7qt3qEsEOwAAXKAGAACrGA72U9qeqtmPL3DlWAQ7AABceQ4AAMQjKnYAAFhjBwDAIhYFO614AAAsQsUOAIBFFTvBDgCARcFOKx4AAItQsQMAQMUOAADiEcEOAIBFaMUDAGBRK55gBwB4no9gR30dKinR5F89oNff3KSEhARlXT1Id915u/x+Vke8qLC4WMtW/0FvbN6iJU8+YXo6MKDVaam6cmR/nX/5WRrXL0+SNGP9WP1gQLcT/vbA7iLdmD6lkWdoOYId9TXlgekqKi7WkueeUVFxscZPnKT27dppxPBc01NDI5s8c5ZW/XGNQikpSkxMND0dGDBmXq7++/reqig5omOVx2vGpw5eoGDz6H+mRz6SrcNF5Y09RTQhlIcGVFYe0bpXN2jc7bepR/duurBfXw0fNlQvvbzW9NRgQOtWrbRkwTyNG32z6anAkMOFZbqz90N6+q4XosbLD1XqUEFpze1o5XH9aND3tXbBm2YmajOfz72bYQS7AV/s2yenqkrd07vWjHVPT9ene/eamxSMGTvyRp3TvbvpacCghZNf0p53933r3106opc+//CA9n5woBFm5TEEO+qjvKJCkhQKhWrGUlNDKi+vMDUlAE1Axk39qNbxrWIK9nA4rDde36hX1q5R6eHDUb97cPrUBpmYzaqrq08Y8/l8ikQiBmYDoCk4p38Xte38HW1cstX0VOzktYr96QXztOHVv+jL/ft1/+R7tWXzX2t+V1xU+K2PdxxHlZWVUTfHcU5+1k3cP3e+h8PhmrFIJKJAIGBqSgDi3MCbL9SGRe9Eba6Dm3wu3syKaVf8jh3bNevhx+T3+3X4cIkenjVDJYcO6bIrMmI6yepVy7Uif2nUWPaQYcoZ6s0d4MlJSZKkw6WlapWWJkkqKytTKJRicFYA4lVqmxT1yz5Xd/bJMz0VNAExBbvP51M4HJbf71fLlmm6d9L9eiTvQZWXl8XUdsjMylHGoMyosWAweHIztkDnzp3UrFlAH23fof59+0iSdu7arfQuXQzPDEA8uuxnfbT3w7/HtMEOJykOWuhuiakV37f/hfr1lPv0yc6PJUkJCQkaN+Fe/f3AAR34cv+3Pj4YDCopKSnq5uVgT05K0qUDBijv0dnavuNjbXprs55fskxXZVxpemoA4tCVI/tp7ZNsmmtQFq2xx1SxD84eqi5d0hVs3rxmLBAIaPRtd6hXn34NNjmbTbnvHk26f6pyr/uZEhMSNWTwNRqanWV6WgDiTM/Lz1baqanasOht01NBE+GLmN6KfZQrKHle4td7CyIHv30zJuzma9225n6Gb7TBmSBerInMbfBzhHd97Nqx/Ok9XDvWyeCSsgAAmO+gu4ZgBwAgDtbG3cKV5wAAsAgVOwAAFlXsBDsAABYtstOKBwDAIlTsAADQigcAwCIWBTuteAAALELFDgCAoYp95Ypl2vT6awqHw+px9jm64eej6v0V3lTsAAAY+BKYbe/+Tdu2btW0Bx/WrN/MVsFXX2nTG6/V+6lQsQMAYEBqaqqGj7hOzf/vC9Y6dOyoisqKeh+XYAcAwEWO48hxnKixYDB4wteVn9mla839w4dL9MH772lwzrB6n59gBwDAxTX21auWa0X+0qix7CHDlDM0t9a/P3bsmPIenK5hucOVlpZW7/MT7AAAuBjsmVk5yhiUGTX2r9X6P1VVVemRvJnq2+9C9e7Tz5XzE+wAALiotrZ7bSKRiOY/Pltd0rvpioxBrp2fYAcAwMCn3ba+s0VvvvG6OnTsqM1/3SRJatOmjSbcO7lexyXYAQAwkOw/vKCXFi1b6fpx+Rw7AAAWoWIHAMCia8UT7AAA2JPrtOIBALAJFTsAwPN8FpXsBDsAABatsdOKBwDAIlTsAABYVLET7AAA2JPrBDsAADYlO2vsAABYhIodAADW2AEAsIg9uU4rHgAAm1CxAwBgUclOsAMAYNEaO614AAAsQsUOAIA9BTvBDgAArXgAABCXqNgBALCoF0+wAwBgT64T7AAAsMYOAADiEhU7AABU7AAAIB4R7AAAWIRWPADA83wWteIJdgAALAp2WvEAAFiEih0AAIuuUEOwAwBgT67TigcAwCZU7AAAWLR5jmAHAIBgBwAA9fX6axv04gsrFQ6H9b3v/0A/vf5G+f31WyVnjR0AAANKS0u15PmFmjRlqmblPar9+77Q1re31Pu45iv2xBTTM0Ac8bVua3oKiCNrInNNTwFe4WIr3nEcOY4TNRYMBhUMBqPGPt2zS126pis1NVWS1POCH+mTTz7WBb161+v85oPdwxzH0epVy5WZlXPCf3B4D68HfBOvh0bmYpG5etlirchfGjWWPWSYcobmRo2VlpaqRYsWNT8nJyXri88/r/f5CXaDHMfRivylyhiUyf9xwesBUXg9NF2ZWTnKGJQZNVbbf8NIJHLCmBt9A4IdAAAX1dZ2r00olKry8vKanysrK5Wa2rLe52fzHAAABnTp2lV7du9SyaFDCldXa+s7W9T9rLPrfVwqdgAADGjZMk25147Qr++fJJ+kH5x7ns47v2e9j0uwGxQMBpU9ZBjrZ5DE6wHReD14w8UDfqyLB/zY1WP6IrWt3gMAgCaJNXYAACxCsAMAYBGCHQAAi7B5zpCGuPA/mraDxUXauHG9Nq5fp0fnzDc9HRi2csUybXr9NYXDYfU4+xzd8PNRCgQCpqeFJoAkMaChLvyPpitcXa28WTOUmJiowoIC09OBYdve/Zu2bd2qaQ8+rFm/ma2Cr77SpjdeMz0tNBEEuwHfvPC/PxCoufA/vMsfCGjazDxlDLza9FQQB1JTUzV8xHVq3ry5AoGAOnTsqIrKCtPTQhNBsBtQ24X/y8rKDM4IQDw5s0tXde9xliTp8OESffD+e+rdp7/hWaGpINgNaKgL/wOwy7Fjx5T34HQNyx2utLQ009NBE0GwG9BQF/4HYI+qqio9kjdTfftdqN59+pmeDpoQgt2AhrrwPwA7RCIRzX98trqkd9MVGYNMTwdNDB93M6ChLvwPwA5b39miN994XR06dtTmv26SJLVp00YT7p1seGZoCrhWPAAAFqEVDwCARQh2AAAsQrADAGARgh0AAIsQ7AAAWIRgBwDAIgQ7AAAWIdgBALAIwQ4AgEUIdgAALEKwAwBgkf8PcAYeWvko//YAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "lr_conf_mat = confusion_matrix(y_test, log_reg_pred)\n", + "lr_conf_mat = pd.DataFrame(lr_conf_mat).reset_index(drop=True)\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(lr_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.2 Decision Tree" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "petal_width", + "petal_length", + "sepal_width", + "sepal_length" + ], + "xaxis": "x", + "y": [ + 0.9071535733769776, + 0.07136524822695035, + 0.021481178396072012, + 0 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Initializing the model\n", + "dt_clf = DecisionTreeClassifier(random_state=24)\n", + "dt_model = dt_clf.fit(X_train, y_train)\n", + "\n", + "# Feature importances\n", + "dt_importance = dt_model.feature_importances_\n", + "dt_importance = pd.DataFrame(dt_importance, columns=[\"score\"]).reset_index()\n", + "dt_importance[\"Feature\"] = list(X.columns)\n", + "dt_importance.drop(columns=[\"index\"], inplace=True)\n", + "\n", + "dt_importance.sort_values(by=\"score\", ascending=False, ignore_index=True, inplace=True)\n", + "\n", + "# Plotting the feature importances\n", + "fig = px.bar(dt_importance, x=\"Feature\", y=\"score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "hide_input": false, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 1.00 0.92 0.96 12\n", + " Iris-virginica 0.95 1.00 0.97 18\n", + "\n", + " accuracy 0.98 45\n", + " macro avg 0.98 0.97 0.98 45\n", + " weighted avg 0.98 0.98 0.98 45\n", + "\n" + ] + } + ], + "source": [ + "# Making predictions\n", + "dt_pred = dt_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "dt_report = classification_report(y_test, dt_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(dt_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "dt_conf_mat = confusion_matrix(y_test, dt_pred)\n", + "dt_conf_mat = pd.DataFrame(dt_conf_mat).reset_index(drop=True)\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(dt_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.3 Random Forest" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "petal_width", + "petal_length", + "sepal_length", + "sepal_width" + ], + "xaxis": "x", + "y": [ + 0.4587582752539507, + 0.40988364629051055, + 0.10945230048573762, + 0.02190577796980117 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Random Forests\n", + "rf_clf = RandomForestClassifier(random_state=24)\n", + "rf_model = rf_clf.fit(X_train, y_train)\n", + "\n", + "# Feature Importance of the Random Forest Model\n", + "rf_importance = rf_model.feature_importances_\n", + "rf_importance = pd.DataFrame(rf_importance, columns=[\"score\"]).reset_index()\n", + "rf_importance[\"Feature\"] = list(X.columns)\n", + "rf_importance.drop(columns=[\"index\"], inplace=True)\n", + "rf_importance.sort_values(by=\"score\", ascending=False, ignore_index=True, inplace=True)\n", + "\n", + "# Visualizing the feature importances\n", + "fig = px.bar(rf_importance, x=\"Feature\", y=\"score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "hide_input": false, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 0.92 0.92 0.92 12\n", + " Iris-virginica 0.94 0.94 0.94 18\n", + "\n", + " accuracy 0.96 45\n", + " macro avg 0.95 0.95 0.95 45\n", + " weighted avg 0.96 0.96 0.96 45\n", + "\n" + ] + } + ], + "source": [ + "# Making predictions\n", + "rf_pred = rf_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "rf_report = classification_report(y_test, rf_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(rf_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "rf_conf_mat = confusion_matrix(y_test, rf_pred)\n", + "rf_conf_mat = pd.DataFrame(rf_conf_mat).reset_index(drop=True)\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(rf_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.4 XGBoost" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "petal_length", + "petal_width", + "sepal_width", + "sepal_length" + ], + "xaxis": "x", + "y": [ + 0.6399956, + 0.31851807, + 0.024596186, + 0.016890218 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Fitting model to the training data\n", + "xgb_clf = XGBClassifier(random_state=24)\n", + "xgb_model = xgb_clf.fit(X_train, y_train)\n", + "\n", + "# Feature Importance of the XGBoost Model\n", + "xgb_importance = xgb_model.feature_importances_\n", + "xgb_importance = pd.DataFrame(xgb_importance, columns=[\"score\"]).reset_index()\n", + "xgb_importance[\"Feature\"] = list(X.columns)\n", + "xgb_importance.drop(columns=[\"index\"], inplace=True)\n", + "xgb_importance.sort_values(by=\"score\", ascending=False, ignore_index=True, inplace=True)\n", + "\n", + "# Visualizing the feature importances\n", + "fig = px.bar(xgb_importance, x=\"Feature\", y=\"score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 1.00 0.92 0.96 12\n", + " Iris-virginica 0.95 1.00 0.97 18\n", + "\n", + " accuracy 0.98 45\n", + " macro avg 0.98 0.97 0.98 45\n", + " weighted avg 0.98 0.98 0.98 45\n", + "\n" + ] + } + ], + "source": [ + "# Making predictions\n", + "xgb_pred = xgb_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "xgb_report = classification_report(y_test, xgb_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(xgb_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "xgb_conf_mat = confusion_matrix(y_test, xgb_pred)\n", + "xgb_conf_mat = pd.DataFrame(xgb_conf_mat).reset_index(drop=True)\n", + "xgb_conf_mat\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(xgb_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.5 CatBoost" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Learning rate set to 0.070535\n", + "0:\tlearn: 1.0235034\ttotal: 136ms\tremaining: 2m 15s\n", + "100:\tlearn: 0.0746170\ttotal: 208ms\tremaining: 1.85s\n", + "200:\tlearn: 0.0311956\ttotal: 277ms\tremaining: 1.1s\n", + "300:\tlearn: 0.0192405\ttotal: 349ms\tremaining: 810ms\n", + "400:\tlearn: 0.0137641\ttotal: 418ms\tremaining: 625ms\n", + "500:\tlearn: 0.0106780\ttotal: 488ms\tremaining: 486ms\n", + "600:\tlearn: 0.0086890\ttotal: 558ms\tremaining: 371ms\n", + "700:\tlearn: 0.0073180\ttotal: 627ms\tremaining: 267ms\n", + "800:\tlearn: 0.0062957\ttotal: 696ms\tremaining: 173ms\n", + "900:\tlearn: 0.0055142\ttotal: 766ms\tremaining: 84.2ms\n", + "999:\tlearn: 0.0049153\ttotal: 835ms\tremaining: 0us\n" + ] + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "petal_width", + "petal_length", + "sepal_width", + "sepal_length" + ], + "xaxis": "x", + "y": [ + 44.02408282434386, + 40.6612725005743, + 9.871372527155982, + 5.443272147925861 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Initializing CatBoostClassifier\n", + "catb_clf = CatBoostClassifier(metric_period=100, random_state=24)\n", + "\n", + "# Fitting it to the training data\n", + "catb_model = catb_clf.fit(X_train, y_train)\n", + "\n", + "# Feature Importance of the Model\n", + "catb_importance = catb_model.feature_importances_\n", + "catb_importance = pd.DataFrame(catb_importance, columns=[\"score\"]).reset_index()\n", + "catb_importance[\"Feature\"] = list(X.columns)\n", + "catb_importance.drop(columns=[\"index\"], inplace=True)\n", + "catb_importance.sort_values(by=\"score\", ascending=False, ignore_index=True, inplace=True)\n", + "\n", + "# Visualize the feature importances\n", + "fig = px.bar(catb_importance, x=\"Feature\", y=\"score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 0.92 0.92 0.92 12\n", + " Iris-virginica 0.94 0.94 0.94 18\n", + "\n", + " accuracy 0.96 45\n", + " macro avg 0.95 0.95 0.95 45\n", + " weighted avg 0.96 0.96 0.96 45\n", + "\n" + ] + } + ], + "source": [ + "# Making the predictions\n", + "catb_pred = catb_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "catb_report = classification_report(y_test, catb_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(catb_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "catb_conf_mat = confusion_matrix(y_test, catb_pred)\n", + "catb_conf_mat = pd.DataFrame(catb_conf_mat).reset_index(drop=True)\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(catb_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.6 LightGBM" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "Feature=%{x}
score=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "petal_length", + "petal_width", + "sepal_width", + "sepal_length" + ], + "xaxis": "x", + "y": [ + 313, + 273, + 244, + 243 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Feature" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "score" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Initializing LightGBM Classifier\n", + "lgb_clf = lgb.LGBMClassifier(random_state=24)\n", + "\n", + "# Fitting it to the training data\n", + "lgb_model = lgb_clf.fit(X_train, y_train)\n", + "\n", + "# Feature Importance of the Model\n", + "lgb_importance = lgb_model.feature_importances_\n", + "lgb_importance = pd.DataFrame(lgb_importance, columns=[\"score\"]).reset_index()\n", + "lgb_importance[\"Feature\"] = list(X.columns)\n", + "lgb_importance.drop(columns=[\"index\"], inplace=True)\n", + "lgb_importance.sort_values(by=\"score\", ascending=False, ignore_index=True, inplace=True)\n", + "\n", + "# Visualizing the feature importances\n", + "fig = px.bar(lgb_importance, x=\"Feature\", y=\"score\")\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 1.00 0.92 0.96 12\n", + " Iris-virginica 0.95 1.00 0.97 18\n", + "\n", + " accuracy 0.98 45\n", + " macro avg 0.98 0.97 0.98 45\n", + " weighted avg 0.98 0.98 0.98 45\n", + "\n" + ] + } + ], + "source": [ + "# Making the predictions\n", + "lgb_pred = lgb_model.predict(X_test)\n", + "\n", + "# Evaluating the model\n", + "lgb_report = classification_report(y_test, lgb_pred, target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(lgb_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining the Confusion Matrix\n", + "lgb_conf_mat = confusion_matrix(y_test, lgb_pred)\n", + "lgb_conf_mat = pd.DataFrame(lgb_conf_mat).reset_index(drop=True)\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(lgb_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.xlabel = (\"y_pred\")\n", + "plt.ylabel = (\"y_true\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.7 Summarizing the Performance of the Models" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "# Defining a helper function to evaluate the models at a go\n", + "def evaluation(fit_models, X_test, y_test):\n", + " lst = []\n", + " for name, model in fit_models.items():\n", + " pred = model.predict(X_test)\n", + "\n", + " lst.append([\n", + " name,\n", + " precision_score(y_test, pred, average=\"weighted\"),\n", + " recall_score(y_test, pred, average=\"weighted\"),\n", + " f1_score(y_test, pred, average=\"weighted\"),\n", + " accuracy_score(y_test, pred)\n", + " ])\n", + "\n", + " eval_df = pd.DataFrame(lst, columns=[\"model\", \"precision\", \"recall\", \"f1_weighted\", \"accuracy\"])\n", + " eval_df.set_index(\"model\", inplace=True)\n", + " return eval_df" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
precisionrecallf1_weightedaccuracy
model
Decision Tree0.9789470.9777780.9775950.977778
XGBoost0.9789470.9777780.9775950.977778
LightGBM0.9789470.9777780.9775950.977778
Logistic Regression0.9555560.9555560.9555560.955556
Random Forest0.9555560.9555560.9555560.955556
CatBoost0.9555560.9555560.9555560.955556
\n", + "
" + ], + "text/plain": [ + " precision recall f1_weighted accuracy\n", + "model \n", + "Decision Tree 0.978947 0.977778 0.977595 0.977778\n", + "XGBoost 0.978947 0.977778 0.977595 0.977778\n", + "LightGBM 0.978947 0.977778 0.977595 0.977778\n", + "Logistic Regression 0.955556 0.955556 0.955556 0.955556\n", + "Random Forest 0.955556 0.955556 0.955556 0.955556\n", + "CatBoost 0.955556 0.955556 0.955556 0.955556" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Evaluating all the models with the function\n", + "all_models = {\n", + " \"Logistic Regression\": log_reg_model,\n", + " \"Decision Tree\": dt_model,\n", + " \"Random Forest\": rf_model,\n", + " \"XGBoost\": xgb_model,\n", + " \"CatBoost\": catb_model,\n", + " \"LightGBM\": lgb_model\n", + "}\n", + "\n", + "all_models_eval = evaluation(all_models, X_test, y_test)\n", + "all_models_eval = all_models_eval.sort_values(by=[\"f1_weighted\", \"accuracy\"], ascending=False)\n", + "all_models_eval" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Notes on Features**\n", + "\n", + "From all the models, we note some consistency in the feature importances; in terms of importance (from most to least), the features may be ordered as petal width, petal length, sepal width, and sepal length. This indicates that generally, petal features are better determinants of the specie of an iris flower (based on the models)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6.0 Model Optimization: Cross-Validation and Hyperparameter tuning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From Section 5.7 above, we note that the Decision Tree, XGBoost, and LightGBM models were tied at the top for best performing models. The other three were also tied, still with relatively high performance scores.\n", + "\n", + "Based on this, the Decision Tree and XGBoost models will be chosen as the optimal models for further tuning and optimization as they have the highest F1 scores. The high F1 scores may imply that regardless of the weight of the precision and recall, they performs well." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.1 Decision Tree: K-Fold Cross-Validation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pasting the model here for ease of access**\n", + "\n", + "*Decision Tree*\n", + "```python\n", + "dt_clf = DecisionTreeClassifier(random_state=24)\n", + "dt_model = dt_clf.fit(X_train, y_train)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average score after cross-validation for the model at 10 folds is: 0.94182\n", + "The average score after cross-validation for the model at 15 folds is: 0.94286\n", + "The average score after cross-validation for the model at 20 folds is: 0.94333\n" + ] + } + ], + "source": [ + "# Defining the number of folds for cross-validation and the range of estimators\n", + "cv = list(range(10, 21, 5))\n", + "\n", + "# Using a loop to cross-validate with each number in the range of estimators\n", + "for c in cv:\n", + " score = cross_val_score(estimator= dt_model, X= X_train, y= y_train, cv= c).mean()\n", + " print(f\"The average score after cross-validation for the model at {c} folds is:\", \"{0:.5}\".format(score))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.2 XGBoost" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Pasting the model here for ease of access*\n", + "\n", + "**XGBoost Classifier**\n", + "```python\n", + "xgb_clf = XGBClassifier(random_state=24)\n", + "xgb_model = xgb_clf.fit(X_train, y_train)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 6.2.1 K-Fold Cross-Validation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As was done with the Decision Tree model, the XGBoost Classifier is is cross-validated using K-Fold Cross-Validation with 3 different k-values." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The model's average score after cross-validation at 10 folds is:\n", + "score_10_folds: 0.94273\n", + "The model's average score after cross-validation at 15 folds is:\n", + "score_15_folds: 0.94286\n", + "The model's average score after cross-validation at 20 folds is:\n", + "score_20_folds: 0.94167\n" + ] + } + ], + "source": [ + "# Defining the number of folds for cross-validation\n", + "cv = list(range(10, 21, 5))\n", + "\n", + "# Defining a loop to cross-validate\n", + "for c in cv:\n", + " print(f\"The model's average score after cross-validation at {c} folds is:\")\n", + " score = cross_val_score(estimator=xgb_model, X=X_train, y=y_train, cv=c).mean()\n", + " print(\"score_\" + str(c) + \"_folds:\", \"{0:.5}\".format(score))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the results above, we note that the best performance is at 15 folds." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 6.2.2 RandomizedSearch Cross-Validation" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# Defining the values for the RandomizedSearchCV\n", + "random_grid = {\"colsample_bytree\": [0.1, 0.3, 0.5, 0.7],\n", + " \"learning_rate\": [0.1, 0.3, 0.5, 0.7, 1.0],\n", + " \"max_depth\": [5, 10, 15, 20, 25, 30, 35],\n", + " \"booster\": [\"gbtree\", \"gblinear\", \"dart\"],\n", + " \"n_estimators\": [5, 10, 20, 50, 80, 100]\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "hide_input": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[13:36:22] WARNING: C:\\Users\\dev-admin\\croot2\\xgboost-split_1675461376218\\work\\src\\learner.cc:767: \n", + "Parameters: { \"colsample_bytree\", \"max_depth\" } are not used.\n", + "\n" + ] + }, + { + "data": { + "text/html": [ + "
RandomizedSearchCV(cv=15,\n",
+       "                   estimator=XGBClassifier(base_score=None, booster=None,\n",
+       "                                           callbacks=None,\n",
+       "                                           colsample_bylevel=None,\n",
+       "                                           colsample_bynode=None,\n",
+       "                                           colsample_bytree=None,\n",
+       "                                           early_stopping_rounds=None,\n",
+       "                                           enable_categorical=False,\n",
+       "                                           eval_metric=None, feature_types=None,\n",
+       "                                           gamma=None, gpu_id=None,\n",
+       "                                           grow_policy=None,\n",
+       "                                           importance_type=None,\n",
+       "                                           interaction_constraints=None,\n",
+       "                                           learning_rat...\n",
+       "                                           monotone_constraints=None,\n",
+       "                                           n_estimators=100, n_jobs=None,\n",
+       "                                           num_parallel_tree=None,\n",
+       "                                           objective='multi:softprob',\n",
+       "                                           predictor=None, ...),\n",
+       "                   n_iter=30, n_jobs=-1,\n",
+       "                   param_distributions={'booster': ['gbtree', 'gblinear',\n",
+       "                                                    'dart'],\n",
+       "                                        'colsample_bytree': [0.1, 0.3, 0.5,\n",
+       "                                                             0.7],\n",
+       "                                        'learning_rate': [0.1, 0.3, 0.5, 0.7,\n",
+       "                                                          1.0],\n",
+       "                                        'max_depth': [5, 10, 15, 20, 25, 30,\n",
+       "                                                      35],\n",
+       "                                        'n_estimators': [5, 10, 20, 50, 80,\n",
+       "                                                         100]},\n",
+       "                   random_state=24)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomizedSearchCV(cv=15,\n", + " estimator=XGBClassifier(base_score=None, booster=None,\n", + " callbacks=None,\n", + " colsample_bylevel=None,\n", + " colsample_bynode=None,\n", + " colsample_bytree=None,\n", + " early_stopping_rounds=None,\n", + " enable_categorical=False,\n", + " eval_metric=None, feature_types=None,\n", + " gamma=None, gpu_id=None,\n", + " grow_policy=None,\n", + " importance_type=None,\n", + " interaction_constraints=None,\n", + " learning_rat...\n", + " monotone_constraints=None,\n", + " n_estimators=100, n_jobs=None,\n", + " num_parallel_tree=None,\n", + " objective='multi:softprob',\n", + " predictor=None, ...),\n", + " n_iter=30, n_jobs=-1,\n", + " param_distributions={'booster': ['gbtree', 'gblinear',\n", + " 'dart'],\n", + " 'colsample_bytree': [0.1, 0.3, 0.5,\n", + " 0.7],\n", + " 'learning_rate': [0.1, 0.3, 0.5, 0.7,\n", + " 1.0],\n", + " 'max_depth': [5, 10, 15, 20, 25, 30,\n", + " 35],\n", + " 'n_estimators': [5, 10, 20, 50, 80,\n", + " 100]},\n", + " random_state=24)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Running the RandomizedSearch Cross-Validation with the above set of Parameters\n", + "xgb_rs_cv_model = RandomizedSearchCV(estimator=xgb_model,\n", + " param_distributions=random_grid,\n", + " n_iter=30,\n", + " cv=15,\n", + " random_state=24,\n", + " n_jobs=-1)\n", + "\n", + "# Fitting the model to the training data\n", + "xgb_rs_cv_model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The best combination of hyperparameters for the model will be:\n", + "booster : gblinear\n", + "colsample_bytree : 0.1\n", + "learning_rate : 0.7\n", + "max_depth : 30\n", + "n_estimators : 80\n" + ] + } + ], + "source": [ + "# Looking at the best combination of hyperparameters for the model\n", + "best_params = xgb_rs_cv_model.best_params_\n", + "print(\"The best combination of hyperparameters for the model will be:\")\n", + "for param_name in sorted(best_params.keys()):\n", + " print(f\"{param_name} : {best_params[param_name]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The model's cross-validated score with the best combination of hyperparameters is: 0.9619\n" + ] + } + ], + "source": [ + "# Looking at the best score for the model during cross-validation\n", + "print(\"The model's cross-validated score with the best combination of hyperparameters is:\",\n", + " \"{0:.5}\".format(xgb_rs_cv_model.best_score_))" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "# Defining the best version of the model with the best parameters\n", + "best_xgb_model = XGBClassifier(random_state=24,\n", + " booster=\"gbtree\",\n", + " colsample_bytree=0.1,\n", + " learning_rate=0.5,\n", + " max_depth=15,\n", + " n_estimators=50\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "# Fitting the model to the training data\n", + "best_xgb_model = best_xgb_model.fit(X_train, y_train)\n", + "\n", + "# Predicting the test data\n", + "best_xgb_pred = best_xgb_model.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Iris-setosa 1.00 1.00 1.00 15\n", + "Iris-versicolor 1.00 0.83 0.91 12\n", + " Iris-virginica 0.90 1.00 0.95 18\n", + "\n", + " accuracy 0.96 45\n", + " macro avg 0.97 0.94 0.95 45\n", + " weighted avg 0.96 0.96 0.95 45\n", + "\n" + ] + } + ], + "source": [ + "# Evaluating the model\n", + "best_xgb_report = classification_report(y_test, best_xgb_pred, \n", + " target_names=[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"])\n", + "print(best_xgb_report)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Confusion Matrix\n", + "best_xgb_conf_mat = confusion_matrix(y_test, best_xgb_pred)\n", + "best_xgb_conf_mat = (pd.DataFrame(best_xgb_conf_mat).reset_index(drop=True)).rename(columns={0: \"Iris-setosa\",\n", + " 1: \"Iris-versicolor\",\n", + " 2: \"Iris-virginica\"})\n", + "\n", + "# Visualizing the Confusion Matrix\n", + "f, ax = plt.subplots()\n", + "sns.heatmap(best_xgb_conf_mat, annot=True, linewidth=1.0, fmt=\".0f\", cmap=\"RdPu\", ax=ax)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When the confusion matrix after optimization is compared to the original confusion matrix from the original model in Section 5.4, we note that the original model performs better than the optimized model (which is likely overfitting), hence we go with the original model from Section 5.4." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 7.0 Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7.1 Summary of Key Insights and Recommendations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Virginicas have the longest sepal lengths, petal lengths and petal widths, while setosas have a wide spread of sepal widths.\n", + "- Versicolors lie between setosas and virginicas in all the features.\n", + "- In order of importance in predicting a flower's specie the features available may be ordered as petal width, petal length, sepal width, and sepal length. This indicates that generally, petal features are better determinants of the specie of an iris flower (based on the models).\n", + "- More observations and features may be needed to increase the ability of machine learning models to predict which specie of Iris a flower belongs to." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7.2 Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Per their confusion matrices, the Decision Tree model and the XGBoost model tie on the performance metrics. As a personal decision, the XGBoost is recommended for further optimization and deployment." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 10 Exporting" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "# Exporting the requirements\n", + "requirements = \"\\n\".join(f\"{m.__name__}=={m.__version__}\" for m in globals().values() if getattr(m, \"__version__\", None))\n", + "\n", + "with open(\"requirements.txt\", \"w\") as f:\n", + " f.write(requirements)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating a dictionary of objects to export\n", + "exports = {\"scaler\": scaler,\n", + " \"model\": xgb_model}" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "# Exporting the dictionary with Pickle\n", + "with open(\"src/Iris_App_toolkit\", \"wb\") as file:\n", + " pickle.dump(exports, file)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# Exporting the model\n", + "xgb_model.save_model(\"src/xgb_model.json\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + }, + "toc": { + "base_numbering": 1, + "nav_menu": { + "height": "78px", + "width": "187px" + }, + "number_sections": false, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "541.6px", + "left": "278px", + "top": "110.325px", + "width": "239.819px" + }, + "toc_section_display": true, + "toc_window_display": true + }, + "vscode": { + "interpreter": { + "hash": "1a4ce4bc5f820c6c47c7565419227e532b3448deb4a621e77e51010fbe64b648" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}