diff --git a/Exercise8/exercise8.ipynb b/Exercise8/exercise8.ipynb index d8aeda3..9fba4db 100755 --- a/Exercise8/exercise8.ipynb +++ b/Exercise8/exercise8.ipynb @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -97,9 +97,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "# The following command loads the dataset.\n", "data = loadmat(os.path.join('Data', 'ex8data1.mat'))\n", @@ -144,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -179,11 +192,13 @@ " m, n = X.shape\n", "\n", " # You should return these values correctly\n", - " mu = np.zeros(n)\n", - " sigma2 = np.zeros(n)\n", + "# mu = np.zeros(n)\n", + "# sigma2 = np.zeros(n)\n", "\n", " # ====================== YOUR CODE HERE ======================\n", "\n", + " mu = np.mean(X, axis=0)\n", + " sigma2 = 1/m * np.sum((X-mu)**2, axis=0)\n", " \n", " # =============================================================\n", " return mu, sigma2" @@ -205,9 +220,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "# Estimate my and sigma2\n", "mu, sigma2 = estimateGaussian(X)\n", @@ -232,9 +260,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Submitting Solutions | Programming Exercise anomaly-detection-and-recommender-systems\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Login (email address): coursera@dbauer.me\n", + "Token: N5nYZeeTVwvqq5QY\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Part Name | Score | Feedback\n", + " --------- | ----- | --------\n", + " Regularized Gradient | 15 / 15 | Nice work!\n", + " Estimate Gaussian Parameters | 0 / 15 | Your answer is incorrect.\n", + " Select Threshold | 0 / 20 | Your answer is incorrect.\n", + " Collaborative Filtering Cost | 0 / 30 | Your answer is incorrect.\n", + " Collaborative Filtering Gradient | 0 / 10 | Your answer is incorrect.\n", + " Regularized Cost | 0 / 10 | Your answer is incorrect.\n", + " --------------------------------\n", + " | 15 / 100 | \n", + "\n" + ] + } + ], "source": [ "grader[1] = estimateGaussian\n", "grader.grade()" @@ -286,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -326,11 +389,19 @@ " bestEpsilon = 0\n", " bestF1 = 0\n", " F1 = 0\n", - " \n", + " \n", " for epsilon in np.linspace(1.01*min(pval), max(pval), 1000):\n", " # ====================== YOUR CODE HERE =======================\n", - "\n", " \n", + " y_est = pval < epsilon\n", + "\n", + " tp = np.sum((y_est == 1) & (yval == 1))\n", + " fp = np.sum((y_est == 1) & (yval == 0))\n", + " fn = np.sum((y_est == 0) & (yval == 1))\n", + " print(tp, fp, fn)\n", + " prec = tp / (tp + nf)\n", + " rec = tp / (tp + fn)\n", + " F1 = 2 * prec * rec / (prec + rec)\n", " \n", "\n", " # =============================================================\n", @@ -350,9 +421,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 0 8\n" + ] + }, + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'int' and 'module'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0mTraceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mpval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mutils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmultivariateGaussian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msigma2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mF1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mselectThreshold\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Best epsilon found using cross-validation: %.2e'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Best F1 on Cross Validation Set: %f'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mF1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mselectThreshold\u001b[0;34m(yval, pval)\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0mfn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_est\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0myval\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 47\u001b[0;31m \u001b[0mprec\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtp\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mfp\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 48\u001b[0m \u001b[0mrec\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtp\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mtp\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0mF1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mprec\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mrec\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mprec\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mrec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'module'" + ] + } + ], "source": [ "pval = utils.multivariateGaussian(Xval, mu, sigma2)\n", "\n", @@ -1019,9 +1110,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.4" + "version": "3.7.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }