Do not use MINST digit dataset. Use dataset.load_digits() from sklearn
Due: Sep 28, 2021 11:59 PM
For this assignment, you are to determine which model is best for prediction, report the
right hyperparameters, and the resulting accuracy for the Digit Recognition data set that
was used in the previous assignment.
As before, create a PDF of your notebook showing your steps and include the table
below as mentioned. Attach both a jupyter notebook and the PDF version. Also, be sure
to include your name at the start of the notebook and at the top of the PDF.
Specifically, you are to test the following models
Model Hyperparameter Testing range Notes
Support Vector
Machine
Gamma – size of
the kernel
C – slack variable
10-x for x = -5 to 5 use the ‘rbf’: radial
basis function
kernel
K-nearest
neighbors
k – number of
neighbors
1,3,5,7,9 use the sklearn
function
Decision Trees min_samples_split 3,5,7,9 (1 was
removed)
use the defaults for
the other
hyperparameters.
Logistic Regression C – inverse of the
regularization
strength (smaller =
more regularization)
10-x for x = -5 to 5 with the L1 penalty
(Lasso)
Steps are as follows:
1. Separate your data into training and testing. We will use cross-validation over the
training set to select the right parameters
a. Use train_test_split to create a separate training and test set.
X_train, X_test, y_train, y_test = train_test_split(X,
y, stratify=True, test_size=0.20)
b. For the training set, you have two choices to perform hyperparameter
selection.
i. Use cross-validation to evaluate each model variant and select the
best hyperparameters (standard practice, most recommended)
ii. Create a hold-out validation set and train on one portion of the data
and use the accuracy on the hold-out validation set to pick the right
hyperparameters (also valid)
2. Steps to turn in for the assignment
a. Train the four models with their default parameters. Report the resulting
accuracy of each model using the default parameters.
b. For each of the four models, find the hyperparameters giving the highest
accuracy on the validation set by performing an exhaustive grid search.
Report the hyperparameter values and accuracy on the validation
set.
i. Consider using sklearn.model_selection.GridSearchCV
ii. For the models with two hyperparameters, you will need to search
both simultaneously to find the optimum combination
c. Now apply the highest accuracy trained models to the test set. Report the
accuracy of each model.
Fill the following table with the information.
Model Default
validation
accuracy
Tuned
validation
accuracy
Selected
hyperparameter
s
Final test set
accuracy
SVM
k-NN
Decision Trees
Logistic
Regression

{
“nbformat”: 4,
“nbformat_minor”: 5,
“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”
},
“colab”: {
“name”: “ModelSelectionAndValidation (1).ipynb”,
“provenance”: []
}
},
“cells”: [
{
“cell_type”: “code”,
“metadata”: {
“colab”: {
“base_uri”: “https://localhost:8080/”,
“height”: 907
},
“id”: “79ac7e6e”,
“outputId”: “1508f570-ddb4-4d5a-868a-585899772bc0”
},
“source”: [
“# Model Selection And Validation with SVM for Machine Learningn”,
“n”,
“import matplotlib.pyplot as pltn”,
“n”,
“import matplotlib as mpln”,
“n”,
“from sklearn.datasets import load_digitsn”,
“n”,
“import numpy as npn”,
“n”,
“import randomn”,
“n”,
“n”,
“digits = load_digits()n”,
“n”,
“X,y = digits.data, digits.targetn”,
“n”,
“n”,
“%matplotlib inlinen”,
“n”,
“random_examples = [random.randint(0,len(digits.images))n”,
“n”,
“for i in range(10)]n”,
“n”,
“for n,number in enumerate(random_examples):n”,
” plt.subplot(2, 5, n+1)n”,
” plt.imshow(digits.images[number],cmap=’binary’,interpolation=’none’, extent=[0,8,0,8])n”,
” plt.grid()n”,
” plt.show()”
],
“id”: “79ac7e6e”,
“execution_count”: 1,
“outputs”: [
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD6UlEQVR4nO2cv0tcWRTHv9/MMiBBHJgYiyRowEVIEwVJtYUpsmyqtJtC0MYqhWWw0v/AJs0UURvZLrBFSDbNkMYiBpT8IFmCPEhsglOIhWQxni0cYRLm3nkzvO9zRs6n0Xln7rzDh3udc9+9V5oZnGy5cNYJnEdcqgCXKsClCnCpAlyqgF8UH1oqlWx0dLTtdltbW9F4X19fMFYoFIKxcrmM4+PjprH+/v7oPYvFYtPrSZJgb2+PzWISqUNDQ9jc3Gy7XalUisbHx8c7ajs9PY2Dg4Omsampqeg9R0ZGml6fnJwMtvHhL8ClCnCpAlyqAJcqQPLtH6NarQZj+/v70baxkitWGdRqNayvr7edDwCsrq5G483wnirApQpwqQJcqgCXKsClCsi9pIqVRcPDwx23jT1QqVarLUunLPGeKsClCnCpAlL9TSWZADgA8B3AkZmFn9A6bX1R3TazPVkm5wgf/gLSSjUA/5B8TXJOmdB5IO3w/83MdkleBvCC5Acze9n4hrrsOQAYHBwM1oWxenJhYSGaxMbGRjAWWvUEgMPDw1zr1FRSzWy3/vMryScAbgF4+dN7KgAqADA2NmahVcqZmZngfZIkieaxvLwcjIVWPYGTSUOrVdMsaTn8SV4k2X/6O4DfAbxVJ9bLpOmpQwCekDx9/7qZPZNm1eO0lGpmOwBu5pDLucFLKgEuVUDuj/5i39Jra2vRthMTE8FY7LFhpVIJVhaxfDrFe6oAlyrApQpwqQJcqgCXKiD3kmp+fl7yuUtLS8FYrVYLbjRbXFzMPBfvqQJcqgCXKsClCnCpAlyqgNxLqtjCX6tyK7a+NTAwEIyVy+Vo26zxnirApQpwqQJcqgCXKsClCnCpAnKvU2O02u+0vb0djK2srARjxWJRsmoawnuqAJcqIJVUkn+Q/EjyE8mH6qR6nTRbKQsAHgG4C+AGgPskb6gT62XS9NRbAD6Z2Y6Z/QfgLwD3tGn1NmmkXgHwueH1l/o1J0BmJVXjnn8A30jmutt6dnY2Fr4EIOvjSsEdcWmk7gK41vD6av3aDzTu+Se52U0H2PLOJ83wfwXgV5LXSRYB/Angb21avU2a7elHJB8AeA6gAOCxmb2TZ9bDpD3y8xTA0zY+t9JZOjJyzYf+39Ozx6epAjKV2m3TWZIJyTckt0i2/w9dO71vVsO/Pp39F8AdnEwQXgG4b2bvM7lBZzklACbzPlKfZU/16WydLKV243T2TI7Ud9WTfwEtj9QryLKnpprO5knjkXoAp0fq5WQptaums2d5pD6z4d+F09kzO1LvMyoBPqMS4FIFuFQBLlWASxXgUgW4VAEuVcD//9gbceKUPKcAAAAASUVORK5CYII=n”,
“text/plain”: [


]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAADzklEQVR4nO2cPUhVYRjH/3+NlhTukF2wMgVDaGmRpgYbippca9OlqcFBpFF3QZeWC4ZTtIUN0ccirhoIfVASecBcwkERBKV4GrrCLc577vF4/ud+8PwW9T73nvfh5/ve877vfZ9LM4OTLx2NTqAdcakCXKoAlyrApQpwqQLOKC5aKpVscHAwNnZwcBB83dbWVuY2j46OgrG+vj50dMT3n+7u7kztRVGEnZ0dxsUkUsvlMtbW1mJj6+vrwddNTExkbjOKomBsbm4OXV1dsbGRkZFM7Q0PDwdjPvwFuFQBLlWASxXgUgVI7v5J9Pf3B2O7u7uJr52fn8/cbta7fBa8pwpwqQJcqgCXKsClCnCpAgqfUiVtqNSbUiVRKpUk182C91QBLlWASxWQ6j2VZARgH8BvAL/MLLxD65zoRnXLzHZkmbQRPvwFpJVqAN6SfE/yoTKhdiDt8L9pZtskLwB4R/KLma3UPqEq+yEA9PT0YHl5OfZCe3t7wUampqYSk9jY2AjGDg8Pg7He3l4sLi7GxpK2IrOSSqqZbVd//iT5AsANACv/PacCoAIAQ0NDFtq/XFpaCrZTqVQS80ia4Cd9mjo9PR38J4dkn4a6w5/kOZLdx78DuAPgY+6ZtBFpemoZwAuSx89/ZmavpVm1OHWlmtl3ANcLyKVt8CmVAJcqoPCtv9HR0Uyx07CwsBDc/qt39x8bGztxe95TBbhUAS5VgEsV4FIFuFQBhU+pGkG5XA4efQ9ttJwG76kCXKoAlyrApQpwqQJcqoCmmlLV2zFKOref9AHe/v5+sAJRgfdUAS5VgEsV4FIFuFQBLlWASxVQ+Dw16cxTvdrT8fHxTG3Ozs5iZmYmNra5uZnpmkl4TxXgUgWkkkryLsmvJL+RfKxOqtVJc5SyE8ATAPcAXAPwgOQ1dWKtTJqeegPANzP7bmZHAJ4D0JzPaRPSSL0IoPZbuH5UH3MC5Dalqj3zD+CQZNOctp6cnDwPILZcaWBgIOtlr4QCaaRuA7hc8/el6mP/UHvmn+RaMxWwFZ1PmuG/CuAqyQGSZwHcB/BSm1Zrk+Z4+i+SjwC8AdAJ4KmZfZJn1sKkLfl5BeDVCa6bXLtTPIXmQ//29PzxZaqAXKU223KWZETyA8l1koV9nJrb8K8uZzcA3MbfBcIqgAdm9jmXBrLlFAEYLrqkPs+e6svZKnlKbcblbENK6pvqhIqAuiX1CvLsqamWs0VSW1IP4LikXk6eUptqOdvIkvrchn8TLmcbVlLvKyoBvqIS4FIFuFQBLlWASxXgUgW4VAEuVcAfYiYhj11+beYAAAAASUVORK5CYII=n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD+ElEQVR4nO2cvUtkVxjGnyezjMUSmSJqkZUYMAgLEoRlqxSmSNhtzJQ7hWi1VYQpLNLpn6BFGotgFdKtKCz5aGTbdUHY3ZAsyzISLQzxC0FYWXlTZIRJuOfMnct9xjvm/TU69733ntcf5zjnnHvOpZnByZf3rjqB64hLFeBSBbhUAS5VgEsVcENx00qlYqOjox1fd3Z2Fo0fHx8HY6enp8FYf38/9vf3E2MXFxfRMsfHxxOP7+7u4vDwkEkxidShoSFsbW11fN329nY0vra2Foxtbm4GY9VqFYuLi4mxk5OTaJnr6+uJx6empoLXePMX4FIFuFQBLlWASxUg+fbPSr1ej8YbjUYwNjk5GYyVy2WMjIx0fE8AwevK5XLwGq+pAlyqAJcqwKUKcKkCXKqAQnWpYhMm7YjNYG1sbATjS0tLmcsM4TVVgEsV4FIFpPqfSrIB4BTABYB3ZnZHmVSv08kX1edm9pcsk2uEN38BaaUagJ9JPiP5UJnQdSBt8//MzPZIDgL4heRvZvak9YSm7IcAMDAwEH0QF+L8/DwaPzg4CMaOjo6CscHBQczNzSXG+vr6omVm+TtSSTWzvebPP0k+AnAXwJP/nLMCYAUAxsbGLDa/GaLd3Obq6mowFhs4TE9PY35+PjG2sLAQLbNWq0XjSbRt/iRvknz/8ncAXwJ40XFJ/yPS1NQhAI9IXp7/vZn9KM2qx2kr1czeAPi0C7lcG7xLJcClCijU1F+7abjl5eVM963X65iZmUmMTUxMZLpnDK+pAlyqAJcqwKUKcKkCXKqAQnWpQkvIL6lUKsFYbDZpeHg42F2L3TMrXlMFuFQBLlWASxXgUgW4VAGF6lK1697EnlHNzs4GY6VSSdJ1CuE1VYBLFeBSBbhUAS5VgEsV4FIFFKqf2m4t1c7OTjCmeCqaFa+pAlyqgFRSSd4j+TvJ1yS/USfV66RZSlkC8C2A+wBuA6iRvK1OrJdJU1PvAnhtZm/M7BzADwC+0qbV26SR+iGAP1o+7zaPOQFy61K1rvkH8JZkV1dbV6vVWPgDAHlvV/ooFEgjdQ/AcMvnW81j/6J1zT/JrSJtYOt2Pmma/1MAn5D8mGQZwAMAye9qcwCkW57+juTXAH4CUALwnZm9lGfWw6Td8vMYwOMO7ruSLR0ZXc2H/vb0/PFhqoBcpRZtOEuyQfI5yW2Snb/QNWu5eTX/5nD2FYAv8M8A4SmAmpn9mksB2XJqALjT7S31edZUH842yVNqEYezV7KlvlAz/wLabqlXkGdNTTWc7SatW+oBXG6pl5On1EINZ69yS31uzb+Aw9kr21LvIyoBPqIS4FIFuFQBLlWASxXgUgW4VAEuVcDfd3AmYCnz6l4AAAAASUVORK5CYII=n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAADzElEQVR4nO2cvWsUaxTGn8eVC4krbJE4hYoIkYBNUiy3MpAtFK1MF63SmcYipWX+gAtJY5PiQhqx28SA+NEktq6Q4AdGRAY0RSRFwDQR5dzCFSLMzM5M5tnM5p5fk+ycnXdOfrzvzJyZ9w3NDE6xnDjqBI4jLlWASxXgUgW4VAEuVcBJRaO1Ws2GhoYy77e7u5sY397ezpXPwMAA9vf3I2NBECTuW6lUIreHYYidnR1GxSRSgyBAq9XKvN/y8nJifG5uLlc+09PT2NzcjIzNzMwk7lur1SK31+v12H18+AtwqQJcqgCXKsClCpBc/fPSbDYT42tra7nanZiYwPz8fGRsdnY2V5tJeE8V4FIFuFQBLlWASxXgUgWU6paq01OqvARB0PHBSZF4TxXgUgW4VAGpzqkkQwDfAPwE8MPM4p/QOpkuVA0z25Flcozw4S8grVQD8IzkK5J3lAkdB9IO/ytmtkXyDIDnJN+b2YuDX2jLvgMAg4ODWF1djWxob28v9iBjY2OJSXSKx9Hf3x/7oi4uz8PArLP+SM4C2DOzf+K+Mzw8bHFvL5P+iEajkSmXtKysrKBarUbGxsfHc7VZr9fRarUiX1F3HP4kT5E8/ft3ANcAvMmVyf+ENMM/ANAk+fv7D8zsiTSrHqejVDP7BGCkC7kcG/yWSoBLFdD1R39xc5MOy9TUVGysWq3mvsrnwXuqAJcqwKUKcKkCXKoAlyqg67dUo6OjsbGRkeTCbWNjIza2uLgYG5ucnMT6+nrmfPLiPVWASxXgUgW4VAEuVYBLFVCqCWoq+vr6JLdOcXhPFeBSBbhUAS5VgEsV4FIFuFQBpbpPXVpaSownrSMNw7DYZA6B91QBLlVAKqkkr5PcJPmR5D11Ur1OmqmUFQD3AdwAcBnAbZKX1Yn1Mml66t8APprZJzP7DuAhgJvatHqbNFLPAvh84POX9jYnhsJuqQ7O+QewT7I0s60bjcYAgKKXK12IC6SRugXg/IHP59rb/sDMFgAsAADJVpkWsHU7nzTD/yWASyQvkvwLwC0Aj7Rp9TZppqf/IHkXwFMAFQD/mtlbeWY9TKpzqpk9BvA4Q7sL+dKR0dV8Mq+jcjrjZaqAQqWWrZwlGZJ8TXKdZPZ/6Jr3uEUN/3Y5+wHAVfwqEF4CuG1m7wo5QL6cQgD1bi+pL7KnejnbpkipZSxnj2RJfame/AvouKReQZE9NVU5203MbKv98yuAJn6douQUKbVU5exRLqkvbPiXsJw9siX1XlEJ8IpKgEsV4FIFuFQBLlWASxXgUgW4VAH/AU+HBSpejOCKAAAAAElFTkSuQmCCn”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD00lEQVR4nO2cPUwUQRiG31fMNcbkCpBCDZhgSGikuFiZEAuNVlJqBw2VBaUl9FfQ0FxhqIwFiYHC+NMQW84E4k/EXMwlSoGB5Ig0EshnwZlgsrO3d+6798P3NNztt8x+92Rmd2Z2Z2lmcNLlXLsT6EVcqgCXKsClCnCpAlyqgPOKQvP5vI2MjCiKDrK3txeMHR4eYmdnJzI2NjYWW24ul4vcXq1Wsbu7y6iYROrg4CDK5bKi6CBLS0vBWK1Ww9zcXGRsdXU1ttzh4eHI7YVCIfg/3vwFuFQBLlWASxXgUgVIrv4qVlZWgrHp6elgrFgsYn9/X5FSJF5TBbhUAS5VgEsV4FIFuFQBHdWlWltbi41PTk4GYxMTEy0dMzRh8j94TRXgUgW4VAGJzqkkqwB+ATgGcGRm4Rlap6kL1W0z25Vl0kN48xeQVKoBeEPyPckZZUK9QNLmf8vMtkleAvCW5Bcze3d6h7rsGQAYGBgI9jkPDg6CB6lUKrFJLC8vB2PHx8fBGEksLi5Gxhr1jVuBzT71R3IOwIGZFUP7jI6O2tbWVmQs7kfEde4BYGFhIRir1WrBWC6XQ6lUioxtbGzEHjNEoVBAuVyOvEXdsPmTvEDy4t/PAO4C+NhSJmeEJM1/EMALkn/3f2Zmr6RZdTkNpZrZNwA3MsilZ/AulQCXKiDzqb+4K3gjZmdng7G4u6XFYhGbm5tNlwm0lq/XVAEuVYBLFeBSBbhUAS5VQOZdqri7l43ubObz+WCs0YTK0NBQZGxqair2mK3gNVWASxXgUgW4VAEuVYBLFdBVs1RxxM029ff3B7tO4+PjqefiNVWASxXgUgW4VAEuVYBLFeBSBXTUQor/IW5aMGu8pgpwqQISSSV5j+QWyQrJJ+qkup0kj1L2AVgEcB/AGIBHJOPfO3TGSVJTbwKomNk3MzsE8BzAA21a3U0SqZcBfD/1/Ud9mxMgtS7V6Wf+Afwm2UlPW/cDiFyuND8/32qZ0bdnkUzqNoCrp75fqW/7BzMrASgBAMlyJy1gyzqfJM1/HcB1ktdI5gA8BBD/LrczTpLH049IPgbwGkAfgKdm9kmeWReT6JxqZi8BvGyi3Oj1Ne0j03yaXkflNMaHqQJSldppw1mSVZIfSG6QzOyFrqk1//pw9iuAOzgZIKwDeGRmn1M5QGs5VQEUsl5Sn2ZN9eFsnTSlduJwti1L6ntm5j9AwyX1CtKsqYmGs1liZtv1vz8BvMDJKUpOmlI7ajjbziX1qTX/DhzOtm1JvY+oBPiISoBLFeBSBbhUAS5VgEsV4FIFuFQBfwDsXRavKjGlBwAAAABJRU5ErkJggg==n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD/klEQVR4nO2cwUscVxzHv99EChqKe6gRScsqWIRcqrD0VNAeIs1JvTU3veRiQU/So39ADnroxUPwFOIp0kNo0ov2mi0oSUOUEAZaBcsKSnKpRH49ZAMG9s3MDvNdZ5ff56K7v903Pz++N/Pem/eGZgYnX65cdgKdiEsV4FIFuFQBLlWASxXQpSi0VCrZ8PBw7uUeHx8HY4eHh8FYuVxGV1fjP7WnpydTLlEUoVarsVFMIrW/vx/VajX3ctfX14Ox5eXlYGx1dRUDAwMNY6Ojo5lyqVQqwZg3fwEuVYBLFeBSBbhUAZKrf1aiKIqNz83NBWNTU1PBWHd3d+arfBa8pgpwqQJcqgCXKsClCnCpAgrVpVpcXIyN9/b2BmMrKyvBWFJXLW+8pgpwqQJcqoBU51SSEYC3AM4BvDez8Ayt09SF6nszq8ky6SC8+QtIK9UAPCX5J8m7yoQ6gbTN/zszOyB5HcDvJF+Z2R8XP1CXfRcA+vr6sLW11bCg8/Pz4EEmJiZik5icnAzG9vf3g7Gzs7NgPgrY7Ko/kssA3pnZvdBnRkZGbG9vr2Hs5OQkWPbg4GDssePim5ubwVgURYn/sGapVCqoVqsNb1EnNn+S10h+/vF3AJMAXuSaYYeRpvn3A3hE8uPnH5jZb9Ks2pxEqWb2BsA3LcilY/AulQCXKqDlU39x03Cnp6ex393d3Q3GhoaGgrGNjY3g1GDSdGMWvKYKcKkCXKoAlyrApQpwqQJa3qWKm1BJolwuB2Ozs7PBWK1Wi13aHkeWLpfXVAEuVYBLFeBSBbhUAS5VQMu7VHH3isbHx2O/u729HYyNjY0FY0dHRyiVSg1jOzs7scfMgtdUAS5VgEsV4FIFuFQBLlWASxVQqI0USYvI4p4+sbCwEIwtLS0FpxxnZmbSpNYUXlMFuFQBqaSS/IHkHsnXJH9WJ9XupFlKeRXALwBuA7gJ4A7Jm+rE2pk0NfVbAK/N7I2ZnQF4CCD8xAInldQbAP6+8Pqf+ntOgNy6VBfX/AP4j2RhVlvPz89/AaDhdqXp6emsxQZv7aaRegDgqwuvv6y/9wlmtgZgDQBIVou0ga3V+aRp/s8AfE1yiORnAH4E8Ks2rfYmzfL09yR/AvAEwFUA983sL3lmbUyqc6qZPQbwuIly17KlI6Ol+TS9j8pJxoepAnKVWrThLMmI5HOSOyTzf6Br6Lh5Nf/6cHYfwC18GCA8A3DHzF7mcoBsOUUAKq3eUp9nTfXhbJ08pRZxOHspW+oLNfMvIHFLvYI8a2qq4WwrMbOD+s9/ATzCh1OUnDylFmo4e5lb6nNr/gUczl7alnofUQnwEZUAlyrApQpwqQJcqgCXKsClCnCpAv4HUr8fu6Ci5Z4AAAAASUVORK5CYII=n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD5ElEQVR4nO2cv08UWxTHv18xEDAkmyBuoQRMeJCYECk2VhZQKEpjq1TQWL2C8pXvD4CEbGJDYUJj7EgsjD8aYuuaQFQihpglSmMoINK4kZxXuCa89/bOzkzmO+zi+TSwe3bunP3k3tlzZ+YOzQxOtpw56QROIy5VgEsV4FIFuFQBLlXAWUWjhULBhoeHE2+3ubkZGT86OgrGent7g7G+vj50dXU1jHV2dsZL7j9Uq1Xs7e2xUUwitVgsolKpJN5ufHw8Mr6/vx+MTUxMBGMzMzMYGRlpGBsaGoqT2v8olUrBmA9/AS5VgEsV4FIFuFQBkl//tMzPz0fG5+bmgrGVlZVgbGxsDFNTUw1jirN03lMFuFQBLlWASxXgUgW4VAEtVVLNzs5GxqNKqrSsra1FxqNO1ITwnirApQpwqQJiHVNJVgF8A3AE4IeZhc/QOol+qCbNbE+WySnCh7+AuFINwAuSb0jeVyZ0Gog7/K+b2S7JCwBekvxgZq+Of6Au+z4A9Pf3N63/GnF4eBgZX1hYSNwmAAwMDKBcLjeM1Wq1yG3TfA8mPZ9I8m8Ah2YW/Iajo6O2tbWVOJlmX2BycjJxmwBQLpexuLiYap+hq62lUgmVSqXhJeqmw5/kOZK9v/4HcBPAu2bb/c7EGf5FAKskf33+kZk9k2bV5jSVamafAFzNIZdTg5dUAlyqgJY69ZemfIlDsVgMXqlNey9VFN5TBbhUAS5VgEsV4FIFuFQBuZdU6+vrwdjS0pJknz09PU1vfc8S76kCXKoAlyrApQpwqQJcqoDcS6qos0IHBwep2x0cHAzGuru7vaRqd1yqAJcqwKUKcKkCXKoAlyog9zq1UCgEY1G1JgDs7OykardWq6FarTaMKepX76kCXKqAWFJJ3iK5RXKb5F/qpNqdOLdSdgB4AOA2gCsA7pG8ok6snYnTU68B2DazT2ZWA/AYwB1tWu1NHKkXAXw+9vpL/T0nQGYl1fF7/gF8J5nr3dYbGxvB2PT09HkAWS9XCtZ/caTuAhg49vpS/b1/YWbLAJYBgGSllRaw5Z1PnOH/GsAfJC+T7ARwF8ATbVrtTZzb03+Q/BPAcwAdAB6a2Xt5Zm1MrGOqmT0F8DRBu8vp0pGRaz6J11E5zfFpqoBMpbbadJZkleRbkuskkz/QNe1+sxr+9ensRwA38HOC8BrAPTOLfnyvkPpzCkp5L6nPsqf6dLZOllJbcTp7IkvqW2odlYCmS+oVZNlTY01n88TMdut/vwJYxc9DlJwspbbUdPYkl9RnNvxbcDp7YkvqfUYlwGdUAlyqAJcqwKUKcKkCXKoAlyrApQr4B0PLDoSmOqrLAAAAAElFTkSuQmCCn”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAEDElEQVR4nO2cz0tUURTHv18n2uTgLLJZVKhgCIEoJK1a2KKolS5zpStXBQqzaKl/wbhpoYvQjYSbsEX0Y6G0bQKhH1RIPDBHCBWllZGcFo0w2dzbe493njPT+WxG3/fduccv9zr33HfPUERgJEvLSQfQjJipCpipCpipCpipCpipCpzSeNNcLifd3d2R25XLZa++tbXl1DKZjFPr6upCS0vt8ZPNZsMFd4wgCLC9vc1amoqp+XwepVIpcrupqSmvPj097dRaW1udWrFYdOqDg4NhQvuLgYEBp2bTXwEzVQEzVQEzVQEzVQGVT38fY2NjTm1hYcHbdmhoyKkFQeDUyuUyFhcXa2qrq6vePuNgI1UBM1UBM1UBM1UBM1UBM1WB1JdUvqVPsVj0tp2YmHBq/f39Ti2bzcbeOImDjVQFzFQFzFQFQv1PJRkA+A7gEMBPEXHv0BqRPqiui8i2WiRNhE1/BcKaKgBekHxDclwzoGaAYQ6okTwvIpskzwF4CeCeiLw6ds84gHEAaG9vv7K0tBQ5mMPDQ6++s7Pj1DY2NpxaR0cHdnd3a2r5fN7bZ1tbW83rhUIBpVIp/tNUEdmsvH4j+RjAVQCvjt0zB2AOAHp6eiTOYntvb8+rz8/PO7VCoeDUZmdnnfupk5OT3j7j/B3/nP4kz5DMHv0M4CaAd5F7+o8IM1LzAB6TPLp/UUSeqUbV4PzTVBH5AqAvhViaBltSKWCmKpD61t/y8rJTGx0d9bbd39+P1efBwYFzy3FlZcXb1vcE14WNVAXMVAXMVAXMVAXMVAXMVAVSX1L19bmTM9/TUgCYmZlxasPDw06tt7fX+xQ3aWykKmCmKmCmKmCmKmCmKmCmKpD6kqqzs9Op5XI5b1vfLpWvWjDN5RRgI1UFM1UBM1UBM1UBM1UBM1UBM1WB1NepPtbW1ry6b9vQt/61dWoTYKYqEMpUkrdIfiK5TvK+dlCNTpijlBkADwDcBnAZwAjJy9qBNTJhRupVAOsi8kVEfgB4BCD6WZj/iDCmngdQffb7a+Wa4SCxJVX1mX8AByRTPW1dOZTs4iyApMuVOlxCGFM3AVys+v1C5dofVJ/5J1mqpwK2tOMJM/1fA7hEsovkaQB3ADzRDauxCXM8/SfJuwCeA8gAeCgi79Uja2DClvw8BfA0wvvOxQtHjVTjCVWcZkTD0lQFEjW13tJZkgHJtyTXSEb/Qte4/SY1/Svp7GcAN/A7QXgNYEREPiTSQbyYAgADaZfUJzlSLZ2tkKSp9ZjOnkhJfV3t/CtwrbqknuTH4yX1GiQ5UkOls2lSXVIP4KikXp0kTa2rdPYkS+oTm/51mM6eWEm9ZVQKWEalgJmqgJmqgJmqgJmqgJmqgJmqgJmqwC/ARCjDgBPWJgAAAABJRU5ErkJggg==n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAD70lEQVR4nO2cP0wcRxTGv8+OIkEU3RXBCJEIIp2FoAlSkKsUuLDlVLRxSUOVVFyRDuiROIo0FBEVimiMXFhJ3IBbzsKSkyiJLHNS+CMhCqRUsXx6LnxIF7Qz3lvvd9wd79fA7budefpplp3ZnQfNDE6+XLvsBHoRlyrApQpwqQJcqgCXKuADRaPFYtFKpVLL59Xr9Wj86OgoGDs5OQnGhoaGcHx8nBgbHx+P9tnf3594vFar4fT0lEkxidTBwUFUq9WWzzs7O4vGFxcXg7HV1dVgbH5+HuVyOTG2sbER7XNycjLx+NTUVPAcv/wFuFQBLlWASxXgUgVI7v5ZCd1p08QXFhYy9bm1tfVeOSXhI1WASxXgUgW4VAEuVYBLFdBRU6r19fVofHp6OlO7lUoFhUIhMTY6OpqpzRg+UgW4VAEuVUCqv6kkawD+BVAH8NrMwk9onZZuVLfN7FSWSQ/hl7+AtFINwK8kn5KcUybUCzDNBjWSw2Z2SPIGgMcAvjOzJxe+MwdgDgAGBga+3NzcVOQbJPY21cxwcHCQGJuYmIi229fXl3i8XC6jWq1mf5tqZoeNnyckHwC4BeDJhe+sAVgDgLGxMcs6Uc9KpVIJxur1evBt6t7eXrRdyfNUkh+R/Pj8dwB3AfzWck9XiDQjdRDAA5Ln398ws5+lWXU575RqZi8BfNGGXHoGn1IJcKkCuurRXyy+s7MTjC0vL2fuMzarCOEjVYBLFeBSBbhUAS5VgEsV0PYpVWwL+uzsbPTckZGRTH2WSqXgRrSZmZlMbcbwkSrApQpwqQJcqgCXKsClCmj7lKpYLAZj+/v70XNjT5SWlpaCsUKhkHlzWxZ8pApwqQJcqgCXKsClCnCpAlyqgI56m/quoobt7e1gbGVlJd9k3gMfqQJcqoBUUkneI/kXyRckv1cn1e2k2Up5HcAPAL4GMAHgPsn4TtkrTpqRegvACzN7aWavAPwEIP8XOz1EGqnDAP5p+nzQOOYEyG1K1bznH8B/JNu62zq2QQ3AJwDyLlcKvtpNI/UQwGdNnz9tHPsfzXv+SVY7qYCt3fmkufx3Adwk+TnJDwF8A+ChNq3uJs329NckvwXwC4DrAH40s9/lmXUxaUt+HgF41EK7a9nSkdHWfFIVpzmt4ctUAblK7bTlLMkayeckn5Fs/R+6Zu03r8u/sZz9G8AdvF0g7AK4b2Z/5NJBtpxqAKbaXVKf50j15WyDPKV24nL2UkrqO+rJv4CvmkvqSf55saReQZ4jNdVytp00l9QDOC+pl5On1I5azl5mSX1ul38HLmcvraTeV1QCfEUlwKUKcKkCXKoAlyrApQpwqQJcqoA3O7YguY4E3+cAAAAASUVORK5CYII=n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
},
{
“output_type”: “display_data”,
“data”: {
“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAFUAAABZCAYAAABPN2ghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAEJElEQVR4nO2cv0tkVxiG3zcTIhICA2osNkGDBsEmgrJVRC0SEhCiXbYQrKwScMAipf+BgqSxCNqEYLOaYtlNGtl2RxDygyTIMpJoISMoVgkrX4odYTLcc+fOzX2vM+73NDr3m3POx8O5M+ece87QzOBky2u3ncBdxKUKcKkCXKoAlyrApQp4XVFpsVi04eHhlssdHR3Fxi8vL4Oxnp6eYKy3txfd3d2RsUKhkCy5BiqVCqrVKqNiEqn9/f0ol8stl5ubm4uN7+3tBWOzs7PB2MLCAsbHxyNjxWIxWXINTExMBGN++wtwqQJcqgCXKsClCpB8+8dxcXERjO3v78eWHRgYCMZ2d3eDscnJSWxsbLRcLi3eUwW4VAEuVYBLFeBSBbhUAbkPqba2toKxZosbh4eHqWIHBwfBxZi4cgAwNjYWG4/Ce6oAlyrApQpI9JlKsgLgCsA1gBdmFl6hdVr6opoxs6oskzuE3/4Ckko1AD+QPCC5pEzoLsAkG9RI3jOzE5JvA/gRwJdm9rThPUsAlgCgr69vfGdnJ7Kus7OzYDvVavyny+joaNNcozg/P8fV1VVk7Pr6Orbs0NBQ5PWVlRWUy+X0T1PN7KT294zkQwD3ATxteM8mgE0AGBkZsenp6ci61tfXg+3ETQyA5gP1uHpDa7Vx67tAuvXWprc/yTdJvnXzP4CPAfzcckuvEEl6aj+AhyRv3v+tmT2WZtXhNJVqZs8BfJBDLncGH1IJcKkCcl/6q1QqwVjafU3N6OrqwuDgYGSs2RPcNHhPFeBSBbhUAS5VgEsV4FIF5D6kmpmZCcYUm8WAl/v6Q8O1ZgsqafCeKsClCnCpAlyqAJcqwKUKyH1INTU1FYwdHx/Hll1cXAzG5ufng7HT01Osrq5GxpaXl2PbTIP3VAEuVYBLFeBSBbhUAS5VgEsVkPs4Ne6J6draWmzZUqkUjG1vb6eqNzR+/T94TxXgUgUkkkryE5K/kzwi+ZU6qU4nyVbKAoCvAXwKYBTAA5Lpdt++IiTpqfcBHJnZczP7B8B3AD7TptXZJJF6D8Cfda//ql1zAmQ2pKrf8w/gb5Jts9u6VCr1Aog8UFDbzJyG4G+PJJF6AuDdutfv1K79h/o9/yTL7XSALe98ktz+zwC8T/I9km8A+BzA99q0Opsk29NfkPwCwBMABQDfmNkv8sw6mKRHfh4BeNRCvZvp0pGRaz6JDqc5reHTVAGZSm236SzJCsmfSB6SbP0HXdO2m9XtX5vO/gHgI7ycIDwD8MDMfs2kgXQ5VQBM5H2kPsue6tPZGllKbcfp7K0cqc995T9nPqw/Uk/yt8Yj9Qqy7KmJprN5Un+kHsDNkXo5WUptq+nsbR6pz+z2b8Pp7K0dqfcZlQCfUQlwqQJcqgCXKsClCnCpAlyqAJcq4F9KKDDiUpIuPAAAAABJRU5ErkJggg==n”,
“text/plain”: [

]
},
“metadata”: {
“needs_background”: “light”
}
}
]
},
{
“cell_type”: “code”,
“metadata”: {
“colab”: {
“base_uri”: “https://localhost:8080/”
},
“id”: “07486c3d”,
“outputId”: “b57e5074-3938-4332-ee35-f17e0b77c4cf”
},
“source”: [
“from sklearn.model_selection import train_test_splitn”,
“n”,
“from sklearn.model_selection import cross_val_scoren”,
“n”,
“from sklearn.preprocessing import MinMaxScalern”,
“n”,
“# we keep 30% random examples for testn”,
“n”,
“X_train, X_test, y_train, y_test = train_test_split(X,n”,
“n”,
“y, test_size=0.3, random_state=101)n”,
“n”,
“# we scale the data in the range [-1,1]n”,
“n”,
“scaling = MinMaxScaler(feature_range=(-1, 1)).fit(X_train)n”,
“n”,
“X_train = scaling.transform(X_train)n”,
“X_test = scaling.transform(X_test)n”,
“n”,
“n”,
“from sklearn.svm import SVCn”,
“n”,
“svm = SVC()n”,
“n”,
“cv_performance = cross_val_score(svm, X_train, y_train,n”,
“n”,
“cv=10)n”,
“n”,
“test_performance = svm.fit(X_train, y_train).score(X_test,n”,
“n”,
“y_test)n”,
“n”,
“print (‘Cross-validation accuracy score: %0.3f,” test accuracy score: %0.3f’ % (np.mean(cv_performance),test_performance))n”
],
“id”: “07486c3d”,
“execution_count”: 2,
“outputs”: [
{
“output_type”: “stream”,
“name”: “stdout”,
“text”: [
“Cross-validation accuracy score: 0.986, test accuracy score: 0.987n”
]
}
]
},
{
“cell_type”: “code”,
“metadata”: {
“colab”: {
“base_uri”: “https://localhost:8080/”
},
“id”: “53072a1d”,
“outputId”: “ae65ef55-18c7-47b2-c20a-62ec639d3bea”
},
“source”: [
“import numpy as npn”,
“from sklearn.model_selection import GridSearchCVn”,
“from sklearn import svmn”,
“n”,
“learning_algo = SVC(kernel=’linear’, random_state=101)n”,
“n”,
“search_space = [{‘kernel’: [‘linear’],n”,
“n”,
“‘C’: np.logspace(-3, 3, 7)},n”,
“n”,
“{‘kernel’: [‘rbf’],n”,
“n”,
“‘C’:np.logspace(-3, 3, 7),n”,
” ‘gamma’: np.logspace(-3, 2, 6)}]n”,
“n”,
“gridsearch = GridSearchCV(learning_algo,n”,
“n”,
“param_grid=search_space,n”,
“n”,
“refit=True, cv=10)n”,
“n”,
“gridsearch.fit(X_train,y_train)n”,
“n”,
“print (‘Best parameter: %s’n”,
“n”,
“% str(gridsearch.best_params_))n”,
“n”,
“cv_performance = gridsearch.best_score_n”,
“n”,
“test_performance = gridsearch.score(X_test, y_test)n”,
“print (‘Cross-validation accuracy score: %0.3f,” test accuracy score: %0.3f’% (cv_performance,test_performance))n”,
“n”,
“n”
],
“id”: “53072a1d”,
“execution_count”: 3,
“outputs”: [
{
“output_type”: “stream”,
“name”: “stdout”,
“text”: [
“Best parameter: {‘C’: 10.0, ‘gamma’: 0.1, ‘kernel’: ‘rbf’}n”,
“Cross-validation accuracy score: 0.988, test accuracy score: 0.987n”
]
}
]
},
{
“cell_type”: “code”,
“metadata”: {
“colab”: {
“base_uri”: “https://localhost:8080/”,
“height”: 752
},
“id”: “75b7e9b1”,
“outputId”: “d272ed63-2bc8-4568-e255-2cb2798f5175”
},
“source”: [
“prediction = gridsearch.predict(X_test)n”,
“n”,
“wrong_prediction = (prediction!=y_test)n”,
“n”,
“test_digits = scaling.inverse_transform(X_test)n”,
“n”,
“for n,(number,yp,yt) in enumerate(zip(scaling.inverse_transform(X_test)[wrong_prediction],prediction[wrong_prediction],y_test[wrong_prediction])):n”,
” plt.subplot(2, 5, n+1)n”,
” plt.imshow(number.reshape((8,8)),cmap=’binary’,interpolation=’none’,extent=[0,8,0,8])n”,
” plt.title(‘pred:’+str(yp)+”!=””+str(yt))n””




Why Choose Us

  • 100% non-plagiarized Papers
  • 24/7 /365 Service Available
  • Affordable Prices
  • Any Paper, Urgency, and Subject
  • Will complete your papers in 6 hours
  • On-time Delivery
  • Money-back and Privacy guarantees
  • Unlimited Amendments upon request
  • Satisfaction guarantee

How it Works

  • Click on the “Place Order” tab at the top menu or “Order Now” icon at the bottom and a new page will appear with an order form to be filled.
  • Fill in your paper’s requirements in the "PAPER DETAILS" section.
  • Fill in your paper’s academic level, deadline, and the required number of pages from the drop-down menus.
  • Click “CREATE ACCOUNT & SIGN IN” to enter your registration details and get an account with us for record-keeping and then, click on “PROCEED TO CHECKOUT” at the bottom of the page.
  • From there, the payment sections will show, follow the guided payment process and your order will be available for our writing team to work on it.