diff --git a/02_activities/assignments/assignment_1.ipynb b/02_activities/assignments/assignment_1.ipynb
index 28d4df017..d8e419587 100644
--- a/02_activities/assignments/assignment_1.ipynb
+++ b/02_activities/assignments/assignment_1.ipynb
@@ -34,10 +34,18 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"id": "4a3485d6-ba58-4660-a983-5680821c5719",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Matplotlib is building the font cache; this may take a moment.\n"
+ ]
+ }
+ ],
"source": [
"# Import standard libraries\n",
"import pandas as pd\n",
@@ -56,10 +64,288 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"id": "a431d282-f9ca-4d5d-8912-71ffc9d8ea19",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " alcohol | \n",
+ " malic_acid | \n",
+ " ash | \n",
+ " alcalinity_of_ash | \n",
+ " magnesium | \n",
+ " total_phenols | \n",
+ " flavanoids | \n",
+ " nonflavanoid_phenols | \n",
+ " proanthocyanins | \n",
+ " color_intensity | \n",
+ " hue | \n",
+ " od280/od315_of_diluted_wines | \n",
+ " proline | \n",
+ " class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 14.23 | \n",
+ " 1.71 | \n",
+ " 2.43 | \n",
+ " 15.6 | \n",
+ " 127.0 | \n",
+ " 2.80 | \n",
+ " 3.06 | \n",
+ " 0.28 | \n",
+ " 2.29 | \n",
+ " 5.64 | \n",
+ " 1.04 | \n",
+ " 3.92 | \n",
+ " 1065.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 13.20 | \n",
+ " 1.78 | \n",
+ " 2.14 | \n",
+ " 11.2 | \n",
+ " 100.0 | \n",
+ " 2.65 | \n",
+ " 2.76 | \n",
+ " 0.26 | \n",
+ " 1.28 | \n",
+ " 4.38 | \n",
+ " 1.05 | \n",
+ " 3.40 | \n",
+ " 1050.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 13.16 | \n",
+ " 2.36 | \n",
+ " 2.67 | \n",
+ " 18.6 | \n",
+ " 101.0 | \n",
+ " 2.80 | \n",
+ " 3.24 | \n",
+ " 0.30 | \n",
+ " 2.81 | \n",
+ " 5.68 | \n",
+ " 1.03 | \n",
+ " 3.17 | \n",
+ " 1185.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 14.37 | \n",
+ " 1.95 | \n",
+ " 2.50 | \n",
+ " 16.8 | \n",
+ " 113.0 | \n",
+ " 3.85 | \n",
+ " 3.49 | \n",
+ " 0.24 | \n",
+ " 2.18 | \n",
+ " 7.80 | \n",
+ " 0.86 | \n",
+ " 3.45 | \n",
+ " 1480.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 13.24 | \n",
+ " 2.59 | \n",
+ " 2.87 | \n",
+ " 21.0 | \n",
+ " 118.0 | \n",
+ " 2.80 | \n",
+ " 2.69 | \n",
+ " 0.39 | \n",
+ " 1.82 | \n",
+ " 4.32 | \n",
+ " 1.04 | \n",
+ " 2.93 | \n",
+ " 735.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 173 | \n",
+ " 13.71 | \n",
+ " 5.65 | \n",
+ " 2.45 | \n",
+ " 20.5 | \n",
+ " 95.0 | \n",
+ " 1.68 | \n",
+ " 0.61 | \n",
+ " 0.52 | \n",
+ " 1.06 | \n",
+ " 7.70 | \n",
+ " 0.64 | \n",
+ " 1.74 | \n",
+ " 740.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 174 | \n",
+ " 13.40 | \n",
+ " 3.91 | \n",
+ " 2.48 | \n",
+ " 23.0 | \n",
+ " 102.0 | \n",
+ " 1.80 | \n",
+ " 0.75 | \n",
+ " 0.43 | \n",
+ " 1.41 | \n",
+ " 7.30 | \n",
+ " 0.70 | \n",
+ " 1.56 | \n",
+ " 750.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 175 | \n",
+ " 13.27 | \n",
+ " 4.28 | \n",
+ " 2.26 | \n",
+ " 20.0 | \n",
+ " 120.0 | \n",
+ " 1.59 | \n",
+ " 0.69 | \n",
+ " 0.43 | \n",
+ " 1.35 | \n",
+ " 10.20 | \n",
+ " 0.59 | \n",
+ " 1.56 | \n",
+ " 835.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 176 | \n",
+ " 13.17 | \n",
+ " 2.59 | \n",
+ " 2.37 | \n",
+ " 20.0 | \n",
+ " 120.0 | \n",
+ " 1.65 | \n",
+ " 0.68 | \n",
+ " 0.53 | \n",
+ " 1.46 | \n",
+ " 9.30 | \n",
+ " 0.60 | \n",
+ " 1.62 | \n",
+ " 840.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 177 | \n",
+ " 14.13 | \n",
+ " 4.10 | \n",
+ " 2.74 | \n",
+ " 24.5 | \n",
+ " 96.0 | \n",
+ " 2.05 | \n",
+ " 0.76 | \n",
+ " 0.56 | \n",
+ " 1.35 | \n",
+ " 9.20 | \n",
+ " 0.61 | \n",
+ " 1.60 | \n",
+ " 560.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
178 rows × 14 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols \\\n",
+ "0 14.23 1.71 2.43 15.6 127.0 2.80 \n",
+ "1 13.20 1.78 2.14 11.2 100.0 2.65 \n",
+ "2 13.16 2.36 2.67 18.6 101.0 2.80 \n",
+ "3 14.37 1.95 2.50 16.8 113.0 3.85 \n",
+ "4 13.24 2.59 2.87 21.0 118.0 2.80 \n",
+ ".. ... ... ... ... ... ... \n",
+ "173 13.71 5.65 2.45 20.5 95.0 1.68 \n",
+ "174 13.40 3.91 2.48 23.0 102.0 1.80 \n",
+ "175 13.27 4.28 2.26 20.0 120.0 1.59 \n",
+ "176 13.17 2.59 2.37 20.0 120.0 1.65 \n",
+ "177 14.13 4.10 2.74 24.5 96.0 2.05 \n",
+ "\n",
+ " flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue \\\n",
+ "0 3.06 0.28 2.29 5.64 1.04 \n",
+ "1 2.76 0.26 1.28 4.38 1.05 \n",
+ "2 3.24 0.30 2.81 5.68 1.03 \n",
+ "3 3.49 0.24 2.18 7.80 0.86 \n",
+ "4 2.69 0.39 1.82 4.32 1.04 \n",
+ ".. ... ... ... ... ... \n",
+ "173 0.61 0.52 1.06 7.70 0.64 \n",
+ "174 0.75 0.43 1.41 7.30 0.70 \n",
+ "175 0.69 0.43 1.35 10.20 0.59 \n",
+ "176 0.68 0.53 1.46 9.30 0.60 \n",
+ "177 0.76 0.56 1.35 9.20 0.61 \n",
+ "\n",
+ " od280/od315_of_diluted_wines proline class \n",
+ "0 3.92 1065.0 0 \n",
+ "1 3.40 1050.0 0 \n",
+ "2 3.17 1185.0 0 \n",
+ "3 3.45 1480.0 0 \n",
+ "4 2.93 735.0 0 \n",
+ ".. ... ... ... \n",
+ "173 1.74 740.0 2 \n",
+ "174 1.56 750.0 2 \n",
+ "175 1.56 835.0 2 \n",
+ "176 1.62 840.0 2 \n",
+ "177 1.60 560.0 2 \n",
+ "\n",
+ "[178 rows x 14 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"from sklearn.datasets import load_wine\n",
"\n",
@@ -96,7 +382,7 @@
"metadata": {},
"outputs": [],
"source": [
- "# Your answer here"
+ "# 178 rows × 14 columns"
]
},
{
@@ -109,12 +395,23 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 11,
"id": "df0ef103",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "14"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your answer here"
+ "14 "
]
},
{
@@ -127,12 +424,40 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"id": "47989426",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 178 entries, 0 to 177\n",
+ "Data columns (total 14 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 alcohol 178 non-null float64\n",
+ " 1 malic_acid 178 non-null float64\n",
+ " 2 ash 178 non-null float64\n",
+ " 3 alcalinity_of_ash 178 non-null float64\n",
+ " 4 magnesium 178 non-null float64\n",
+ " 5 total_phenols 178 non-null float64\n",
+ " 6 flavanoids 178 non-null float64\n",
+ " 7 nonflavanoid_phenols 178 non-null float64\n",
+ " 8 proanthocyanins 178 non-null float64\n",
+ " 9 color_intensity 178 non-null float64\n",
+ " 10 hue 178 non-null float64\n",
+ " 11 od280/od315_of_diluted_wines 178 non-null float64\n",
+ " 12 proline 178 non-null float64\n",
+ " 13 class 178 non-null int64 \n",
+ "dtypes: float64(13), int64(1)\n",
+ "memory usage: 19.6 KB\n"
+ ]
+ }
+ ],
"source": [
- "# Your answer here"
+ "wine_df.info()"
]
},
{
@@ -146,12 +471,23 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"id": "bd7b0910",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "178"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your answer here"
+ "178 "
]
},
{
@@ -175,10 +511,37 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 8,
"id": "cc899b59",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " alcohol malic_acid ash alcalinity_of_ash magnesium \\\n",
+ "0 1.518613 -0.562250 0.232053 -1.169593 1.913905 \n",
+ "1 0.246290 -0.499413 -0.827996 -2.490847 0.018145 \n",
+ "2 0.196879 0.021231 1.109334 -0.268738 0.088358 \n",
+ "3 1.691550 -0.346811 0.487926 -0.809251 0.930918 \n",
+ "4 0.295700 0.227694 1.840403 0.451946 1.281985 \n",
+ "\n",
+ " total_phenols flavanoids nonflavanoid_phenols proanthocyanins \\\n",
+ "0 0.808997 1.034819 -0.659563 1.224884 \n",
+ "1 0.568648 0.733629 -0.820719 -0.544721 \n",
+ "2 0.808997 1.215533 -0.498407 2.135968 \n",
+ "3 2.491446 1.466525 -0.981875 1.032155 \n",
+ "4 0.808997 0.663351 0.226796 0.401404 \n",
+ "\n",
+ " color_intensity hue od280/od315_of_diluted_wines proline \n",
+ "0 0.251717 0.362177 1.847920 1.013009 \n",
+ "1 -0.293321 0.406051 1.113449 0.965242 \n",
+ "2 0.269020 0.318304 0.788587 1.395148 \n",
+ "3 1.186068 -0.427544 1.184071 2.334574 \n",
+ "4 -0.319276 0.362177 0.449601 -0.037874 \n"
+ ]
+ }
+ ],
"source": [
"# Select predictors (excluding the last column)\n",
"predictors = wine_df.iloc[:, :-1]\n",
@@ -204,7 +567,7 @@
"id": "403ef0bb",
"metadata": {},
"source": [
- "> Your answer here..."
+ "It is important to standardize the predictor variables because the dataset have to be on the same scale. Differences in scale can disproportionately affect machine learning models that rely on distance metrics (For example K-Nearest Neighbors). We use the `StandardScaler()` function in the sklearn.preprocessing module for this.> Your answer here..."
]
},
{
@@ -220,7 +583,7 @@
"id": "fdee5a15",
"metadata": {},
"source": [
- "> Your answer here..."
+ "We do not standardize our response variable class because this is our target variable and it is a categorical variable with distinct wine types> Your answer here..."
]
},
{
@@ -236,7 +599,7 @@
"id": "f0676c21",
"metadata": {},
"source": [
- "> Your answer here..."
+ "> The `np.random.seed()` function is used to control the randomness in the code. Usually, when we generate random numbers, they change every time we run the code. By setting a \"seed\" with `np.random.seed()`, we make sure the random numbers stay the same each time it is run. This is useful in getting consistent results for testing, comparisons or for reproducibility."
]
},
{
@@ -251,7 +614,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 13,
"id": "72c101f2",
"metadata": {},
"outputs": [],
@@ -261,7 +624,13 @@
"\n",
"# split the data into a training and testing set. hint: use train_test_split !\n",
"\n",
- "# Your code here ..."
+ "# split predictors and response, then create non-overlapping training and testing sets\n",
+ "X = predictors_standardized # standardized predictors\n",
+ "y = wine_df['class'] # response variable\n",
+ "\n",
+ "X_train, X_test, y_train, y_test = train_test_split(\n",
+ " X, y, train_size=0.75, stratify=y, random_state=123\n",
+ ")"
]
},
{
@@ -284,12 +653,1519 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 14,
"id": "08818c64",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Best number of neighbors: 7\n",
+ "Best cross-validation accuracy: 0.9775\n"
+ ]
+ }
+ ],
"source": [
- "# Your code here..."
+ "# Step 1: Initialize the KNN classifier\n",
+ "knn = KNeighborsClassifier()\n",
+ "\n",
+ "# Step 2: Define parameter grid for n_neighbors from 1 to 50\n",
+ "parameter_grid = {'n_neighbors': range(1, 51)}\n",
+ "\n",
+ "# Step 3: Set up GridSearchCV with 10-fold cross-validation\n",
+ "wine_tune_grid = GridSearchCV(\n",
+ " estimator=knn,\n",
+ " param_grid=parameter_grid,\n",
+ " cv=10,\n",
+ " scoring='accuracy'\n",
+ ")\n",
+ "\n",
+ "# Fit the grid search on training data\n",
+ "wine_tune_grid.fit(X_train, y_train)\n",
+ "\n",
+ "# Step 4: Get the best n_neighbors value\n",
+ "best_knn = wine_tune_grid.best_params_['n_neighbors']\n",
+ "print(f\"Best number of neighbors: {best_knn}\")\n",
+ "print(f\"Best cross-validation accuracy: {wine_tune_grid.best_score_:.4f}\")\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "776a7fb4",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " mean_fit_time | \n",
+ " std_fit_time | \n",
+ " mean_score_time | \n",
+ " std_score_time | \n",
+ " param_n_neighbors | \n",
+ " params | \n",
+ " split0_test_score | \n",
+ " split1_test_score | \n",
+ " split2_test_score | \n",
+ " split3_test_score | \n",
+ " split4_test_score | \n",
+ " split5_test_score | \n",
+ " split6_test_score | \n",
+ " split7_test_score | \n",
+ " split8_test_score | \n",
+ " split9_test_score | \n",
+ " mean_test_score | \n",
+ " std_test_score | \n",
+ " rank_test_score | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0.021800 | \n",
+ " 0.043165 | \n",
+ " 0.031801 | \n",
+ " 0.056282 | \n",
+ " 1 | \n",
+ " {'n_neighbors': 1} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.692308 | \n",
+ " 1.000000 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954396 | \n",
+ " 0.092139 | \n",
+ " 39 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0.006798 | \n",
+ " 0.002714 | \n",
+ " 0.010399 | \n",
+ " 0.004695 | \n",
+ " 2 | \n",
+ " {'n_neighbors': 2} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.692308 | \n",
+ " 1.000000 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.939011 | \n",
+ " 0.089628 | \n",
+ " 50 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0.017497 | \n",
+ " 0.010658 | \n",
+ " 0.022301 | \n",
+ " 0.008462 | \n",
+ " 3 | \n",
+ " {'n_neighbors': 3} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 1.000000 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.962088 | \n",
+ " 0.051217 | \n",
+ " 28 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0.007001 | \n",
+ " 0.007098 | \n",
+ " 0.011100 | \n",
+ " 0.003588 | \n",
+ " 4 | \n",
+ " {'n_neighbors': 4} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.954945 | \n",
+ " 0.050406 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0.008801 | \n",
+ " 0.004646 | \n",
+ " 0.011598 | \n",
+ " 0.005935 | \n",
+ " 5 | \n",
+ " {'n_neighbors': 5} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.969780 | \n",
+ " 0.037042 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 0.004500 | \n",
+ " 0.001748 | \n",
+ " 0.007800 | \n",
+ " 0.001942 | \n",
+ " 6 | \n",
+ " {'n_neighbors': 6} | \n",
+ " 0.928571 | \n",
+ " 1.000000 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.969780 | \n",
+ " 0.037042 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 0.004700 | \n",
+ " 0.001737 | \n",
+ " 0.006799 | \n",
+ " 0.001538 | \n",
+ " 7 | \n",
+ " {'n_neighbors': 7} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.977473 | \n",
+ " 0.034441 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 0.004499 | \n",
+ " 0.001747 | \n",
+ " 0.007400 | \n",
+ " 0.001857 | \n",
+ " 8 | \n",
+ " {'n_neighbors': 8} | \n",
+ " 0.928571 | \n",
+ " 1.000000 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.954396 | \n",
+ " 0.050719 | \n",
+ " 39 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 0.004598 | \n",
+ " 0.001202 | \n",
+ " 0.010200 | \n",
+ " 0.009217 | \n",
+ " 9 | \n",
+ " {'n_neighbors': 9} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.969780 | \n",
+ " 0.037042 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 0.004199 | \n",
+ " 0.001601 | \n",
+ " 0.007302 | \n",
+ " 0.002150 | \n",
+ " 10 | \n",
+ " {'n_neighbors': 10} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.954396 | \n",
+ " 0.050719 | \n",
+ " 39 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 0.004603 | \n",
+ " 0.001497 | \n",
+ " 0.007497 | \n",
+ " 0.002374 | \n",
+ " 11 | \n",
+ " {'n_neighbors': 11} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 0.003999 | \n",
+ " 0.001342 | \n",
+ " 0.007203 | \n",
+ " 0.001601 | \n",
+ " 12 | \n",
+ " {'n_neighbors': 12} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.969780 | \n",
+ " 0.037042 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 0.004499 | \n",
+ " 0.001360 | \n",
+ " 0.007300 | \n",
+ " 0.002193 | \n",
+ " 13 | \n",
+ " {'n_neighbors': 13} | \n",
+ " 1.000000 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.977473 | \n",
+ " 0.034441 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 0.004799 | \n",
+ " 0.001604 | \n",
+ " 0.006999 | \n",
+ " 0.001950 | \n",
+ " 14 | \n",
+ " {'n_neighbors': 14} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 0.006503 | \n",
+ " 0.005084 | \n",
+ " 0.007398 | \n",
+ " 0.002653 | \n",
+ " 15 | \n",
+ " {'n_neighbors': 15} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 0.004099 | \n",
+ " 0.001516 | \n",
+ " 0.007801 | \n",
+ " 0.002229 | \n",
+ " 16 | \n",
+ " {'n_neighbors': 16} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 0.005000 | \n",
+ " 0.001675 | \n",
+ " 0.006599 | \n",
+ " 0.001909 | \n",
+ " 17 | \n",
+ " {'n_neighbors': 17} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 0.003900 | \n",
+ " 0.001377 | \n",
+ " 0.007000 | \n",
+ " 0.002052 | \n",
+ " 18 | \n",
+ " {'n_neighbors': 18} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 0.004299 | \n",
+ " 0.001187 | \n",
+ " 0.008103 | \n",
+ " 0.001702 | \n",
+ " 19 | \n",
+ " {'n_neighbors': 19} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 0.004603 | \n",
+ " 0.001429 | \n",
+ " 0.006797 | \n",
+ " 0.002039 | \n",
+ " 20 | \n",
+ " {'n_neighbors': 20} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.963187 | \n",
+ " 0.048777 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 0.004402 | \n",
+ " 0.002012 | \n",
+ " 0.006799 | \n",
+ " 0.002318 | \n",
+ " 21 | \n",
+ " {'n_neighbors': 21} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.970330 | \n",
+ " 0.036380 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 0.004300 | \n",
+ " 0.001102 | \n",
+ " 0.006701 | \n",
+ " 0.001615 | \n",
+ " 22 | \n",
+ " {'n_neighbors': 22} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.970330 | \n",
+ " 0.036380 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 0.004403 | \n",
+ " 0.001856 | \n",
+ " 0.007197 | \n",
+ " 0.002041 | \n",
+ " 23 | \n",
+ " {'n_neighbors': 23} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " 0.004500 | \n",
+ " 0.001687 | \n",
+ " 0.007501 | \n",
+ " 0.002015 | \n",
+ " 24 | \n",
+ " {'n_neighbors': 24} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.970330 | \n",
+ " 0.036380 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " 0.004098 | \n",
+ " 0.001133 | \n",
+ " 0.007601 | \n",
+ " 0.001802 | \n",
+ " 25 | \n",
+ " {'n_neighbors': 25} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954945 | \n",
+ " 0.050406 | \n",
+ " 33 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " 0.004499 | \n",
+ " 0.001565 | \n",
+ " 0.006701 | \n",
+ " 0.002053 | \n",
+ " 26 | \n",
+ " {'n_neighbors': 26} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.050823 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " 0.004799 | \n",
+ " 0.001664 | \n",
+ " 0.007399 | \n",
+ " 0.001433 | \n",
+ " 27 | \n",
+ " {'n_neighbors': 27} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954945 | \n",
+ " 0.050406 | \n",
+ " 33 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " 0.004301 | \n",
+ " 0.001552 | \n",
+ " 0.007599 | \n",
+ " 0.001802 | \n",
+ " 28 | \n",
+ " {'n_neighbors': 28} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " 0.004702 | \n",
+ " 0.001274 | \n",
+ " 0.006697 | \n",
+ " 0.001678 | \n",
+ " 29 | \n",
+ " {'n_neighbors': 29} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " 0.004603 | \n",
+ " 0.001282 | \n",
+ " 0.007897 | \n",
+ " 0.001869 | \n",
+ " 30 | \n",
+ " {'n_neighbors': 30} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.947802 | \n",
+ " 0.046832 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ " | 30 | \n",
+ " 0.004301 | \n",
+ " 0.001420 | \n",
+ " 0.007299 | \n",
+ " 0.002006 | \n",
+ " 31 | \n",
+ " {'n_neighbors': 31} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.955495 | \n",
+ " 0.048430 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 31 | \n",
+ " 0.004899 | \n",
+ " 0.002469 | \n",
+ " 0.008102 | \n",
+ " 0.002548 | \n",
+ " 32 | \n",
+ " {'n_neighbors': 32} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.955495 | \n",
+ " 0.048430 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " 0.004299 | \n",
+ " 0.001487 | \n",
+ " 0.008003 | \n",
+ " 0.002368 | \n",
+ " 33 | \n",
+ " {'n_neighbors': 33} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.955495 | \n",
+ " 0.048430 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 33 | \n",
+ " 0.004602 | \n",
+ " 0.001747 | \n",
+ " 0.006598 | \n",
+ " 0.001858 | \n",
+ " 34 | \n",
+ " {'n_neighbors': 34} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.963187 | \n",
+ " 0.048777 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 34 | \n",
+ " 0.004396 | \n",
+ " 0.001429 | \n",
+ " 0.007602 | \n",
+ " 0.002154 | \n",
+ " 35 | \n",
+ " {'n_neighbors': 35} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.955495 | \n",
+ " 0.048430 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 35 | \n",
+ " 0.004700 | \n",
+ " 0.001102 | \n",
+ " 0.007200 | \n",
+ " 0.001890 | \n",
+ " 36 | \n",
+ " {'n_neighbors': 36} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 36 | \n",
+ " 0.004798 | \n",
+ " 0.001535 | \n",
+ " 0.007300 | \n",
+ " 0.001847 | \n",
+ " 37 | \n",
+ " {'n_neighbors': 37} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 37 | \n",
+ " 0.004600 | \n",
+ " 0.001499 | \n",
+ " 0.006700 | \n",
+ " 0.001736 | \n",
+ " 38 | \n",
+ " {'n_neighbors': 38} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 38 | \n",
+ " 0.004798 | \n",
+ " 0.001780 | \n",
+ " 0.008102 | \n",
+ " 0.003366 | \n",
+ " 39 | \n",
+ " {'n_neighbors': 39} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.962637 | \n",
+ " 0.037411 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 39 | \n",
+ " 0.005402 | \n",
+ " 0.001629 | \n",
+ " 0.007298 | \n",
+ " 0.001349 | \n",
+ " 40 | \n",
+ " {'n_neighbors': 40} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954945 | \n",
+ " 0.036842 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 40 | \n",
+ " 0.004602 | \n",
+ " 0.001500 | \n",
+ " 0.007914 | \n",
+ " 0.002940 | \n",
+ " 41 | \n",
+ " {'n_neighbors': 41} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 1.000000 | \n",
+ " 0.970330 | \n",
+ " 0.036380 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 41 | \n",
+ " 0.004402 | \n",
+ " 0.001856 | \n",
+ " 0.006999 | \n",
+ " 0.001950 | \n",
+ " 42 | \n",
+ " {'n_neighbors': 42} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954945 | \n",
+ " 0.036842 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " 0.004705 | \n",
+ " 0.001739 | \n",
+ " 0.007197 | \n",
+ " 0.001471 | \n",
+ " 43 | \n",
+ " {'n_neighbors': 43} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.954945 | \n",
+ " 0.036842 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 43 | \n",
+ " 0.004299 | \n",
+ " 0.001847 | \n",
+ " 0.007803 | \n",
+ " 0.002360 | \n",
+ " 44 | \n",
+ " {'n_neighbors': 44} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.048787 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 44 | \n",
+ " 0.005000 | \n",
+ " 0.001677 | \n",
+ " 0.007199 | \n",
+ " 0.001603 | \n",
+ " 45 | \n",
+ " {'n_neighbors': 45} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.048787 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 45 | \n",
+ " 0.004698 | \n",
+ " 0.001270 | \n",
+ " 0.008149 | \n",
+ " 0.002258 | \n",
+ " 46 | \n",
+ " {'n_neighbors': 46} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.846154 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.048787 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 46 | \n",
+ " 0.004700 | \n",
+ " 0.001900 | \n",
+ " 0.007300 | \n",
+ " 0.002052 | \n",
+ " 47 | \n",
+ " {'n_neighbors': 47} | \n",
+ " 0.857143 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.947802 | \n",
+ " 0.046832 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ " | 47 | \n",
+ " 0.004400 | \n",
+ " 0.001359 | \n",
+ " 0.008200 | \n",
+ " 0.002858 | \n",
+ " 48 | \n",
+ " {'n_neighbors': 48} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.034594 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 48 | \n",
+ " 0.004300 | \n",
+ " 0.001270 | \n",
+ " 0.007202 | \n",
+ " 0.001473 | \n",
+ " 49 | \n",
+ " {'n_neighbors': 49} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.034594 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 49 | \n",
+ " 0.003999 | \n",
+ " 0.001186 | \n",
+ " 0.008512 | \n",
+ " 0.003637 | \n",
+ " 50 | \n",
+ " {'n_neighbors': 50} | \n",
+ " 0.928571 | \n",
+ " 0.928571 | \n",
+ " 1.0 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 1.0 | \n",
+ " 1.000000 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.923077 | \n",
+ " 0.947253 | \n",
+ " 0.034594 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " mean_fit_time std_fit_time mean_score_time std_score_time \\\n",
+ "0 0.021800 0.043165 0.031801 0.056282 \n",
+ "1 0.006798 0.002714 0.010399 0.004695 \n",
+ "2 0.017497 0.010658 0.022301 0.008462 \n",
+ "3 0.007001 0.007098 0.011100 0.003588 \n",
+ "4 0.008801 0.004646 0.011598 0.005935 \n",
+ "5 0.004500 0.001748 0.007800 0.001942 \n",
+ "6 0.004700 0.001737 0.006799 0.001538 \n",
+ "7 0.004499 0.001747 0.007400 0.001857 \n",
+ "8 0.004598 0.001202 0.010200 0.009217 \n",
+ "9 0.004199 0.001601 0.007302 0.002150 \n",
+ "10 0.004603 0.001497 0.007497 0.002374 \n",
+ "11 0.003999 0.001342 0.007203 0.001601 \n",
+ "12 0.004499 0.001360 0.007300 0.002193 \n",
+ "13 0.004799 0.001604 0.006999 0.001950 \n",
+ "14 0.006503 0.005084 0.007398 0.002653 \n",
+ "15 0.004099 0.001516 0.007801 0.002229 \n",
+ "16 0.005000 0.001675 0.006599 0.001909 \n",
+ "17 0.003900 0.001377 0.007000 0.002052 \n",
+ "18 0.004299 0.001187 0.008103 0.001702 \n",
+ "19 0.004603 0.001429 0.006797 0.002039 \n",
+ "20 0.004402 0.002012 0.006799 0.002318 \n",
+ "21 0.004300 0.001102 0.006701 0.001615 \n",
+ "22 0.004403 0.001856 0.007197 0.002041 \n",
+ "23 0.004500 0.001687 0.007501 0.002015 \n",
+ "24 0.004098 0.001133 0.007601 0.001802 \n",
+ "25 0.004499 0.001565 0.006701 0.002053 \n",
+ "26 0.004799 0.001664 0.007399 0.001433 \n",
+ "27 0.004301 0.001552 0.007599 0.001802 \n",
+ "28 0.004702 0.001274 0.006697 0.001678 \n",
+ "29 0.004603 0.001282 0.007897 0.001869 \n",
+ "30 0.004301 0.001420 0.007299 0.002006 \n",
+ "31 0.004899 0.002469 0.008102 0.002548 \n",
+ "32 0.004299 0.001487 0.008003 0.002368 \n",
+ "33 0.004602 0.001747 0.006598 0.001858 \n",
+ "34 0.004396 0.001429 0.007602 0.002154 \n",
+ "35 0.004700 0.001102 0.007200 0.001890 \n",
+ "36 0.004798 0.001535 0.007300 0.001847 \n",
+ "37 0.004600 0.001499 0.006700 0.001736 \n",
+ "38 0.004798 0.001780 0.008102 0.003366 \n",
+ "39 0.005402 0.001629 0.007298 0.001349 \n",
+ "40 0.004602 0.001500 0.007914 0.002940 \n",
+ "41 0.004402 0.001856 0.006999 0.001950 \n",
+ "42 0.004705 0.001739 0.007197 0.001471 \n",
+ "43 0.004299 0.001847 0.007803 0.002360 \n",
+ "44 0.005000 0.001677 0.007199 0.001603 \n",
+ "45 0.004698 0.001270 0.008149 0.002258 \n",
+ "46 0.004700 0.001900 0.007300 0.002052 \n",
+ "47 0.004400 0.001359 0.008200 0.002858 \n",
+ "48 0.004300 0.001270 0.007202 0.001473 \n",
+ "49 0.003999 0.001186 0.008512 0.003637 \n",
+ "\n",
+ " param_n_neighbors params split0_test_score \\\n",
+ "0 1 {'n_neighbors': 1} 1.000000 \n",
+ "1 2 {'n_neighbors': 2} 1.000000 \n",
+ "2 3 {'n_neighbors': 3} 1.000000 \n",
+ "3 4 {'n_neighbors': 4} 0.928571 \n",
+ "4 5 {'n_neighbors': 5} 1.000000 \n",
+ "5 6 {'n_neighbors': 6} 0.928571 \n",
+ "6 7 {'n_neighbors': 7} 1.000000 \n",
+ "7 8 {'n_neighbors': 8} 0.928571 \n",
+ "8 9 {'n_neighbors': 9} 1.000000 \n",
+ "9 10 {'n_neighbors': 10} 1.000000 \n",
+ "10 11 {'n_neighbors': 11} 0.928571 \n",
+ "11 12 {'n_neighbors': 12} 1.000000 \n",
+ "12 13 {'n_neighbors': 13} 1.000000 \n",
+ "13 14 {'n_neighbors': 14} 0.928571 \n",
+ "14 15 {'n_neighbors': 15} 0.928571 \n",
+ "15 16 {'n_neighbors': 16} 0.928571 \n",
+ "16 17 {'n_neighbors': 17} 0.928571 \n",
+ "17 18 {'n_neighbors': 18} 0.928571 \n",
+ "18 19 {'n_neighbors': 19} 0.928571 \n",
+ "19 20 {'n_neighbors': 20} 0.857143 \n",
+ "20 21 {'n_neighbors': 21} 0.928571 \n",
+ "21 22 {'n_neighbors': 22} 0.928571 \n",
+ "22 23 {'n_neighbors': 23} 0.928571 \n",
+ "23 24 {'n_neighbors': 24} 0.928571 \n",
+ "24 25 {'n_neighbors': 25} 0.928571 \n",
+ "25 26 {'n_neighbors': 26} 0.928571 \n",
+ "26 27 {'n_neighbors': 27} 0.928571 \n",
+ "27 28 {'n_neighbors': 28} 0.928571 \n",
+ "28 29 {'n_neighbors': 29} 0.928571 \n",
+ "29 30 {'n_neighbors': 30} 0.857143 \n",
+ "30 31 {'n_neighbors': 31} 0.857143 \n",
+ "31 32 {'n_neighbors': 32} 0.857143 \n",
+ "32 33 {'n_neighbors': 33} 0.857143 \n",
+ "33 34 {'n_neighbors': 34} 0.857143 \n",
+ "34 35 {'n_neighbors': 35} 0.857143 \n",
+ "35 36 {'n_neighbors': 36} 0.928571 \n",
+ "36 37 {'n_neighbors': 37} 0.928571 \n",
+ "37 38 {'n_neighbors': 38} 0.928571 \n",
+ "38 39 {'n_neighbors': 39} 0.928571 \n",
+ "39 40 {'n_neighbors': 40} 0.928571 \n",
+ "40 41 {'n_neighbors': 41} 0.928571 \n",
+ "41 42 {'n_neighbors': 42} 0.928571 \n",
+ "42 43 {'n_neighbors': 43} 0.928571 \n",
+ "43 44 {'n_neighbors': 44} 0.928571 \n",
+ "44 45 {'n_neighbors': 45} 0.928571 \n",
+ "45 46 {'n_neighbors': 46} 0.928571 \n",
+ "46 47 {'n_neighbors': 47} 0.857143 \n",
+ "47 48 {'n_neighbors': 48} 0.928571 \n",
+ "48 49 {'n_neighbors': 49} 0.928571 \n",
+ "49 50 {'n_neighbors': 50} 0.928571 \n",
+ "\n",
+ " split1_test_score split2_test_score split3_test_score \\\n",
+ "0 0.928571 1.0 0.692308 \n",
+ "1 0.928571 1.0 0.692308 \n",
+ "2 0.928571 1.0 0.846154 \n",
+ "3 0.928571 1.0 0.846154 \n",
+ "4 0.928571 1.0 0.923077 \n",
+ "5 1.000000 1.0 0.923077 \n",
+ "6 0.928571 1.0 0.923077 \n",
+ "7 1.000000 1.0 0.846154 \n",
+ "8 0.928571 1.0 0.923077 \n",
+ "9 0.928571 1.0 0.846154 \n",
+ "10 0.928571 1.0 0.923077 \n",
+ "11 0.928571 1.0 0.923077 \n",
+ "12 0.928571 1.0 1.000000 \n",
+ "13 0.928571 1.0 0.923077 \n",
+ "14 0.928571 1.0 0.923077 \n",
+ "15 0.928571 1.0 0.923077 \n",
+ "16 0.928571 1.0 0.923077 \n",
+ "17 0.928571 1.0 0.923077 \n",
+ "18 0.928571 1.0 0.923077 \n",
+ "19 0.928571 1.0 0.923077 \n",
+ "20 0.928571 1.0 0.923077 \n",
+ "21 0.928571 1.0 0.923077 \n",
+ "22 0.928571 1.0 0.923077 \n",
+ "23 0.928571 1.0 0.923077 \n",
+ "24 0.928571 1.0 0.846154 \n",
+ "25 0.928571 1.0 0.846154 \n",
+ "26 0.928571 1.0 0.846154 \n",
+ "27 0.928571 1.0 0.923077 \n",
+ "28 0.928571 1.0 0.923077 \n",
+ "29 0.928571 1.0 0.923077 \n",
+ "30 0.928571 1.0 0.923077 \n",
+ "31 0.928571 1.0 0.923077 \n",
+ "32 0.928571 1.0 0.923077 \n",
+ "33 0.928571 1.0 0.923077 \n",
+ "34 0.928571 1.0 0.923077 \n",
+ "35 0.928571 1.0 0.923077 \n",
+ "36 0.928571 1.0 0.923077 \n",
+ "37 0.928571 1.0 0.923077 \n",
+ "38 0.928571 1.0 0.923077 \n",
+ "39 0.928571 1.0 0.923077 \n",
+ "40 0.928571 1.0 1.000000 \n",
+ "41 0.928571 1.0 0.923077 \n",
+ "42 0.928571 1.0 0.923077 \n",
+ "43 0.928571 1.0 0.846154 \n",
+ "44 0.928571 1.0 0.846154 \n",
+ "45 0.928571 1.0 0.846154 \n",
+ "46 0.928571 1.0 0.923077 \n",
+ "47 0.928571 1.0 0.923077 \n",
+ "48 0.928571 1.0 0.923077 \n",
+ "49 0.928571 1.0 0.923077 \n",
+ "\n",
+ " split4_test_score split5_test_score split6_test_score \\\n",
+ "0 1.000000 1.0 1.000000 \n",
+ "1 1.000000 1.0 1.000000 \n",
+ "2 1.000000 1.0 1.000000 \n",
+ "3 0.923077 1.0 1.000000 \n",
+ "4 0.923077 1.0 1.000000 \n",
+ "5 0.923077 1.0 1.000000 \n",
+ "6 0.923077 1.0 1.000000 \n",
+ "7 0.923077 1.0 1.000000 \n",
+ "8 0.923077 1.0 1.000000 \n",
+ "9 0.923077 1.0 0.923077 \n",
+ "10 0.923077 1.0 1.000000 \n",
+ "11 0.923077 1.0 1.000000 \n",
+ "12 0.923077 1.0 1.000000 \n",
+ "13 0.923077 1.0 1.000000 \n",
+ "14 0.923077 1.0 1.000000 \n",
+ "15 0.923077 1.0 1.000000 \n",
+ "16 0.923077 1.0 1.000000 \n",
+ "17 0.923077 1.0 1.000000 \n",
+ "18 0.923077 1.0 1.000000 \n",
+ "19 0.923077 1.0 1.000000 \n",
+ "20 0.923077 1.0 1.000000 \n",
+ "21 0.923077 1.0 1.000000 \n",
+ "22 0.923077 1.0 1.000000 \n",
+ "23 0.923077 1.0 1.000000 \n",
+ "24 0.923077 1.0 1.000000 \n",
+ "25 0.923077 1.0 1.000000 \n",
+ "26 0.923077 1.0 1.000000 \n",
+ "27 0.923077 1.0 1.000000 \n",
+ "28 0.923077 1.0 1.000000 \n",
+ "29 0.923077 1.0 1.000000 \n",
+ "30 0.923077 1.0 1.000000 \n",
+ "31 0.923077 1.0 1.000000 \n",
+ "32 0.923077 1.0 1.000000 \n",
+ "33 0.923077 1.0 1.000000 \n",
+ "34 0.923077 1.0 0.923077 \n",
+ "35 0.923077 1.0 1.000000 \n",
+ "36 0.923077 1.0 1.000000 \n",
+ "37 0.923077 1.0 1.000000 \n",
+ "38 0.923077 1.0 1.000000 \n",
+ "39 0.923077 1.0 1.000000 \n",
+ "40 0.923077 1.0 1.000000 \n",
+ "41 0.923077 1.0 1.000000 \n",
+ "42 0.923077 1.0 1.000000 \n",
+ "43 0.923077 1.0 1.000000 \n",
+ "44 0.923077 1.0 1.000000 \n",
+ "45 0.923077 1.0 1.000000 \n",
+ "46 0.923077 1.0 1.000000 \n",
+ "47 0.923077 1.0 1.000000 \n",
+ "48 0.923077 1.0 1.000000 \n",
+ "49 0.923077 1.0 1.000000 \n",
+ "\n",
+ " split7_test_score split8_test_score split9_test_score mean_test_score \\\n",
+ "0 1.000000 1.000000 0.923077 0.954396 \n",
+ "1 0.923077 0.923077 0.923077 0.939011 \n",
+ "2 1.000000 0.923077 0.923077 0.962088 \n",
+ "3 1.000000 0.923077 1.000000 0.954945 \n",
+ "4 1.000000 0.923077 1.000000 0.969780 \n",
+ "5 1.000000 0.923077 1.000000 0.969780 \n",
+ "6 1.000000 1.000000 1.000000 0.977473 \n",
+ "7 0.923077 0.923077 1.000000 0.954396 \n",
+ "8 0.923077 1.000000 1.000000 0.969780 \n",
+ "9 0.923077 1.000000 1.000000 0.954396 \n",
+ "10 0.923077 1.000000 1.000000 0.962637 \n",
+ "11 0.923077 1.000000 1.000000 0.969780 \n",
+ "12 0.923077 1.000000 1.000000 0.977473 \n",
+ "13 0.923077 1.000000 1.000000 0.962637 \n",
+ "14 0.923077 1.000000 1.000000 0.962637 \n",
+ "15 0.923077 1.000000 1.000000 0.962637 \n",
+ "16 0.923077 1.000000 1.000000 0.962637 \n",
+ "17 0.923077 1.000000 1.000000 0.962637 \n",
+ "18 0.923077 1.000000 1.000000 0.962637 \n",
+ "19 1.000000 1.000000 1.000000 0.963187 \n",
+ "20 1.000000 1.000000 1.000000 0.970330 \n",
+ "21 1.000000 1.000000 1.000000 0.970330 \n",
+ "22 1.000000 1.000000 0.923077 0.962637 \n",
+ "23 1.000000 1.000000 1.000000 0.970330 \n",
+ "24 1.000000 1.000000 0.923077 0.954945 \n",
+ "25 1.000000 1.000000 1.000000 0.962637 \n",
+ "26 1.000000 1.000000 0.923077 0.954945 \n",
+ "27 1.000000 1.000000 0.923077 0.962637 \n",
+ "28 1.000000 1.000000 0.923077 0.962637 \n",
+ "29 0.923077 1.000000 0.923077 0.947802 \n",
+ "30 1.000000 1.000000 0.923077 0.955495 \n",
+ "31 1.000000 1.000000 0.923077 0.955495 \n",
+ "32 1.000000 1.000000 0.923077 0.955495 \n",
+ "33 1.000000 1.000000 1.000000 0.963187 \n",
+ "34 1.000000 1.000000 1.000000 0.955495 \n",
+ "35 0.923077 1.000000 1.000000 0.962637 \n",
+ "36 0.923077 1.000000 1.000000 0.962637 \n",
+ "37 0.923077 1.000000 1.000000 0.962637 \n",
+ "38 0.923077 1.000000 1.000000 0.962637 \n",
+ "39 0.923077 1.000000 0.923077 0.954945 \n",
+ "40 0.923077 1.000000 1.000000 0.970330 \n",
+ "41 0.923077 1.000000 0.923077 0.954945 \n",
+ "42 0.923077 1.000000 0.923077 0.954945 \n",
+ "43 0.923077 1.000000 0.923077 0.947253 \n",
+ "44 0.923077 1.000000 0.923077 0.947253 \n",
+ "45 0.923077 1.000000 0.923077 0.947253 \n",
+ "46 0.923077 1.000000 0.923077 0.947802 \n",
+ "47 0.923077 0.923077 0.923077 0.947253 \n",
+ "48 0.923077 0.923077 0.923077 0.947253 \n",
+ "49 0.923077 0.923077 0.923077 0.947253 \n",
+ "\n",
+ " std_test_score rank_test_score \n",
+ "0 0.092139 39 \n",
+ "1 0.089628 50 \n",
+ "2 0.051217 28 \n",
+ "3 0.050406 35 \n",
+ "4 0.037042 7 \n",
+ "5 0.037042 7 \n",
+ "6 0.034441 1 \n",
+ "7 0.050719 39 \n",
+ "8 0.037042 9 \n",
+ "9 0.050719 39 \n",
+ "10 0.037411 17 \n",
+ "11 0.037042 9 \n",
+ "12 0.034441 1 \n",
+ "13 0.037411 17 \n",
+ "14 0.037411 17 \n",
+ "15 0.037411 17 \n",
+ "16 0.037411 17 \n",
+ "17 0.037411 17 \n",
+ "18 0.037411 17 \n",
+ "19 0.048777 11 \n",
+ "20 0.036380 3 \n",
+ "21 0.036380 3 \n",
+ "22 0.037411 13 \n",
+ "23 0.036380 3 \n",
+ "24 0.050406 33 \n",
+ "25 0.050823 13 \n",
+ "26 0.050406 33 \n",
+ "27 0.037411 13 \n",
+ "28 0.037411 13 \n",
+ "29 0.046832 42 \n",
+ "30 0.048430 29 \n",
+ "31 0.048430 29 \n",
+ "32 0.048430 29 \n",
+ "33 0.048777 11 \n",
+ "34 0.048430 29 \n",
+ "35 0.037411 17 \n",
+ "36 0.037411 17 \n",
+ "37 0.037411 17 \n",
+ "38 0.037411 17 \n",
+ "39 0.036842 35 \n",
+ "40 0.036380 3 \n",
+ "41 0.036842 35 \n",
+ "42 0.036842 35 \n",
+ "43 0.048787 44 \n",
+ "44 0.048787 44 \n",
+ "45 0.048787 44 \n",
+ "46 0.046832 42 \n",
+ "47 0.034594 44 \n",
+ "48 0.034594 44 \n",
+ "49 0.034594 44 "
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "accuracy_grid = pd.DataFrame(wine_tune_grid.cv_results_)\n",
+ "accuracy_grid"
]
},
{
@@ -305,12 +2181,34 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"id": "ffefa9f2",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Test set accuracy with k=7: 0.9333\n",
+ "This means the model correctly classified 93.33% of the test wines\n"
+ ]
+ }
+ ],
"source": [
- "# Your code here..."
+ "# Create a new KNN model with the best k value we found\n",
+ "knn_best = KNeighborsClassifier(n_neighbors=best_knn)\n",
+ "\n",
+ "# Train (fit) the model on the training data\n",
+ "knn_best.fit(X_train, y_train)\n",
+ "\n",
+ "# Make predictions on the test set\n",
+ "y_pred = knn_best.predict(X_test)\n",
+ "\n",
+ "# Calculate accuracy on the test set\n",
+ "test_accuracy = accuracy_score(y_test, y_pred)\n",
+ "\n",
+ "print(f\"Test set accuracy with k={best_knn}: {test_accuracy:.4f}\")\n",
+ "print(f\"This means the model correctly classified {test_accuracy*100:.2f}% of the test wines\")"
]
},
{
@@ -365,7 +2263,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3.10.4",
+ "display_name": "lcr-env (3.11.14)",
"language": "python",
"name": "python3"
},
@@ -379,12 +2277,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.19"
- },
- "vscode": {
- "interpreter": {
- "hash": "497a84dc8fec8cf8d24e7e87b6d954c9a18a327edc66feb9b9ea7e9e72cc5c7e"
- }
+ "version": "3.11.14"
}
},
"nbformat": 4,