diff --git a/notebooks/mushroom_analysis.ipynb b/notebooks/mushroom_analysis.ipynb
index 8542f30..6149e3a 100644
--- a/notebooks/mushroom_analysis.ipynb
+++ b/notebooks/mushroom_analysis.ipynb
@@ -10,17 +10,282 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Notebook is ready\n"
+ "Feature data: (8124, 22)\n",
+ "Target data: (8124,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " cap_shape | \n",
+ " cap_surface | \n",
+ " cap_color | \n",
+ " bruises | \n",
+ " odor | \n",
+ " gill_attachment | \n",
+ " gill_spacing | \n",
+ " gill_size | \n",
+ " gill_color | \n",
+ " stalk_shape | \n",
+ " ... | \n",
+ " stalk_surface_below_ring | \n",
+ " stalk_color_above_ring | \n",
+ " stalk_color_below_ring | \n",
+ " veil_type | \n",
+ " veil_color | \n",
+ " ring_number | \n",
+ " ring_type | \n",
+ " spore-print-color | \n",
+ " population | \n",
+ " habitat | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " x | \n",
+ " s | \n",
+ " n | \n",
+ " t | \n",
+ " p | \n",
+ " f | \n",
+ " c | \n",
+ " n | \n",
+ " k | \n",
+ " e | \n",
+ " ... | \n",
+ " s | \n",
+ " w | \n",
+ " w | \n",
+ " p | \n",
+ " w | \n",
+ " o | \n",
+ " p | \n",
+ " k | \n",
+ " s | \n",
+ " u | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " x | \n",
+ " s | \n",
+ " y | \n",
+ " t | \n",
+ " a | \n",
+ " f | \n",
+ " c | \n",
+ " b | \n",
+ " k | \n",
+ " e | \n",
+ " ... | \n",
+ " s | \n",
+ " w | \n",
+ " w | \n",
+ " p | \n",
+ " w | \n",
+ " o | \n",
+ " p | \n",
+ " n | \n",
+ " n | \n",
+ " g | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " b | \n",
+ " s | \n",
+ " w | \n",
+ " t | \n",
+ " l | \n",
+ " f | \n",
+ " c | \n",
+ " b | \n",
+ " n | \n",
+ " e | \n",
+ " ... | \n",
+ " s | \n",
+ " w | \n",
+ " w | \n",
+ " p | \n",
+ " w | \n",
+ " o | \n",
+ " p | \n",
+ " n | \n",
+ " n | \n",
+ " m | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " x | \n",
+ " y | \n",
+ " w | \n",
+ " t | \n",
+ " p | \n",
+ " f | \n",
+ " c | \n",
+ " n | \n",
+ " n | \n",
+ " e | \n",
+ " ... | \n",
+ " s | \n",
+ " w | \n",
+ " w | \n",
+ " p | \n",
+ " w | \n",
+ " o | \n",
+ " p | \n",
+ " k | \n",
+ " s | \n",
+ " u | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " x | \n",
+ " s | \n",
+ " g | \n",
+ " f | \n",
+ " n | \n",
+ " f | \n",
+ " w | \n",
+ " b | \n",
+ " k | \n",
+ " t | \n",
+ " ... | \n",
+ " s | \n",
+ " w | \n",
+ " w | \n",
+ " p | \n",
+ " w | \n",
+ " o | \n",
+ " e | \n",
+ " n | \n",
+ " a | \n",
+ " g | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 22 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " cap_shape cap_surface cap_color bruises odor gill_attachment gill_spacing \\\n",
+ "0 x s n t p f c \n",
+ "1 x s y t a f c \n",
+ "2 b s w t l f c \n",
+ "3 x y w t p f c \n",
+ "4 x s g f n f w \n",
+ "\n",
+ " gill_size gill_color stalk_shape ... stalk_surface_below_ring \\\n",
+ "0 n k e ... s \n",
+ "1 b k e ... s \n",
+ "2 b n e ... s \n",
+ "3 n n e ... s \n",
+ "4 b k t ... s \n",
+ "\n",
+ " stalk_color_above_ring stalk_color_below_ring veil_type veil_color \\\n",
+ "0 w w p w \n",
+ "1 w w p w \n",
+ "2 w w p w \n",
+ "3 w w p w \n",
+ "4 w w p w \n",
+ "\n",
+ " ring_number ring_type spore-print-color population habitat \n",
+ "0 o p k s u \n",
+ "1 o p n n g \n",
+ "2 o p n n m \n",
+ "3 o p k s u \n",
+ "4 o e n a g \n",
+ "\n",
+ "[5 rows x 22 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "0 p\n",
+ "1 e\n",
+ "2 e\n",
+ "3 p\n",
+ "4 e\n",
+ "Name: class, dtype: category\n",
+ "Categories (2, str): ['e', 'p']"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "class\n",
+ "e 4208\n",
+ "p 3916\n",
+ "Name: count, dtype: int64\n"
]
}
],
"source": [
- "import pandas as pd\n",
- "import sklearn\n",
- "import shap\n",
- "import xgboost\n",
+ "from sklearn.datasets import fetch_openml\n",
"\n",
- "print(\"Notebook is ready\")"
+ "mushroom = fetch_openml(data_id=43922, as_frame=True)\n",
+ "\n",
+ "X = mushroom.data\n",
+ "y = mushroom.target\n",
+ "\n",
+ "print(\"Feature data:\", X.shape)\n",
+ "print(\"Target data:\", y.shape)\n",
+ "display(X.head())\n",
+ "display(y.head())\n",
+ "print(y.value_counts())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "69e1a254",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Missing cells: 0\n",
+ "Rows with missing cells: 0\n",
+ "stalk_root\n",
+ "b 3776\n",
+ "? 2480\n",
+ "e 1120\n",
+ "c 556\n",
+ "r 192\n",
+ "Name: count, dtype: int64\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"Missing cells:\", X.isna().sum().sum())\n",
+ "print(\"Rows with missing cells:\", X.isna().any(axis=1).sum())\n",
+ "print(X[\"stalk_root\"].value_counts(dropna=False))"
]
}
],