{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Revisions (29/06/2021)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exercise 1.\n", "\n", "Consider the dataset given below. learn a classifier on this dataset using the kernel trick and gradient descent." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import scipy.io\n", "import matplotlib.pyplot as plt\n", "\n", "data1 = scipy.io.loadmat('data1_ex1.mat')['data1_ex1']\n", "data2 = scipy.io.loadmat('data2_ex1.mat')['data2_ex1']\n", "\n", "plt.scatter(data1[:,0], data1[:,1], c='r')\n", "plt.scatter(data2[:,0], data2[:,1], c='b')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exercise 2.\n", "\n", "Detect the clusters from the dataset given below using :\n", " \n", " - K-means with random initialization of the centroids\n", " - K means with the Kauffman initialization\n", " - K medoid \n", " - Hierarchical clustering with single linkage \n", " - Hierarchical clustering with complete linkage \n", " - Hierarchical clustering with group average " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import scipy.io\n", "import matplotlib.pyplot as plt\n", "\n", "data = scipy.io.loadmat('data_ex2.mat')['data_ex2']\n", "\n", "plt.scatter(data[:,0], data[:,1])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exercise 3.\n", "\n", "Consider the regression problem given below. we want to learn the line that best predicts the targets stored in 'ex3_targets' from the features given in 'ex3_data'. Apply a best subset selection approach coupled with cross validation to determine the best feature subset for the model. For each $K=1, \\ldots 5$ plot the minimum prediction error across the subsets of size K. " ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "ex3_data = np.load('ex3_data.npy')\n", "ex3_targets = np.load('ex3_targets.npy')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exercise 4.\n", "\n", "Using the dataset given below: \n", " - learn a logistic regression classifier \n", " - learn a LDA classifier " ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import scipy.io\n", "import matplotlib.pyplot as plt\n", "\n", "data1 = scipy.io.loadmat('data_ex4_class1.mat')['data_ex4_class1']\n", "data2 = scipy.io.loadmat('data_ex4_class2.mat')['data_ex4_class2']\n", "\n", "plt.scatter(data1[:,0], data1[:,1], c='r')\n", "plt.scatter(data2[:,0], data2[:,1], c='b')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exercise 5.\n", "\n", "Find the different clusters in the dataset below using the EM algorithm" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import scipy.io\n", "import matplotlib.pyplot as plt\n", "\n", "data = scipy.io.loadmat('data_ex5.mat')['data_ex5']\n", "\n", "plt.scatter(data[:,0], data[:,1])\n", "plt.show()" ] } ], "metadata": { "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }