diff --git a/README.md b/README.md deleted file mode 100644 index cfab488..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Data_visualization - -There is my group project, personal assignment and lesson slides for data_visualization lessons. \ No newline at end of file diff --git a/project2_leik18_.ipynb b/project2_leik18_.ipynb deleted file mode 100644 index 1fa9071..0000000 --- a/project2_leik18_.ipynb +++ /dev/null @@ -1,208 +0,0 @@ -{ - "cells": [ - { - "source": [ - "# project2" - ], - "cell_type": "markdown", - "metadata": {} - }, - { - "source": [ - "## Step01 replicate the graph" - ], - "cell_type": "markdown", - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "execution": { - "iopub.execute_input": "2020-11-22T15:20:39.503512Z", - "iopub.status.busy": "2020-11-22T15:20:39.502501Z", - "iopub.status.idle": "2020-11-22T15:20:39.510478Z", - "shell.execute_reply": "2020-11-22T15:20:39.509481Z", - "shell.execute_reply.started": "2020-11-22T15:20:39.503512Z" - } - }, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "execution": { - "iopub.execute_input": "2020-11-22T15:20:25.360666Z", - "iopub.status.busy": "2020-11-22T15:20:25.359668Z", - "iopub.status.idle": "2020-11-22T15:20:25.369639Z", - "shell.execute_reply": "2020-11-22T15:20:25.368643Z", - "shell.execute_reply.started": "2020-11-22T15:20:25.360666Z" - } - }, - "outputs": [], - "source": [ - "x = list(range(46))\n", - "adam = [0.7,0.38,0.33,0.32,0.31,0.3,0.29,0.29,0.28,0.277,0.274,0.27,0.264,0.268,0.262,0.263,0.262,0.261,0.256,0.259,0.255,0.257,0.257,0.257,0.253,\n", - " 0.255,0.253,0.254,0.2545,0.255,0.253,0.254,0.253,0.2533,0.2536,0.254,0.253,0.2545,0.2533,0.2536,0.2539,0.2535,0.2531,0.254,0.2533,0.2538]\n", - "sgd = [0.7,0.38,0.337,0.329,0.32,0.315,0.305,0.305,0.295,0.291,0.288,0.284,0.278,0.282,0.276,0.277,0.275,0.274,0.269,0.272,0.268,0.269,0.269,0.269,\n", - " 0.265,0.267,0.264,0.265,0.2655,0.266,0.264,0.265,0.264,0.2643,0.2646,0.265,0.263,0.2645,0.2633,0.2636,0.2639,0.2635,0.2631,0.264,0.2633,0.2638]\n", - "\n", - "#当x的值为0-6时,数值缺失,所以数值从x=7开始\n", - "AdaGrad=[0.7,0.67,0.655,0.64, 0.626,0.612,0.604,0.59,0.585, 0.576,0.567,0.555,0.553,0.544, 0.541,0.526,0.532,0.521,0.521,\n", - " 0.512,0.51,0.505,0.502,0.49,0.494,0.485,0.484,0.482,0.48,0.472,0.476,0.469,0.468,0.466,0.463,0.458,0.461,0.456,0.457]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Mnist Logistic Regression')" - ] - }, - "metadata": {}, - "execution_count": 4 - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/svg+xml": "\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.patches as patches\n", - "from matplotlib.lines import Line2D\n", - "\n", - "fig, ax = plt.subplots(figsize = (5, 5))\n", - "#ax.figure(figsize = (5, 5))\n", - "ax.plot(x[7:], AdaGrad, color = 'blue', linewidth = 0.7, label = 'AdaGrad')\n", - "ax.plot(x, sgd, color = 'green', linewidth = 0.7, label = 'SGDNesterov')\n", - "ax.plot(x, adam, color = 'red', linewidth = 0.7, label = 'Adm')\n", - "ax.grid(color = 'grey', linestyle = '--', linewidth = 0.5)\n", - "plt.legend()\n", - "\n", - "plt.xticks([i * 5 for i in range(10)], size = 8)\n", - "plt.margins(x = 0)\n", - "plt.margins(y = 0)\n", - "plt.yticks([0.2, 0.3, 0.4, 0.5, 0.6, 0.7], size = 8)\n", - "\n", - "plt.xlabel(\"iterations over entire dataset\", fontdict={'size' : 8}) \n", - "plt.ylabel(\"training cost\", fontdict={'size' : 8}) \n", - "plt.title(\"Mnist Logistic Regression\") " - ] - }, - { - "source": [ - "There are changes I want to imporve:\n", - "* Change the color of the line\n", - "* Remove the grid\n", - "* Remove the top and right border " - ], - "cell_type": "markdown", - "metadata": {} - }, - { - "source": [ - "## Step02 imporve it" - ], - "cell_type": "markdown", - "metadata": {} - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Mnist Logistic Regression')" - ] - }, - "metadata": {}, - "execution_count": 5 - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/svg+xml": "\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "import numpy as np \n", - "import matplotlib.pyplot as plt \n", - "\n", - "\n", - "fig, ax = plt.subplots(figsize = (5, 5))\n", - "ax.plot(x[7:], AdaGrad, color = \"orange\",linewidth = 0.7, label = 'AdaGrad')\n", - "ax.plot(x, sgd, color = \"blue\", linewidth = 0.7, label = 'SGDNesterov')\n", - "ax.plot(x, adam, color = \"cornflowerblue\", linewidth = 0.7, label = 'Adm')\n", - "plt.xticks([i * 5 for i in range(10)], size = 8)\n", - "plt.yticks([0.2, 0.3, 0.4, 0.5, 0.6, 0.7], size = 8)\n", - "# plt.margins(x = 0)\n", - "# plt.margins(y = 0)\n", - "plt.legend()\n", - "\n", - "ax.spines['top'].set_visible(False)\n", - "ax.spines['right'].set_visible(False)\n", - "# ax.grid(color = 'grey', linestyle = '--', axis = 'y', linewidth = 0.5)\n", - "\n", - "plt.xlabel(\"iterations over entire dataset\", fontdict={'size' : 8}) \n", - "plt.ylabel(\"training cost\", fontdict={'size' : 8}) \n", - "plt.title(\"Mnist Logistic Regression\") \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "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.3-final" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} \ No newline at end of file diff --git a/report.md b/report.md deleted file mode 100644 index 6006586..0000000 --- a/report.md +++ /dev/null @@ -1,7 +0,0 @@ -# The - -## Abstract - Logistic regression training negative log likelihood on MNIST images with 10,000 bag-of-words (BoW) feature vectors. - - ## Introduction - In regression training we need some visualization to show the results of training. A excellent graph can b \ No newline at end of file diff --git a/require_1&2_version_1.wps b/require_1&2_version_1.wps deleted file mode 100644 index e7a021f..0000000 Binary files a/require_1&2_version_1.wps and /dev/null differ