{ "cells": [ { "cell_type": "markdown", "metadata": { "cell_id": "3fbc88f148b34ae4ae03e28a0092f696", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "# Week 8 Wednesday" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "aed216c6bfb74c8589e096aefd583b6e", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Announcements\n", "\n", "* This week's videos posted (due Friday before lecture).\n", "* No discussion section until the strike is resolved.\n", "* If you weren't able to get the pickle file from Worksheet 12 submitted, include a link to your Deepnote notebook as a comment on the Canvas Worksheet 12 assignment (be sure to change the sharing options so I can see your Worksheet 12) and I will try to give partial credit.\n", "* I have office hours today (Wednesday) at 1pm in my office, RH 440J.\n", "* Course project instructions have been added to the [course notes](https://christopherdavisuci.github.io/UCI-Math-10-F22/Proj/CourseProject.html). A \"warm-up\" homework for the course project is Worksheet 16, posted in the Week 9 folder." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "512439688dd24624a6fe75f92c94cdba", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Rough plan for the next few classes:\n", "\n", "Very subject to change.\n", "\n", "* Week 8 Wednesday (today): The U-shaped test error curve\n", "* Week 8 Friday: More on decision trees. (I probably have too much planned for today, so we can catch up on Friday.)\n", "* Week 9 Monday: Random forests (ensembles of decision trees)\n", "* Week 9 Wednesday: Introduction to the course project" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "12d7adec0b5a4ae1a5fcc6b2f47bee2f", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Loading the iris dataset\n", "\n", "The iris dataset (also available from Seaborn) is smaller than most of the datasets we work with in Math 10 (it only contains 150 rows/observations/data points). But it is one of the most classic datasets in Machine Learning, so we should see it at some point." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cell_id": "ad060fce9de0420da351b1e0427774df", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 2230, "execution_start": 1668621351436, "source_hash": "22fa9960", "tags": [] }, "outputs": [], "source": [ "import pandas as pd\n", "import seaborn as sns\n", "import altair as alt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "cell_id": "972022c8e1e447b592e648e2f997b9aa", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 303, "execution_start": 1668621803112, "source_hash": "a47677b0", "tags": [] }, "outputs": [], "source": [ "df = sns.load_dataset(\"iris\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "cell_id": "1928dc1e40d7429c916648df05a4be4f", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 30, "execution_start": 1668621806184, "source_hash": "c085b6ba", "tags": [] }, "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", "
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa
\n", "
" ], "text/plain": [ " sepal_length sepal_width petal_length petal_width species\n", "0 5.1 3.5 1.4 0.2 setosa\n", "1 4.9 3.0 1.4 0.2 setosa\n", "2 4.7 3.2 1.3 0.2 setosa\n", "3 4.6 3.1 1.5 0.2 setosa\n", "4 5.0 3.6 1.4 0.2 setosa" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "8c6b7713d56d46a1bfa456c568dbffe3", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Splitting the data into a training set and a test set" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "cell_id": "ab6ad3bd1deb4310a352d9db1a290648", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 249, "execution_start": 1668621826231, "source_hash": "746a4dbc", "tags": [] }, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "5fb8c75a51424832bdbde353635a4f07", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* Use `train_test_split` to divide the iris data into a training set and a test set. Use 80% of the rows for the training data, and specify `random_state=2`.\n", "* On Monday, we made `X_train, X_test, y_train, y_test`. This time we will just make `df_train` and `df_test` (so the input features and the target are not separated yet)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "cell_id": "190b403d2a864212b186ab06e15f2413", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 3, "execution_start": 1668621952106, "source_hash": "9974d74e", "tags": [] }, "outputs": [], "source": [ "df_train, df_test = train_test_split(df, train_size=0.8, random_state=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The resulting training DataFrame is definitely not just the first 80% of rows. In fact, the order of the rows is also scrambled. Here are the first 3 rows in the training DataFrame." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "cell_id": "9004a21900f5472888202ccf518995e4", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 244, "execution_start": 1668621957560, "source_hash": "4fc278fa", "tags": [] }, "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
1266.22.84.81.8virginica
235.13.31.70.5setosa
645.62.93.61.3versicolor
\n", "
" ], "text/plain": [ " sepal_length sepal_width petal_length petal_width species\n", "126 6.2 2.8 4.8 1.8 virginica\n", "23 5.1 3.3 1.7 0.5 setosa\n", "64 5.6 2.9 3.6 1.3 versicolor" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_train.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reason we divide into a training set and a test set is that can help us detect overfitting. In short, if the Machine Learning model performs much better on the training set than on the test set, that is strong evidence of overfitting.\n", "\n", "There was a question of what \"much better\" performance means, and in most scenarios I believe this is more art than science, but here is a picture of the general phenomenon. This picture is taken from the great textbook (freely available on campus via SpringerLink) [Introduction to Statistical Learning](https://link.springer.com/book/10.1007/978-1-4614-7138-7).\n", "\n", "![U-shaped test error curve](../images/Ushape-test-error.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is the image on the right that you should pay attention to. That image is for Mean Squared Error, but any error function (cost function, loss function) would work just as well. We generally start with a less flexible model (in polynomial regression, this means lower degree; in decision trees, this means fewer leaves). As we make the model more flexible, the performance on the training set will always improve (the error will decrease). Typically the test error curve also begins to decrease, but eventually, once overfitting starts, the test error will start to increase again. The resulting curve is called the \"U-shaped test error\" curve. We will see examples of this phenomenon in Worksheet 14 and also in class on Friday." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "9bf5fc7f373147d09f7368fa0846d1a0", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Visualizing how a decision tree splits the data" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "1f93403efc1d4eb3acfcc50801f04f2b", "deepnote_cell_type": "markdown", "deepnote_to_be_reexecuted": false, "execution_millis": 1, "execution_start": 1668569117379, "source_hash": "d28a56d5", "tags": [] }, "source": [ "Our goal is to divide the iris data by species.\n", "\n", "* First we will divide by petal length.\n", "* Then we will divide by petal width.\n", "* Where would you make these divisions?\n", "\n", "Use the following to visualize the data:\n", "```\n", "alt.Chart(???not df).mark_circle(size=50, opacity=1).encode(\n", " x=\"petal_length\",\n", " y=\"petal_width\",\n", " color=alt.Color(\"species\", scale=alt.Scale(domain=[\"versicolor\", \"setosa\", \"virginica\"])),\n", ")\n", "```" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "cell_id": "630d8618b4144d469525a59f39812158", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 34, "execution_start": 1668622471349, "source_hash": "693093f6", "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.Chart(...)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alt.Chart(df_train).mark_circle(size=50, opacity=1).encode(\n", " x=\"petal_length\",\n", " y=\"petal_width\",\n", " color=alt.Color(\"species\", scale=alt.Scale(domain=[\"versicolor\", \"setosa\", \"virginica\"])),\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I think dividing the region at petal_length 2.5 or petal_width 0.7 would be equally reasonable. We have been told the first division should happen by petal length. This initial division perfectly separates the setosa flowers from the other two species. The next division we are told should be by petal width. A division around 1.7 seems to do a good job (but not a perfect job) dividing the versicolor flowers from the virginica flowers." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "fbc738091f4e43cbb70e2d5844c3424c", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* How many \"leaves\" will the corresponding decision tree have?\n", "\n", "The answer is three. We initially divide the region in half vertically, and then we divide the right-half region again in half horizontally." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "8d6a9188c8fb446ca0e3875070aba53f", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## A Decision tree with two splits\n", "\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "cell_id": "8f2d51ffe07047168cea3a5cbbeca0af", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 185, "execution_start": 1668622713603, "source_hash": "2d922c1a", "tags": [] }, "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "from sklearn.tree import DecisionTreeClassifier, plot_tree\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "803584bd003d4f60a4818bc2c5fda8b9", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* Create an instance of a `DecisionTreeClassifier` with `max_leaf_nodes` as above. Specify `random_state=1` (which will help me know that the first split happens on \"petal_length\"... if it doesn't work, try some other values of `random_state`).\n", "* Fit the classifier to the training data using `cols = [\"petal_length\", \"petal_width\", \"sepal_length\"]` for the input features and using `\"species\"` for the target." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "cell_id": "adc3f1b9850444a897196fcae9ede9f7", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 3, "execution_start": 1668622720916, "source_hash": "a65b6797", "tags": [] }, "outputs": [], "source": [ "cols = [\"petal_length\", \"petal_width\", \"sepal_length\"]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "cell_id": "e6d9179fce8a46a0b0c7d4faed7da4e7", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 0, "execution_start": 1668622787959, "source_hash": "d45611cc", "tags": [] }, "outputs": [], "source": [ "clf = DecisionTreeClassifier(max_leaf_nodes=3, random_state=1)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "cell_id": "aa48ccbe06e4483f87b6dbe176cd4235", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 8, "execution_start": 1668622833918, "source_hash": "3d265dc1", "tags": [] }, "outputs": [ { "data": { "text/html": [ "
DecisionTreeClassifier(max_leaf_nodes=3, random_state=1)
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": [ "DecisionTreeClassifier(max_leaf_nodes=3, random_state=1)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.fit(df_train[cols], df_train[\"species\"])" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "069ac91ea49c4081a62d695705cbf248", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* Illustrate the resulting tree using the following.\n", "* Does it match what we expected from the Altair chart?\n", "```\n", "fig = plt.figure()\n", "_ = plot_tree(clf, \n", " feature_names=clf.feature_names_in_,\n", " class_names=clf.classes_,\n", " filled=True)\n", "```" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "cell_id": "2ad9d4f50ae74448bcd93229e3e5086f", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 469, "execution_start": 1668622846146, "source_hash": "b6c04216", "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "_ = plot_tree(clf, \n", " feature_names=clf.feature_names_in_,\n", " class_names=clf.classes_,\n", " filled=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how these values 2.35 and 1.65 closely match what we saw above. Also notice how the setosa flowers are perfectly separated (that corresponds to the `value = [36, 0, 0]` report, whereas there is some overlap in the other two species. If you look back up to the Altair chart, it should seem plausible that the lower-right region (where petal length is greater than 2.35 and where petal width is less than or equal to 1.65) contains exactly 3 of the virginica species. That is represented in the `value = [0, 41, 3]`. The classes are (I believe) always listed in alphabetical order, but if you want to check it, you can also call `clf.classes_`." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "3f8957d7b6644fe2b781f1d71cb38df8", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* What is the depth of the corresponding tree? We can answer by looking at the diagram, or by using the `get_depth` method." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "cell_id": "44f13db53e614ac8ae7fdc6242bfdcfa", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 923, "execution_start": 1668623103860, "source_hash": "77dd3aaa", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.get_depth()" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "363df2fcbaca456cb7cd94c26f138868", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* What are the corresponding feature importances? Use the `feature_importances_` attribute." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "cell_id": "055547e8c7e2476390c72c23c761a39e", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 6, "execution_start": 1668623168592, "source_hash": "c85582bc", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([0.52311757, 0.47688243, 0. ])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.feature_importances_" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "cell_id": "d7b5102e6768486cbbf6b9cefa53a396", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 7, "execution_start": 1668623189658, "source_hash": "b515fe8b", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "0 0.523118\n", "1 0.476882\n", "2 0.000000\n", "dtype: float64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.Series(clf.feature_importances_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we use the `feature_names_in_` attribute to know which number corresponds to which column. I don't know exactly what these numbers 0.523 and 0.477 represent, but higher values means more important (for the decision tree). The 0 value for sepal_length makes sense, because our small decision tree (which only had two splits) never used the sepal length value." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "cell_id": "389b51fcd04642e294cfe67d4a8a91aa", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 213, "execution_start": 1668623225100, "source_hash": "89e1305f", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "petal_length 0.523118\n", "petal_width 0.476882\n", "sepal_length 0.000000\n", "dtype: float64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.Series(clf.feature_importances_, index=clf.feature_names_in_)" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "b714c6b0899f43b5973abac694a2df97", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## Predictions and predicted probabilities\n", "\n", "* What species will be predicted for an iris with the following (physically impossible) values?\n", "```\n", "{\"petal_length\": 4, \"petal_width\": -5, \"sepal_length\": 3}\n", "```\n", "* What are the corresponding predicted probabilities?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how we have to add square brackets around the dictionary; this is like telling pandas that it will be a one-row DataFrame (because the list has only one dictionary in it)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "cell_id": "6b0e68b30cd348c7ac4c74e31d8f71c5", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 839, "execution_start": 1668623537442, "source_hash": "e8bfc735", "tags": [] }, "outputs": [ { "data": { "application/vnd.deepnote.dataframe.v3+json": { "column_count": 3, "columns": [ { "dtype": "int64", "name": "petal_length", "stats": { "histogram": [ { "bin_end": 3.6, "bin_start": 3.5, "count": 0 }, { "bin_end": 3.7, "bin_start": 3.6, "count": 0 }, { "bin_end": 3.8, "bin_start": 3.7, "count": 0 }, { "bin_end": 3.9, "bin_start": 3.8, "count": 0 }, { "bin_end": 4, "bin_start": 3.9, "count": 0 }, { "bin_end": 4.1, "bin_start": 4, "count": 1 }, { "bin_end": 4.2, "bin_start": 4.1, "count": 0 }, { "bin_end": 4.3, "bin_start": 4.2, "count": 0 }, { "bin_end": 4.4, "bin_start": 4.3, "count": 0 }, { "bin_end": 4.5, "bin_start": 4.4, "count": 0 } ], "max": "4", "min": "4", "nan_count": 0, "unique_count": 1 } }, { "dtype": "int64", "name": "petal_width", "stats": { "histogram": [ { "bin_end": -5.4, "bin_start": -5.5, "count": 0 }, { "bin_end": -5.3, "bin_start": -5.4, "count": 0 }, { "bin_end": -5.2, "bin_start": -5.3, "count": 0 }, { "bin_end": -5.1, "bin_start": -5.2, "count": 0 }, { "bin_end": -5, "bin_start": -5.1, "count": 0 }, { "bin_end": -4.9, "bin_start": -5, "count": 1 }, { "bin_end": -4.8, "bin_start": -4.9, "count": 0 }, { "bin_end": -4.7, "bin_start": -4.8, "count": 0 }, { "bin_end": -4.6, "bin_start": -4.7, "count": 0 }, { "bin_end": -4.5, "bin_start": -4.6, "count": 0 } ], "max": "-5", "min": "-5", "nan_count": 0, "unique_count": 1 } }, { "dtype": "int64", "name": "sepal_length", "stats": { "histogram": [ { "bin_end": 2.6, "bin_start": 2.5, "count": 0 }, { "bin_end": 2.7, "bin_start": 2.6, "count": 0 }, { "bin_end": 2.8, "bin_start": 2.7, "count": 0 }, { "bin_end": 2.9, "bin_start": 2.8, "count": 0 }, { "bin_end": 3, "bin_start": 2.9, "count": 0 }, { "bin_end": 3.1, "bin_start": 3, "count": 1 }, { "bin_end": 3.2, "bin_start": 3.1, "count": 0 }, { "bin_end": 3.3, "bin_start": 3.2, "count": 0 }, { "bin_end": 3.4, "bin_start": 3.3, "count": 0 }, { "bin_end": 3.5, "bin_start": 3.4, "count": 0 } ], "max": "3", "min": "3", "nan_count": 0, "unique_count": 1 } }, { "dtype": "int64", "name": "_deepnote_index_column" } ], "row_count": 1, "rows": [ { "_deepnote_index_column": "0", "petal_length": "4", "petal_width": "-5", "sepal_length": "3" } ] }, "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
petal_lengthpetal_widthsepal_length
04-53
\n", "
" ], "text/plain": [ " petal_length petal_width sepal_length\n", "0 4 -5 3" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_mini = pd.DataFrame([{\"petal_length\": 4, \"petal_width\": -5, \"sepal_length\": 3}])\n", "df_mini" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even though this flower does not exist in real life (for example because of the -5 value), the classifier has no trouble evaluating it. Because the petal length value is greater than 2.35 and the petal width value is less than 1.65, we are in the exact same lower-right region we were discussing above, which corresponded to a *versicolor* prediction." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "cell_id": "5355f84a04a64057928b1e91c844f9a2", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 6, "execution_start": 1668623598908, "source_hash": "50bd758f", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['versicolor'], dtype=object)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.predict(df_mini)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a more refined prediction, we can get predicted probabilities, rather than just the final answer. The classes will be listed in alphabetical order." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "cell_id": "d944de8bc0464761a5dc41730d730d3b", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 525, "execution_start": 1668623624998, "source_hash": "c1a71e1", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['setosa', 'versicolor', 'virginica'], dtype=object)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.classes_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So our classifier thinks there is a 93.2% chance that our flower is in the versicolor species." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "cell_id": "1a15dc9da0ec4bac87e185d3a9ff36df", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 20, "execution_start": 1668623613054, "source_hash": "9501f8ec", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array([[0. , 0.93181818, 0.06818182]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.predict_proba(df_mini)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where did those numbers come from? Remember that our lower-right region contained 41 versicolor flowers, 3 virginica flowers, and 0 setosa flowers. For example, that 93.2% corresponds to the probability 41/(0+41+3)." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "cell_id": "a6e9cc14c1b14ce2be29c7872e3caa2a", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 205, "execution_start": 1668623691100, "source_hash": "d1494f49", "tags": [] }, "outputs": [ { "data": { "text/plain": [ "0.9318181818181818" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "41/44" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We didn't get to the following. We will either start there or start with a similar example of the U-shaped test error curve on Friday." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "a266697f8918493b810d73e8abb54874", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "## The U-shaped test error curve\n", "\n", "We haven't used `df_test` yet. Here we will. We will use a loss function that is commonly used for classification problems, **log loss** (also called **cross entropy**). If you want to see the mathematical description, I have it in the [Spring 2022 course notes](https://christopherdavisuci.github.io/UCI-Math-10-S22/Week9/Week9-Monday.html#a-loss-function-for-classification), but for us the most important thing is that lower values are better (as with Mean Squared Error and Mean Absolute Error) and that this is a loss function for classification (not for regression)." ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "cell_id": "f0e1e33b0278402ba40244da45e7d1cf", "deepnote_cell_type": "code", "deepnote_to_be_reexecuted": false, "execution_millis": 1, "execution_start": 1668608092942, "source_hash": "1e40b449", "tags": [] }, "outputs": [], "source": [ "from sklearn.metrics import log_loss" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "fc160db9396642b7ace57b2a308b1de0", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* Define two empty dictionaries, `train_dict` and `test_dict`.\n", "\n", "For each integer value of `n` from `2` to `9` (inclusive), do the following. \n", "* Instantiate a new `DecisionTreeClassifier` using `max_leaf_nodes` as `n` and using `random_state=1`.\n", "* Fit the regressor using `df_train[cols]` and `df_train[\"species\"]`.\n", "* Using `log_loss` from `sklearn.metrics`, evaluate the log loss (error) between `df_train[\"species\"]` and the predicted probabilities. (These two objects need to be input to `log_loss` in that order, with the true values first, followed by the predicted probabilities.) Put this error as a value into the `train_dict` dictionary with the key `n`.\n", "* Do the same thing with `df_test` and `test_dict`." ] }, { "cell_type": "markdown", "metadata": { "cell_id": "b899fe00e290410ca9a168e1999ac005", "deepnote_cell_type": "markdown", "tags": [] }, "source": [ "* How do the values in `train_dict` and `test_dict` compare?\n", "* At what point does the classifier seem to begin overfitting the data?" ] } ], "metadata": { "deepnote": {}, "deepnote_execution_queue": [], "deepnote_notebook_id": "1cc2bdb3841f457ba7ebf401214794ca", "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.13" } }, "nbformat": 4, "nbformat_minor": 4 }