{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.015636,
"end_time": "2020-10-01T00:23:43.827727",
"exception": false,
"start_time": "2020-10-01T00:23:43.812091",
"status": "completed"
},
"tags": []
},
"source": [
"In this tutorial you'll learn all about **histograms** and **density plots**.\n",
"\n",
"# Set up the notebook\n",
"\n",
"As always, we begin by setting up the coding environment. (_This code is hidden, but you can un-hide it by clicking on the \"Code\" button immediately below this text, on the right._)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true,
"execution": {
"iopub.execute_input": "2020-10-01T00:23:43.864741Z",
"iopub.status.busy": "2020-10-01T00:23:43.864012Z",
"iopub.status.idle": "2020-10-01T00:23:45.479142Z",
"shell.execute_reply": "2020-10-01T00:23:45.479860Z"
},
"papermill": {
"duration": 1.638265,
"end_time": "2020-10-01T00:23:45.480072",
"exception": false,
"start_time": "2020-10-01T00:23:43.841807",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Setup Complete\n"
]
}
],
"source": [
"\n",
"import pandas as pd\n",
"pd.plotting.register_matplotlib_converters()\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns\n",
"print(\"Setup Complete\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.014121,
"end_time": "2020-10-01T00:23:45.509264",
"exception": false,
"start_time": "2020-10-01T00:23:45.495143",
"status": "completed"
},
"tags": []
},
"source": [
"# Select a dataset\n",
"\n",
"We'll work with a dataset of 150 different flowers, or 50 each from three different species of iris (*Iris setosa*, *Iris versicolor*, and *Iris virginica*).\n",
"\n",
"\n",
"\n",
"# Load and examine the data\n",
"\n",
"Each row in the dataset corresponds to a different flower. There are four measurements: the sepal length and width, along with the petal length and width. We also keep track of the corresponding species. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:45.550515Z",
"iopub.status.busy": "2020-10-01T00:23:45.549498Z",
"iopub.status.idle": "2020-10-01T00:23:45.591486Z",
"shell.execute_reply": "2020-10-01T00:23:45.592268Z"
},
"papermill": {
"duration": 0.068478,
"end_time": "2020-10-01T00:23:45.592469",
"exception": false,
"start_time": "2020-10-01T00:23:45.523991",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Sepal Length (cm)
\n",
"
Sepal Width (cm)
\n",
"
Petal Length (cm)
\n",
"
Petal Width (cm)
\n",
"
Species
\n",
"
\n",
"
\n",
"
Id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
5.1
\n",
"
3.5
\n",
"
1.4
\n",
"
0.2
\n",
"
Iris-setosa
\n",
"
\n",
"
\n",
"
2
\n",
"
4.9
\n",
"
3.0
\n",
"
1.4
\n",
"
0.2
\n",
"
Iris-setosa
\n",
"
\n",
"
\n",
"
3
\n",
"
4.7
\n",
"
3.2
\n",
"
1.3
\n",
"
0.2
\n",
"
Iris-setosa
\n",
"
\n",
"
\n",
"
4
\n",
"
4.6
\n",
"
3.1
\n",
"
1.5
\n",
"
0.2
\n",
"
Iris-setosa
\n",
"
\n",
"
\n",
"
5
\n",
"
5.0
\n",
"
3.6
\n",
"
1.4
\n",
"
0.2
\n",
"
Iris-setosa
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Sepal Length (cm) Sepal Width (cm) Petal Length (cm) Petal Width (cm) \\\n",
"Id \n",
"1 5.1 3.5 1.4 0.2 \n",
"2 4.9 3.0 1.4 0.2 \n",
"3 4.7 3.2 1.3 0.2 \n",
"4 4.6 3.1 1.5 0.2 \n",
"5 5.0 3.6 1.4 0.2 \n",
"\n",
" Species \n",
"Id \n",
"1 Iris-setosa \n",
"2 Iris-setosa \n",
"3 Iris-setosa \n",
"4 Iris-setosa \n",
"5 Iris-setosa "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Path of the file to read\n",
"iris_filepath = \"../input/iris.csv\"\n",
"\n",
"# Read the file into a variable iris_data\n",
"iris_data = pd.read_csv(iris_filepath, index_col=\"Id\")\n",
"\n",
"# Print the first 5 rows of the data\n",
"iris_data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.015045,
"end_time": "2020-10-01T00:23:45.628334",
"exception": false,
"start_time": "2020-10-01T00:23:45.613289",
"status": "completed"
},
"tags": []
},
"source": [
"# Histograms\n",
"\n",
"Say we would like to create a **histogram** to see how petal length varies in iris flowers. We can do this with the `sns.distplot` command. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:45.666824Z",
"iopub.status.busy": "2020-10-01T00:23:45.666070Z",
"iopub.status.idle": "2020-10-01T00:23:45.958032Z",
"shell.execute_reply": "2020-10-01T00:23:45.956778Z"
},
"papermill": {
"duration": 0.314604,
"end_time": "2020-10-01T00:23:45.958186",
"exception": false,
"start_time": "2020-10-01T00:23:45.643582",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Histogram \n",
"sns.distplot(a=iris_data['Petal Length (cm)'], kde=False)"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.016218,
"end_time": "2020-10-01T00:23:45.992651",
"exception": false,
"start_time": "2020-10-01T00:23:45.976433",
"status": "completed"
},
"tags": []
},
"source": [
"We customize the behavior of the command with two additional pieces of information:\n",
"- `a=` chooses the column we'd like to plot (_in this case, we chose `'Petal Length (cm)'`_).\n",
"- `kde=False` is something we'll always provide when creating a histogram, as leaving it out will create a slightly different plot.\n",
"\n",
"# Density plots\n",
"\n",
"The next type of plot is a **kernel density estimate (KDE)** plot. In case you're not familiar with KDE plots, you can think of it as a smoothed histogram. \n",
"\n",
"To make a KDE plot, we use the `sns.kdeplot` command. Setting `shade=True` colors the area below the curve (_and `data=` has identical functionality as when we made the histogram above_)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:46.040180Z",
"iopub.status.busy": "2020-10-01T00:23:46.039214Z",
"iopub.status.idle": "2020-10-01T00:23:46.334546Z",
"shell.execute_reply": "2020-10-01T00:23:46.332709Z"
},
"papermill": {
"duration": 0.325589,
"end_time": "2020-10-01T00:23:46.334742",
"exception": false,
"start_time": "2020-10-01T00:23:46.009153",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# KDE plot \n",
"sns.kdeplot(data=iris_data['Petal Length (cm)'], shade=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.024866,
"end_time": "2020-10-01T00:23:46.397329",
"exception": false,
"start_time": "2020-10-01T00:23:46.372463",
"status": "completed"
},
"tags": []
},
"source": [
"# 2D KDE plots\n",
"\n",
"We're not restricted to a single column when creating a KDE plot. We can create a **two-dimensional (2D) KDE plot** with the `sns.jointplot` command.\n",
"\n",
"In the plot below, the color-coding shows us how likely we are to see different combinations of sepal width and petal length, where darker parts of the figure are more likely. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:46.456015Z",
"iopub.status.busy": "2020-10-01T00:23:46.454735Z",
"iopub.status.idle": "2020-10-01T00:23:48.385769Z",
"shell.execute_reply": "2020-10-01T00:23:48.384988Z"
},
"papermill": {
"duration": 1.963271,
"end_time": "2020-10-01T00:23:48.385912",
"exception": false,
"start_time": "2020-10-01T00:23:46.422641",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 2D KDE plot\n",
"sns.jointplot(x=iris_data['Petal Length (cm)'], y=iris_data['Sepal Width (cm)'], kind=\"kde\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.018782,
"end_time": "2020-10-01T00:23:48.425599",
"exception": false,
"start_time": "2020-10-01T00:23:48.406817",
"status": "completed"
},
"tags": []
},
"source": [
"Note that in addition to the 2D KDE plot in the center,\n",
"- the curve at the top of the figure is a KDE plot for the data on the x-axis (in this case, `iris_data['Petal Length (cm)']`), and\n",
"- the curve on the right of the figure is a KDE plot for the data on the y-axis (in this case, `iris_data['Sepal Width (cm)']`)."
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.019473,
"end_time": "2020-10-01T00:23:48.463985",
"exception": false,
"start_time": "2020-10-01T00:23:48.444512",
"status": "completed"
},
"tags": []
},
"source": [
"# Color-coded plots\n",
"\n",
"For the next part of the tutorial, we'll create plots to understand differences between the species. To accomplish this, we begin by breaking the dataset into three separate files, with one for each species."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:48.512500Z",
"iopub.status.busy": "2020-10-01T00:23:48.511368Z",
"iopub.status.idle": "2020-10-01T00:23:48.542725Z",
"shell.execute_reply": "2020-10-01T00:23:48.541878Z"
},
"papermill": {
"duration": 0.059858,
"end_time": "2020-10-01T00:23:48.542913",
"exception": false,
"start_time": "2020-10-01T00:23:48.483055",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Sepal Length (cm)
\n",
"
Sepal Width (cm)
\n",
"
Petal Length (cm)
\n",
"
Petal Width (cm)
\n",
"
Species
\n",
"
\n",
"
\n",
"
Id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
51
\n",
"
7.0
\n",
"
3.2
\n",
"
4.7
\n",
"
1.4
\n",
"
Iris-versicolor
\n",
"
\n",
"
\n",
"
52
\n",
"
6.4
\n",
"
3.2
\n",
"
4.5
\n",
"
1.5
\n",
"
Iris-versicolor
\n",
"
\n",
"
\n",
"
53
\n",
"
6.9
\n",
"
3.1
\n",
"
4.9
\n",
"
1.5
\n",
"
Iris-versicolor
\n",
"
\n",
"
\n",
"
54
\n",
"
5.5
\n",
"
2.3
\n",
"
4.0
\n",
"
1.3
\n",
"
Iris-versicolor
\n",
"
\n",
"
\n",
"
55
\n",
"
6.5
\n",
"
2.8
\n",
"
4.6
\n",
"
1.5
\n",
"
Iris-versicolor
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Sepal Length (cm) Sepal Width (cm) Petal Length (cm) Petal Width (cm) \\\n",
"Id \n",
"51 7.0 3.2 4.7 1.4 \n",
"52 6.4 3.2 4.5 1.5 \n",
"53 6.9 3.1 4.9 1.5 \n",
"54 5.5 2.3 4.0 1.3 \n",
"55 6.5 2.8 4.6 1.5 \n",
"\n",
" Species \n",
"Id \n",
"51 Iris-versicolor \n",
"52 Iris-versicolor \n",
"53 Iris-versicolor \n",
"54 Iris-versicolor \n",
"55 Iris-versicolor "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Paths of the files to read\n",
"iris_set_filepath = \"../input/iris_setosa.csv\"\n",
"iris_ver_filepath = \"../input/iris_versicolor.csv\"\n",
"iris_vir_filepath = \"../input/iris_virginica.csv\"\n",
"\n",
"# Read the files into variables \n",
"iris_set_data = pd.read_csv(iris_set_filepath, index_col=\"Id\")\n",
"iris_ver_data = pd.read_csv(iris_ver_filepath, index_col=\"Id\")\n",
"iris_vir_data = pd.read_csv(iris_vir_filepath, index_col=\"Id\")\n",
"\n",
"# Print the first 5 rows of the Iris versicolor data\n",
"iris_ver_data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.019678,
"end_time": "2020-10-01T00:23:48.585834",
"exception": false,
"start_time": "2020-10-01T00:23:48.566156",
"status": "completed"
},
"tags": []
},
"source": [
"In the code cell below, we create a different histogram for each species by using the `sns.distplot` command (_as above_) three times. We use `label=` to set how each histogram will appear in the legend."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:48.641160Z",
"iopub.status.busy": "2020-10-01T00:23:48.639985Z",
"iopub.status.idle": "2020-10-01T00:23:48.945141Z",
"shell.execute_reply": "2020-10-01T00:23:48.943938Z"
},
"papermill": {
"duration": 0.339684,
"end_time": "2020-10-01T00:23:48.945279",
"exception": false,
"start_time": "2020-10-01T00:23:48.605595",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Fi1axMc//vF2i8FazsemjfkyQmshSbURUVN/urtQzMwyygnczCyjmk3gkm6TtErS0w3Mu0JSSOreNuGZmVljWtICvx04sf5ESfsCnwaKO3iJmZm1SLMJPCJmAmsamPUT4BuA7+E2MyuBvPrAJQ0F/hERTxY5HjMza6FWXwcuqSvwLWBIC5cfBYwC6NWrBdd4F3JpVUMauNyqvoqKCpa9vHqraXtV7Ay07XCyLbFixQouvvjivG7WOfroo/nRj35ETc02Vx+Z2XYgnxb4R4DewJOSlgI9gXmSPtTQwhExISJqIqKmR48e+UfazjZt2gTQbsn7vffea3D6Pvvs0253WtZts5llQ6sTeEQsiIgPRkRlRFQCy4FDIuLlokfXzmbPeoRTTxrCqC9/sdXDyb7xxhtUVlayefNmAN5++2323XdfNm7cyPPPP8+JJ57IJz/5ST71qU+xePFiAEaMGMHll1/OMcccw9ixY3nkkUe2jK3Sv39/3nrrLZYuXUpVVRWQJNgrrriC6upq+vbty89+9jMApk2bRv/+/amurubLX/4y77zzzjbbNnnyZKqrq6mqqmLs2LFbpldUVDBu3DgGDRrE448/XuQ9amZtqdkuFEmTgaOB7pKWA9+JiF+2dWCl8tfaucyaU8shVQduNb254WR32203Dj74YB555BGOOeYYfve733HCCSdQXl7OqFGjuOWWWzjggAOYM2cOo0ePZvr06QA899xzPPTQQ5SVlXHKKadw0003MXjwYNauXUvnzp23qmPChAm88MIL/PWvf6VTp06sWbOGDRs2MGLECKZNm0afPn344he/yM0338yll166Zb0VK1YwduxYamtr2WOPPRgyZAj33Xcfp512GuvWraOqqorx48e30R41s7bSkqtQzoqIvSOiPCJ61k/eaUv8tbYLsX31/2QN+1XmN5zsGWecseUHF+6++27OOOMM1q5dy2OPPcawYcO2/KDDypUrt6wzbNgwysrKABg8eDCXX345P/3pT3n99dfp1Gnrz9eHHnqICy+8cMv0Pffck2effZbevXvTp08fAM477zxmzpy51XpPPPEERx99ND169KBTp06cc845W5YpKyvj85//fL67y8xKyHdi1tO1a/7DyQ4dOpT//d//Zc2aNdTW1nLssceyefNmdt999y2jFs6fP59FixZtKTd3+Norr7ySW2+9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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Histograms for each species\n",
"sns.distplot(a=iris_set_data['Petal Length (cm)'], label=\"Iris-setosa\", kde=False)\n",
"sns.distplot(a=iris_ver_data['Petal Length (cm)'], label=\"Iris-versicolor\", kde=False)\n",
"sns.distplot(a=iris_vir_data['Petal Length (cm)'], label=\"Iris-virginica\", kde=False)\n",
"\n",
"# Add title\n",
"plt.title(\"Histogram of Petal Lengths, by Species\")\n",
"\n",
"# Force legend to appear\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.021305,
"end_time": "2020-10-01T00:23:48.988296",
"exception": false,
"start_time": "2020-10-01T00:23:48.966991",
"status": "completed"
},
"tags": []
},
"source": [
"In this case, the legend does not automatically appear on the plot. To force it to show (for any plot type), we can always use `plt.legend()`.\n",
"\n",
"We can also create a KDE plot for each species by using `sns.kdeplot` (_as above_). Again, `label=` is used to set the values in the legend."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"execution": {
"iopub.execute_input": "2020-10-01T00:23:49.049487Z",
"iopub.status.busy": "2020-10-01T00:23:49.041583Z",
"iopub.status.idle": "2020-10-01T00:23:49.375110Z",
"shell.execute_reply": "2020-10-01T00:23:49.374295Z"
},
"papermill": {
"duration": 0.364844,
"end_time": "2020-10-01T00:23:49.375244",
"exception": false,
"start_time": "2020-10-01T00:23:49.010400",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Distribution of Petal Lengths, by Species')"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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rAuQtE9dtVfv3gkHNwZ2nz3SYMqf/V69uaV3ExISGDVqFJ988glnnXUWb7/9Nueddx5ut5vZs2ezYMECBg8ezMqVK7nxxhv56KOPANi+fTtLliwhPDycCy+8kEcffZTTTjuNwsJCPB7PMcd4/PHH+fbbb/nqq69wuVzk5ORQWlrKzJkzWbp0KUOGDOHqq6/mscce49Zbb63eLjMzk3nz5rF27Vo6derEpEmTeOONN7j44ospKioiNTWV++4LzNxC2lKvx+EC65M2sUZLHayTpdqnrlTwtKT07vTp06snsXj55ZeZPn06hYWFrFixgssuu6x6kowDBw5Ub3PZZZcRHh4OwGmnncbtt9/Oww8/TG5uLi7Xse3eJUuWcMMNN1Tf37lzZ7Zt20b//v0ZMmQIANdccw2ffvrpMdutXr2aiRMn0rVrV1wuF1dddVX1OuHh4fzoRz9q7sN1HG2p1yPb11KvldSjI8LJK9HuF9VONaFFHSwtKb07bdo07rrrLnJycli7di1nn302RUVFJCYmVk+G0dDx7rzzTi644AIWL17MySefzJIlS45prRtjsAvSHnNfYxpax+PxVH+oBIK21OtxxG6pJxyX1F0UlOoVpUq1Nn9K78bGxjJu3Djmzp3L1KlTCQ8PJz4+nv79+/Of//wHsBLshg0b6jzGrl27SEtLY968eYwZM6a6791n0qRJLFiwoPqkak5ODsOGDWPPnj3s3LkTgOeff54zzzy26N/48eP55JNPOHLkCFVVVSxcuPC4dQJFk3o9souspB4fdeyXmaiIcApKtaWuVGtbtmxZ9QnM119/nblz59a53vTp03nhhReYPn169X0vvvgiTz31FKNGjWLEiBG8+eabdW770EMPkZqayqhRo4iKimLKlCnHLL/uuuvo06cPI0eOZNSoUbz00kt4PB6efvppLrvsMtLS0ggLC+OGG244ZruePXty//33c9ZZZzFq1ChOPPFELrroohY+InXT0rv1uH/xFv79+bc8e+24Y75uPbl8N+v35bL2N+c6GJ1SgaOld0OXlt4NoJyicuI97uP6z6yWuna/KKVCkyb1euSWVFRfbFRTdISL8iovZZUtv0hAKaUCTZN6PXKLy4mJqCupW2epC7W1rpQKQZrU65FbXEFsZP1JXbtglFKhSJN6PXJLKoipI6lHaVJXSoUwTep1MMaQV1xB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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# KDE plots for each species\n",
"sns.kdeplot(data=iris_set_data['Petal Length (cm)'], label=\"Iris-setosa\", shade=True)\n",
"sns.kdeplot(data=iris_ver_data['Petal Length (cm)'], label=\"Iris-versicolor\", shade=True)\n",
"sns.kdeplot(data=iris_vir_data['Petal Length (cm)'], label=\"Iris-virginica\", shade=True)\n",
"\n",
"# Add title\n",
"plt.title(\"Distribution of Petal Lengths, by Species\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.022477,
"end_time": "2020-10-01T00:23:49.422527",
"exception": false,
"start_time": "2020-10-01T00:23:49.400050",
"status": "completed"
},
"tags": []
},
"source": [
"One interesting pattern that can be seen in plots is that the plants seem to belong to one of two groups, where _Iris versicolor_ and _Iris virginica_ seem to have similar values for petal length, while _Iris setosa_ belongs in a category all by itself. \n",
"\n",
"In fact, according to this dataset, we might even be able to classify any iris plant as *Iris setosa* (as opposed to *Iris versicolor* or *Iris virginica*) just by looking at the petal length: if the petal length of an iris flower is less than 2 cm, it's most likely to be *Iris setosa*!"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.022517,
"end_time": "2020-10-01T00:23:49.467914",
"exception": false,
"start_time": "2020-10-01T00:23:49.445397",
"status": "completed"
},
"tags": []
},
"source": [
"# What's next?\n",
"\n",
"Put your new skills to work in a **[coding exercise](https://www.kaggle.com/kernels/fork/2951534)**!"
]
},
{
"cell_type": "markdown",
"metadata": {
"papermill": {
"duration": 0.022592,
"end_time": "2020-10-01T00:23:49.513374",
"exception": false,
"start_time": "2020-10-01T00:23:49.490782",
"status": "completed"
},
"tags": []
},
"source": [
"---\n",
"\n",
"\n",
"\n",
"\n",
"*Have questions or comments? Visit the [Learn Discussion forum](https://www.kaggle.com/learn-forum/161291) to chat with other Learners.*"
]
}
],
"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.6"
},
"papermill": {
"duration": 11.488358,
"end_time": "2020-10-01T00:23:49.649098",
"environment_variables": {},
"exception": null,
"input_path": "__notebook__.ipynb",
"output_path": "__notebook__.ipynb",
"parameters": {},
"start_time": "2020-10-01T00:23:38.160740",
"version": "2.1.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}