Newer
Older
"A dictionary holding the accuracies for different values of $k$ that we find\n",
"when running cross-validation. After running cross-validation,\n",
"`k_to_accuracies[k]` should be a list of length num_folds giving the different\n",
"accuracy values that we found when using that value of $k$."
]
},
{
"cell_type": "code",
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
"metadata": {
"nbpresent": {
"id": "05e1ac10-1a25-4740-a21b-8b067116fd69"
}
},
"outputs": [],
"source": [
"k_to_accuracies = {}"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpresent": {
"id": "f97b560b-929b-4a1f-90ee-3cf17ecef7e6"
}
},
"source": [
"We perform $k$-fold cross validation to find the best value of $k$. For each \n",
"possible value of $k$, run the $k$-nearest-neighbor algorithm `num_folds` times, \n",
"where in each case you use all but one of the folds as training data and the \n",
"last fold as a validation set. Store the accuracies for all fold and all \n",
"values of $k$ in the `k_to_accuracies` dictionary. "
]
},
{
"cell_type": "code",
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
"metadata": {
"nbpresent": {
"id": "bc2a21b5-4387-4bfc-8851-abcf62acaafc"
}
},
"outputs": [],
"source": [
"for k in k_choices:\n",
" \n",
" k_to_accuracies[k] = []\n",
" classifier = KNearestNeighbor_L1()\n",
" for i in range(num_folds):\n",
" X_cv_training = np.concatenate([x for k, x in enumerate(X_train_folds) if k!=i], axis=0)\n",
" y_cv_training = np.concatenate([x for k, x in enumerate(y_train_folds) if k!=i], axis=0)\n",
" classifier.train(X_cv_training, y_cv_training)\n",
" dists = classifier.compute_distances_two_loops(X_train_folds[i])\n",
" y_test_pred = classifier.predict_labels(dists, k=k)\n",
" k_to_accuracies[k].append(np.mean(y_train_folds[i] == y_test_pred))\n",
" \n"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpresent": {
"id": "c24db8cd-04a8-45a6-b15e-24194bb42248"
}
},
"source": [
"We print out the computed accuracies."
]
},
{
"cell_type": "code",
"metadata": {
"nbpresent": {
"id": "972c66f2-03ea-4de0-8ac6-a564c3365f50"
}
},
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"k = 1, accuracy = 0.291000\n",
"k = 1, accuracy = 0.313000\n",
"k = 1, accuracy = 0.294000\n",
"k = 1, accuracy = 0.275000\n",
"k = 1, accuracy = 0.308000\n",
"k = 3, accuracy = 0.269000\n",
"k = 3, accuracy = 0.299000\n",
"k = 3, accuracy = 0.290000\n",
"k = 3, accuracy = 0.278000\n",
"k = 3, accuracy = 0.296000\n",
"k = 5, accuracy = 0.275000\n",
"k = 5, accuracy = 0.311000\n",
"k = 5, accuracy = 0.301000\n",
"k = 5, accuracy = 0.314000\n",
"k = 5, accuracy = 0.309000\n",
"k = 7, accuracy = 0.280000\n",
"k = 7, accuracy = 0.329000\n",
"k = 7, accuracy = 0.313000\n",
"k = 7, accuracy = 0.320000\n",
"k = 7, accuracy = 0.313000\n",
"k = 9, accuracy = 0.291000\n",
"k = 9, accuracy = 0.314000\n",
"k = 9, accuracy = 0.310000\n",
"k = 9, accuracy = 0.322000\n",
"k = 9, accuracy = 0.315000\n",
"k = 10, accuracy = 0.289000\n",
"k = 10, accuracy = 0.312000\n",
"k = 10, accuracy = 0.320000\n",
"k = 10, accuracy = 0.323000\n",
"k = 10, accuracy = 0.313000\n",
"k = 12, accuracy = 0.295000\n",
"k = 12, accuracy = 0.320000\n",
"k = 12, accuracy = 0.324000\n",
"k = 12, accuracy = 0.332000\n",
"k = 12, accuracy = 0.318000\n",
"k = 15, accuracy = 0.287000\n",
"k = 15, accuracy = 0.324000\n",
"k = 15, accuracy = 0.317000\n",
"k = 15, accuracy = 0.319000\n",
"k = 15, accuracy = 0.321000\n",
"k = 18, accuracy = 0.289000\n",
"k = 18, accuracy = 0.321000\n",
"k = 18, accuracy = 0.307000\n",
"k = 18, accuracy = 0.319000\n",
"k = 18, accuracy = 0.306000\n",
"k = 20, accuracy = 0.287000\n",
"k = 20, accuracy = 0.327000\n",
"k = 20, accuracy = 0.309000\n",
"k = 20, accuracy = 0.307000\n",
"k = 20, accuracy = 0.306000\n",
"k = 50, accuracy = 0.285000\n",
"k = 50, accuracy = 0.301000\n",
"k = 50, accuracy = 0.294000\n",
"k = 50, accuracy = 0.290000\n",
"k = 50, accuracy = 0.293000\n",
"k = 100, accuracy = 0.283000\n",
"k = 100, accuracy = 0.285000\n",
"k = 100, accuracy = 0.279000\n",
"k = 100, accuracy = 0.285000\n",
"k = 100, accuracy = 0.277000\n"
]
}
],
"source": [
"for k in sorted(k_to_accuracies):\n",
" for accuracy in k_to_accuracies[k]:\n",
" print('k = %d, accuracy = %f' % (k, accuracy))\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpresent": {
"id": "57f5291f-1e32-456f-b84f-76eba7b40d44"
}
},
"source": [
"We plot the raw observations."
]
},
{
"cell_type": "code",
"metadata": {
"nbpresent": {
"id": "a028040f-a7a6-4b61-904d-48090dcbbe8d"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for k in k_choices:\n",
" accuracies = k_to_accuracies[k]\n",
" plt.scatter([k] * len(accuracies), accuracies)"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpresent": {
"id": "6a867f1e-9207-4d0d-adf9-7884532ed06e"
}
},
"source": [
"We plot the trend line with error bars that correspond to standard deviation."
]
},
{
"cell_type": "code",
"metadata": {
"nbpresent": {
"id": "caf9f446-5155-42db-a69b-46f1d7f06322"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
"source": [
"accuracies_mean = np.array([np.mean(v) for k,v in sorted(k_to_accuracies.items())])\n",
"accuracies_std = np.array([np.std(v) for k,v in sorted(k_to_accuracies.items())])\n",
"plt.errorbar(k_choices, accuracies_mean, yerr=accuracies_std)\n",
"plt.title('Cross-validation on k')\n",
"plt.xlabel('k')\n",
"plt.ylabel('Cross-validation accuracy')\n",
"plt.show()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}