diff --git "a/homework_01_python/1. \345\255\227\347\254\246\344\270\262.ipynb" "b/homework_01_python/1. \345\255\227\347\254\246\344\270\262.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..157fd7a5d9f4720815b24a6270cfd511e90cba28 --- /dev/null +++ "b/homework_01_python/1. \345\255\227\347\254\246\344\270\262.ipynb" @@ -0,0 +1,84 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['One', 'is', 'always', 'on', 'a', 'strange', 'road', 'watching', 'strange', 'scenery', 'and', 'listening', 'to', 'strange', 'music', 'Then', 'one', 'day', 'you', 'will', 'find', 'that', 'the', 'things', 'you', 'try', 'hard', 'to', 'forget', 'are', 'already', 'gone']\n", + "watching 出现次数: 1\n", + "strange 出现次数: 3\n", + "on 出现次数: 1\n", + "hard 出现次数: 1\n", + "road 出现次数: 1\n", + "gone 出现次数: 1\n", + "are 出现次数: 1\n", + "already 出现次数: 1\n", + "to 出现次数: 2\n", + "the 出现次数: 1\n", + "that 出现次数: 1\n", + "forget 出现次数: 1\n", + "day 出现次数: 1\n", + "always 出现次数: 1\n", + "scenery 出现次数: 1\n", + "find 出现次数: 1\n", + "music 出现次数: 1\n", + "you 出现次数: 2\n", + "listening 出现次数: 1\n", + "things 出现次数: 1\n", + "will 出现次数: 1\n", + "Then 出现次数: 1\n", + "and 出现次数: 1\n", + "is 出现次数: 1\n", + "try 出现次数: 1\n", + "one 出现次数: 1\n", + "a 出现次数: 1\n", + "One 出现次数: 1\n" + ] + } + ], + "source": [ + "eassy = \"One is always on a strange road, watching strange scenery and listening to strange music. Then one day, you will find that the things you try hard to forget are already gone.\" \n", + "eassy = eassy.replace(',','').replace('.','')\n", + "eassy = eassy.split()\n", + "print(word)\n", + "setword = set(word)\n", + "for i in setword:\n", + " count = word.count(i)\n", + " print(i,'出现次数:',count)" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/10. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214.ipynb" "b/homework_01_python/10. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..890c0d808186ddd77d2b6cf98232785876b73cd8 --- /dev/null +++ "b/homework_01_python/10. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214.ipynb" @@ -0,0 +1,53 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from typing import List\n", + "class Solution:\n", + " def checkSubarraySum(self, nums: List[int], k: int) -> bool:\n", + " d, s = {0:-1}, 0\n", + " for i in range(len(nums)):\n", + " s = (s + nums[i]) % k if k else s + nums[i]\n", + " if s in d and i - d[s] > 1: return True\n", + " d.setdefault(s, i)\n", + " return False\n", + "\n", + "w = Solution()\n", + "nums = [23,2,4,6,7]\n", + "k = 6\n", + "w.checkSubarraySum(nums, k)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_03_Fashion/report_template.ipynb "b/homework_01_python/11. \347\241\256\345\256\232\345\255\227\347\254\246\344\270\262\346\230\257\345\220\246\345\214\205\345\220\253\345\224\257\344\270\200\345\255\227\347\254\246.ipynb" similarity index 35% rename from report_03_Fashion/report_template.ipynb rename to "homework_01_python/11. \347\241\256\345\256\232\345\255\227\347\254\246\344\270\262\346\230\257\345\220\246\345\214\205\345\220\253\345\224\257\344\270\200\345\255\227\347\254\246.ipynb" index 21eb1ce711b96fd98ffe44be0b1697fee849508a..82515c26c0e5b1cc3f321b72364a1250ce55a98c 100644 --- a/report_03_Fashion/report_template.ipynb +++ "b/homework_01_python/11. \347\241\256\345\256\232\345\255\227\347\254\246\344\270\262\346\230\257\345\220\246\345\214\205\345\220\253\345\224\257\344\270\200\345\255\227\347\254\246.ipynb" @@ -1,35 +1,36 @@ { "cells": [ { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 20, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "123\n", + "True\n" + ] + } + ], "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;数据的格式,包含了什么数据;最终的目标是什么\n", - "\n", - "## 解决途径\n", - "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 数据的可视化\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" + "astr = input('') #123\n", + "for i in astr:\n", + " if(astr.count(i)>1):\n", + " print('False')\n", + " break\n", + " else:\n", + " print('True')\n", + " break" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -48,9 +49,8 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" - }, - "main_language": "python" + "version": "3.7.0" + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/report_01_Price_Prediction/report_template.ipynb "b/homework_01_python/12. \350\203\275\345\244\237\346\213\274\346\210\220\345\244\232\345\260\221\344\270\252\345\215\225\350\257\215.ipynb" similarity index 35% rename from report_01_Price_Prediction/report_template.ipynb rename to "homework_01_python/12. \350\203\275\345\244\237\346\213\274\346\210\220\345\244\232\345\260\221\344\270\252\345\215\225\350\257\215.ipynb" index 21eb1ce711b96fd98ffe44be0b1697fee849508a..22e8bdc1f5a017c804d7253c1dc8fe6e9091b512 100644 --- a/report_01_Price_Prediction/report_template.ipynb +++ "b/homework_01_python/12. \350\203\275\345\244\237\346\213\274\346\210\220\345\244\232\345\260\221\344\270\252\345\215\225\350\257\215.ipynb" @@ -1,35 +1,43 @@ { "cells": [ { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;数据的格式,包含了什么数据;最终的目标是什么\n", - "\n", - "## 解决途径\n", + "from collections import Counter \n", + "class Solution:\n", + " def mmax(self, text: str) -> int:\n", + " dic = Counter(ch for ch in text if ch in \"balloon\")\n", + " dic['o'] //= 2\n", + " dic['l'] //= 2\n", + " return min(dic.values()) if len(dic) == 5 else 0\n", "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 数据的可视化\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" + "w = Solution()\n", + "w.mmax('nlaebolko')#1 \n", + "#loonbalxballpoon 2" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -48,9 +56,8 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" - }, - "main_language": "python" + "version": "3.7.0" + } }, "nbformat": 4, "nbformat_minor": 2 diff --git "a/homework_01_python/13. \347\224\237\346\210\220\346\277\200\346\264\273\347\240\201.ipynb" "b/homework_01_python/13. \347\224\237\346\210\220\346\277\200\346\264\273\347\240\201.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..ea6f63325db07c49e05c9d5f7abfc5ca31f9a6dd --- /dev/null +++ "b/homework_01_python/13. \347\224\237\346\210\220\346\277\200\346\264\273\347\240\201.ipynb" @@ -0,0 +1,257 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AyAtQAKLrtd\n", + "TBeClwhBlCy\n", + "3MDeLWP6knM\n", + "xxP8suwLeLj\n", + "YpDzCWKFZkx\n", + "tpCXsuYfMZC\n", + "gkzroab5weI\n", + "74LbRkRCnuB\n", + "LWTkyV3ymEV\n", + "gX9mp3lpm0z\n", + "bLQXDgu4GIy\n", + "j0QuI3TH4DD\n", + "wP7euPPtuym\n", + "uU5SRt9XBAJ\n", + "466poFYhXnI\n", + "NhMq8oiurjh\n", + "9eCM8JUiJiW\n", + "rRJMxp8V3us\n", + "hMwEmTNktKt\n", + "4EDrZanlC7a\n", + "apZMxtP4mzd\n", + "oC0J9aCqYY1\n", + "F5v4FfQJ04m\n", + "vFMpplQMIHN\n", + "X08rF4YjZJZ\n", + "Vkzg34L3VLL\n", + "nfYMv9axu1Z\n", + "kMMRLbdjMOC\n", + "AMrt6euPs6t\n", + "SlTD8FXlp6K\n", + "NXJz0EPWFvK\n", + "VZ2Ahzx7khV\n", + "TmZRwBkAy3V\n", + "nyWchSXuXCI\n", + "nGdGQFwHyvL\n", + "zrCU4i15cbE\n", + "xbFT2i1RelI\n", + "hvVgSx4kz9S\n", + "hxRR9ay6P9T\n", + "jxXbhbtXXJm\n", + "4IPpYBHQsUY\n", + "JcFGpvHi492\n", + "anwqWWA3zYs\n", + "SQxNlw9a3gj\n", + "S7cbaHsJZWK\n", + "QMKV6t0WF3T\n", + "TdjQmmFjQY7\n", + "lOGIGTr1sJK\n", + "ooB3Vv1cxHD\n", + "zmlLaaK9DLV\n", + "M5nFs0iIZw6\n", + "5zzutDLmBA0\n", + "gB0d7MefYvL\n", + "kx3drmt28ZD\n", + "QtCtRmzYEhZ\n", + "25EkPBwo1YP\n", + "GRnia1cLsWv\n", + "mUQTrq5hQYR\n", + "F6uooP1VGfI\n", + "dSgActzUde9\n", + "p9baFXdGvst\n", + "bK8VBhl3LP3\n", + "H1wyF1uDMzP\n", + "SQbmgilt8xE\n", + "NEXIXx1n7Qr\n", + "HrRJGXomOjm\n", + "fKjcViYz4OJ\n", + "qI3QDNzpCu0\n", + "1OvxJ6qK4ru\n", + "uDqwQIEGAot\n", + "jNldlzQJ9n6\n", + "wpk0iADORQJ\n", + "7afGqpGK17U\n", + "PuPfPO6R3vq\n", + "276PesPPPic\n", + "HIabEszXyHo\n", + "8wDBdIUER3m\n", + "hqRNmi9pFmu\n", + "7Ygl3zSqEey\n", + "ORiWxxfBzCK\n", + "AfwZZ91ynBl\n", + "t93kTJWqa57\n", + "LD7Z5ARkHor\n", + "cKkVl7yyguJ\n", + "PU3rRFOgP62\n", + "L7zWRccTL11\n", + "IHR0UgAGiHe\n", + "UglMgOo5Uvp\n", + "FTDysW4TODq\n", + "rbW7PoqOX7t\n", + "QnGYJ0zIw9H\n", + "XmS4qaJjK95\n", + "yUcE0psW7qy\n", + "wg3pKf4DRqt\n", + "j4BrPyedQ7c\n", + "aqUBXSYWYGV\n", + "OD3rUWiVnri\n", + "0zuoiPqj4c5\n", + "JjuPPc97oxt\n", + "3Y3xLnoVoJV\n", + "7R9Xgwo3RAH\n", + "CVd8IIOeVGi\n", + "ByNlP82ViLY\n", + "zllLMnH59E1\n", + "aVYTuWqyX7G\n", + "ND4DRBGaX5A\n", + "n0r8RzvDaXv\n", + "JMOuRgYjUGh\n", + "YdRjJVb7ivm\n", + "4eyR0n7c6MW\n", + "1rLPDBcerj3\n", + "Ta6bvaGfGpR\n", + "19sVQ75pW6h\n", + "8sVuqfODKAk\n", + "BLuEG1zE66k\n", + "NI4SFFq2ADY\n", + "Qt2cCVTYxAU\n", + "lJJek3lCznd\n", + "2k4x5isbzc1\n", + "X9nLDoeuJqP\n", + "85cXO7Gxo6k\n", + "BG7qOYsfEnx\n", + "J0wG2ep8MLV\n", + "OUdFg13pF1F\n", + "VCbdpt8ctZp\n", + "HDph0C2aJo9\n", + "YWbLY6E0v8q\n", + "7VbpAMZx63E\n", + "lprkDMvYGW6\n", + "yPCdnYFlntU\n", + "hsf4fKtJncF\n", + "AxG80ZK9ybJ\n", + "FXTJ4N4Ut26\n", + "NJ4VXw0nYWs\n", + "T2PSwUkvzAD\n", + "Xd6aJE4F8Lw\n", + "9HVr3Eucu8J\n", + "3j7r1J7mPqc\n", + "Ek1E4xzgr3B\n", + "TN38DSjMAVu\n", + "XezImPuFhro\n", + "nzeRdJ5fQms\n", + "rcoPihzJt5B\n", + "76cdRlY2R7p\n", + "jDwC9b9ob7u\n", + "pMcFyCqupfi\n", + "8ujkj1mpyD1\n", + "DR3wrRlEkVl\n", + "Xjzx1Sduki5\n", + "VF5ZuZ0HB2N\n", + "oQZ5hKlgRUa\n", + "9Iy7lauhLEM\n", + "mrp3jpts7Me\n", + "VqzO76Yrar6\n", + "q4QEJzfct4U\n", + "ZZrdJVQuZ51\n", + "VBc1sP1COJB\n", + "BTzK2DqASku\n", + "x94VUPAg0kr\n", + "XZIDMEoTbB2\n", + "mMgTjIWJ00b\n", + "IeY3Py1VX9T\n", + "o4WEdkUSzGD\n", + "ZUT4HBMTkYD\n", + "UJUGGdTGu8o\n", + "RSf0B65Te0U\n", + "oGaq8b8eG6Q\n", + "zSFUVuPttkc\n", + "nKG84TVPP3x\n", + "Oll0qHKMZfg\n", + "t6iJDWo7BR9\n", + "kyaTjRVTdSz\n", + "vvQ2PU08L8t\n", + "3DCJFVPoqjS\n", + "wZDPav6uQ4Y\n", + "9VLlDd0mwpy\n", + "OY31POBNpzc\n", + "Y2kRqF6bEmQ\n", + "FOMCUV0e8He\n", + "SCJwB8uJSnq\n", + "HV0kwwHZc9J\n", + "qNlCHDJ8gtB\n", + "6mtdxUJyHXx\n", + "aSfqE754lmJ\n", + "QkFP5M93VhF\n", + "bsY0ZrXmgZM\n", + "YWW89cCthaY\n", + "jrfhXabEO0l\n", + "lpZKVDUefxO\n", + "XTZ9aYSTAQM\n", + "yxy3wfJkf68\n", + "Er88WDzXjRR\n", + "mnaRf1bX28a\n", + "8Tjcu5acXO5\n", + "RhkPbTlEXWV\n", + "LRWsjTtSH9z\n", + "6jUVcewTAEz\n", + "ZBtWgjf2RiU\n", + "hAx9SGn1gcG\n", + "OXwMxlvy6Zx\n" + ] + } + ], + "source": [ + "import string\n", + "import random\n", + "\n", + "num = 200\n", + "len = 11\n", + "base_str = string.ascii_letters + string.digits # 所有的大小写字母和数字\n", + "for i in range(num): #控制生成多少个\n", + " key_list = [random.choice(base_str) for i in range(len)] #用列表生成式生成列表\n", + " key_str = ''.join(key_list) # 将列表用join形成字符串\n", + " print(key_str)" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/14. \351\201\215\345\216\206\347\233\256\345\275\225.ipynb" "b/homework_01_python/14. \351\201\215\345\216\206\347\233\256\345\275\225.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..540c738d7eb07505fcc8d23646b3162acd474b2b --- /dev/null +++ "b/homework_01_python/14. \351\201\215\345\216\206\347\233\256\345\275\225.ipynb" @@ -0,0 +1,63 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['practice_projects.md', 'README_EN.md', 'README.md']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "def get(path,filetype): # 输入路径、文件类型例如'.md'\n", + " name = []\n", + " for root,dirs,files in os.walk(path):\n", + " for i in files:\n", + " if os.path.splitext(i)[1]==filetype:\n", + " name.append(i) \n", + " return name # 输出由有后缀的文件名组成的列表\n", + "\n", + "path = r'/home/zhangda/machinelearning_homework-master/homework_01_python'\n", + "filetype = '.md'\n", + "get(path, filetype)" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/15. \347\273\237\350\256\241\344\273\243\347\240\201\350\241\214\346\225\260.ipynb" "b/homework_01_python/15. \347\273\237\350\256\241\344\273\243\347\240\201\350\241\214\346\225\260.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..3060a4c61655f92a5d5228fe7665e2342487adfd --- /dev/null +++ "b/homework_01_python/15. \347\273\237\350\256\241\344\273\243\347\240\201\350\241\214\346\225\260.ipynb" @@ -0,0 +1,158 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8. 完数计算.ipynb\n", + "the nuber of totalines is : 59\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 59\n", + "the nuber of blanklines is : 0\n", + "12. 能够拼成多少个单词.ipynb\n", + "the nuber of totalines is : 64\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 64\n", + "the nuber of blanklines is : 0\n", + "2. 组合.ipynb\n", + "the nuber of totalines is : 83\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 83\n", + "the nuber of blanklines is : 0\n", + "13. 生成激活码.ipynb\n", + "the nuber of totalines is : 257\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 257\n", + "the nuber of blanklines is : 0\n", + "11. 确定字符串是否包含唯一字符.ipynb\n", + "the nuber of totalines is : 57\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 57\n", + "the nuber of blanklines is : 0\n", + "4. 循环.ipynb\n", + "the nuber of totalines is : 64\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 64\n", + "the nuber of blanklines is : 0\n", + "1. 字符串.ipynb\n", + "the nuber of totalines is : 84\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 84\n", + "the nuber of blanklines is : 0\n", + "3. 判断.ipynb\n", + "the nuber of totalines is : 66\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 66\n", + "the nuber of blanklines is : 0\n", + "10. 连续的子数组和.ipynb\n", + "the nuber of totalines is : 53\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 53\n", + "the nuber of blanklines is : 0\n", + "6. 排序算法.ipynb\n", + "the nuber of totalines is : 58\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 58\n", + "the nuber of blanklines is : 0\n", + "15. 统计代码行数.ipynb\n", + "the nuber of totalines is : 132\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 132\n", + "the nuber of blanklines is : 0\n", + "5. 使用while循环实现输出2-3+4-5+6.....+100的和.ipynb\n", + "the nuber of totalines is : 56\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 56\n", + "the nuber of blanklines is : 0\n", + "9. 快乐数.ipynb\n", + "the nuber of totalines is : 84\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 84\n", + "the nuber of blanklines is : 0\n", + "14. 遍历目录.ipynb\n", + "the nuber of totalines is : 63\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 63\n", + "the nuber of blanklines is : 0\n", + "7. 矩阵搜索.ipynb\n", + "the nuber of totalines is : 74\n", + "the nuber of comments is : 0\n", + "the nuber of codelines is : 74\n", + "the nuber of blanklines is : 0\n" + ] + } + ], + "source": [ + "import os.path\n", + "import re\n", + "def mainKeywords(dirPath):\n", + " blank, comments, codelines, totalines, count, temp = 0, 0, 0, 0, 0, 0\n", + " f_list = os.listdir(dirPath)\n", + " for i in f_list:\n", + " if os.path.splitext(i)[1] == '.ipynb':\n", + " print(i)\n", + " with open(i, 'r', encoding='utf-8') as fp:\n", + " while True:\n", + " line = fp.readline()\n", + " totalines += 1\n", + " if not line:\n", + " break\n", + " elif line.strip().startswith('#'):\n", + " comments += 1\n", + " elif line.strip().startswith(\"'''\") or line.strip().startswith('\"\"\"'):\n", + " comments += 1\n", + " if line.count('\"\"\"') == 1 or line.count(\"'''\") == 1:\n", + " while True:\n", + " line = fp.readline()\n", + " totalines += 1\n", + " comments += 1\n", + " if (\"'''\" in line) or ('\"\"\"' in line):\n", + " break\n", + " elif line.strip():\n", + " codelines += 1\n", + " else:\n", + " blank += 1\n", + " print('the nuber of totalines is : ' + str(totalines-1))\n", + " print('the nuber of comments is : ' + str(comments))\n", + " print('the nuber of codelines is : ' + str(codelines))\n", + " print('the nuber of blanklines is : ' + str(blank))\n", + " blank, comments, codelines, totalines = 0, 0, 0, 0\n", + "\n", + "mainKeywords(r'/home/zhangda/machinelearning_homework-master/homework_01_python')" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/2. \347\273\204\345\220\210.ipynb" "b/homework_01_python/2. \347\273\204\345\220\210.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..118cd2e1de1dd4ab191aa777490b38102973d6ab --- /dev/null +++ "b/homework_01_python/2. \347\273\204\345\220\210.ipynb" @@ -0,0 +1,83 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "123\n", + "124\n", + "132\n", + "134\n", + "142\n", + "143\n", + "213\n", + "214\n", + "231\n", + "234\n", + "241\n", + "243\n", + "312\n", + "314\n", + "321\n", + "324\n", + "341\n", + "342\n", + "412\n", + "413\n", + "421\n", + "423\n", + "431\n", + "432\n", + "共计24个结果\n" + ] + } + ], + "source": [ + "list_1 = [1, 2, 3, 4]\n", + "count = 0\n", + "for a in list_1:\n", + " for b in list_1:\n", + " for c in list_1:\n", + " if (a != b) and (a != c) and (b != c):\n", + " count += 1\n", + " print(a, end=\"\")\n", + " print(b, end=\"\")\n", + " print(c)\n", + "print(\"共计%d个结果\" % count)\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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_02_Titanic/report_template.ipynb "b/homework_01_python/3. \345\210\244\346\226\255.ipynb" similarity index 35% rename from report_02_Titanic/report_template.ipynb rename to "homework_01_python/3. \345\210\244\346\226\255.ipynb" index 21eb1ce711b96fd98ffe44be0b1697fee849508a..2d2ac3a29c3f1a3e7a76058f1d08625e4814e678 100644 --- a/report_02_Titanic/report_template.ipynb +++ "b/homework_01_python/3. \345\210\244\346\226\255.ipynb" @@ -1,35 +1,45 @@ { "cells": [ { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 2, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "请输入净利润450000\n", + "应发奖金61666\n" + ] + } + ], "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;数据的格式,包含了什么数据;最终的目标是什么\n", - "\n", - "## 解决途径\n", - "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 数据的可视化\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" + "i=int(input('请输入净利润'))\n", + "sum=0\n", + "if i<=100000:\n", + " sum=i*(1/10)\n", + "elif 100000 matrix[x][y]:\n", + " x = x + 1\n", + " searchMatrix(x, y, matrix, target)\n", + " elif target < matrix[x][y]:\n", + " y = y - 1\n", + " searchMatrix(x, y, matrix, target)\n", + " \n", + " \n", + "matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]]\n", + "target_1 = 5\n", + "target_2 =20\n", + "x= 0\n", + "y = len(matrix[0])-1\n", + "searchMatrix(x, y, matrix, target_1)\n", + "searchMatrix(x, y, matrix, target_2)" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/8. \345\256\214\346\225\260\350\256\241\347\256\227.ipynb" "b/homework_01_python/8. \345\256\214\346\225\260\350\256\241\347\256\227.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..1981631a70b4a45e4355a90095894ffaf344e8b3 --- /dev/null +++ "b/homework_01_python/8. \345\256\214\346\225\260\350\256\241\347\256\227.ipynb" @@ -0,0 +1,59 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6是完数,因子包括[1, 2, 3]\n", + "28是完数,因子包括[1, 2, 4, 7, 14]\n", + "496是完数,因子包括[1, 2, 4, 8, 16, 31, 62, 124, 248]\n" + ] + } + ], + "source": [ + "a = [] \n", + " \n", + "for i in range(1, 1000): \n", + " for j in range(1, i): \n", + " if i % j == 0: \n", + " a.append(j) \n", + " if sum(a) == i: \n", + " print(f\"{i}是完数,因子包括{a}\") \n", + " a.clear() \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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/homework_01_python/9. \345\277\253\344\271\220\346\225\260.ipynb" "b/homework_01_python/9. \345\277\253\344\271\220\346\225\260.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..f5818a0df8b4b3dc67e264077003c2b5a3458891 --- /dev/null +++ "b/homework_01_python/9. \345\277\253\344\271\220\346\225\260.ipynb" @@ -0,0 +1,84 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "输入数字2\n" + ] + }, + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Solution(object):\n", + " def isHappy(self, n):\n", + " def happy(num):\n", + " sum_ = 0 # 平方和\n", + " \n", + " # 从个位开始依次取,平方求和\n", + " while num:\n", + " sum_ += (num % 10) ** 2 # 求余平方\n", + " num = num // 10 #整除\n", + " return sum_ # 返回平方和\n", + " \n", + " record = set() # 记录中间结果\n", + " \n", + " while True:\n", + " n = happy(n) # 求平方和\n", + " if n == 1:\n", + " return True\n", + " \n", + " if n in record: # 如果中间结果重复出现,说明陷入死循环了,该数不是快乐数\n", + " return False\n", + " else:\n", + " record.add(n) # 录入中间结果\n", + "\n", + "w = Solution()\n", + "n = int(input('输入数字'))\n", + "w.isHappy(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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/name.txt b/name.txt new file mode 100644 index 0000000000000000000000000000000000000000..8e59f3a4f7f9ca08582d554b1c1d03d0e2bd91ff --- /dev/null +++ b/name.txt @@ -0,0 +1,2 @@ +张达 +2022100847 diff --git a/report_00_Self_Research/Report_00_Self-Research.ipynb b/report_00_Self_Research/Report_00_Self-Research.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..8996125bc18d9c69b2a538847ecc3c70fcd7c7b9 --- /dev/null +++ b/report_00_Self_Research/Report_00_Self-Research.ipynb @@ -0,0 +1,681 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a6f50d8a", + "metadata": {}, + "source": [ + "# Report-00-Self_Research\n", + "### 课题:航空传感器时间序列异常检测\n", + "### 一、课题背景\n", + "飞行安全是航空运输中的一个重要问题,受到航空公司和研究人员的高度重视。飞机交付前的飞行试验是保证航空安全的重要手段。有效的飞行试验保证了飞机的安全性和可靠性。然而,当飞行试验结果不可靠时,这些试验不能检测出飞机中的潜在问题。因此,飞行试验中的传感器需要定期校准,以避免试验结果不可靠。直接获得准确的传感器校准周期是困难的,并且短的校准周期造成巨大的成本。所以分析现有数据来判断传感器是否异常是有意义的。" + ] + }, + { + "cell_type": "markdown", + "id": "575cf38c", + "metadata": {}, + "source": [ + "### 二、面临的问题\n", + "航空场景下传感器时态数据中的异常检测是一个实际但具有挑战性的任务:
\n", + "1)长时态数据难以提取具有时间相关性的上下文信息;
\n", + "2)异常数据在时间序列上稀少,造成异常检测中正常/异常的不平衡,使得检测器分类退化甚至失效。" + ] + }, + { + "cell_type": "markdown", + "id": "e0f6896e", + "metadata": {}, + "source": [ + "### 三、总体思路\n", + "为了解决上述问题,我们提出了一个**图形化的时态数据分析(GTDA)框架**。
\n", + "它由三个模块组成,分别是**序列到图像(S2I)、基于聚类的欧氏距离重采样方法(CRD)和基于方差的损失(VBL)。
**\n", + "具体来说,为了更好地从传感器的时态数据中提取全局信息,S2I将数据转换为曲线图像,以展示数据变化的异常。CRD和VBL通过平衡分类来缓解分配不平衡。CRD通过聚类提取靠近决策边界的少数类样本,并对它们进行过采样。VBL通过平衡网络对每个类的适合程度来微调决策边界。最后通过分类器(VGG/ResNet)深度学习网络进行异常检测分类。" + ] + }, + { + "cell_type": "markdown", + "id": "d1a325ee", + "metadata": {}, + "source": [ + "![1.png](1.png)" + ] + }, + { + "cell_type": "markdown", + "id": "3d12ec75", + "metadata": {}, + "source": [ + "## 四、实现过程\n", + "### 1.数据处理" + ] + }, + { + "cell_type": "markdown", + "id": "1cdc65e9", + "metadata": {}, + "source": [ + "我们提出序列到图像(S2I)来将一维时间数据转换成图像,以馈入CV的一般架构。这是因为在实际情况下,如在飞行试验中,异常跨越了一个很大的时间序列,很难用基于NLP的方法如RNN和LSTM来处理。因此,提出了框架2,其使得模型能够以与处理图像相同的方式对时间数据进行编码,并且灵活地引入各种基于CV的分类和异常检测模块,以提高模型在大规模范围上对语义或上下文信息进行建模的能力。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "dcb011ef", + "metadata": {}, + "outputs": [], + "source": [ + "def dataset2images(data_dir):\n", + " basedir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')\n", + " dataset_dir = os.path.join(basedir, 'train_data')\n", + " dataset_dir = 'datapath'\n", + " images_dir = os.path.join(basedir, 'train_images_original')\n", + " npy_paths = getFilePathList(dataset_dir, 'npy')\n", + " npy_bar = tqdm(npy_paths)\n", + "\n", + " for npy_path in npy_bar:\n", + " data_name = npy_path.replace(\"data_npy\", \"data_jpg\")\n", + " data_name = data_name.replace(\"npy\", \"jpg\")\n", + " if not os.path.exists(os.path.split(data_name)[0]):\n", + " os.makedirs(os.path.split(data_name)[0])\n", + " content = np.load(npy_path)\n", + " x = range(len(content))\n", + " y = content\n", + " plt.axis('off')\n", + " plt.xticks([])\n", + " plt.yticks([])\n", + " plt.plot(x, y)\n", + " # plt.legend()\n", + " plt.savefig(data_name)\n", + " plt.clf()\n" + ] + }, + { + "cell_type": "markdown", + "id": "6e9c0bfd", + "metadata": {}, + "source": [ + "下面是将时间序列转换为图像后的一些结果:\n", + "![2.png](2.png)" + ] + }, + { + "cell_type": "markdown", + "id": "4bbe559e", + "metadata": {}, + "source": [ + "### 2.数据加载\n", + "将序列转换为图像后加载图像的操作" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a23401e", + "metadata": {}, + "outputs": [], + "source": [ + "def loading_data(mode, config):\n", + " if mode == \"train\":\n", + " data_transform = {\n", + " \"train\": transforms.Compose([transforms.RandomResizedCrop(480),\n", + " transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]),\n", + " \"val\": transforms.Compose([transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])}\n", + " if config.dataset in [\"NWPU\", \"Earthquakes_Resample\"]: # 这一部分要合并同类的数据(因为进行了采样)\n", + " train_path, train_label, val_path, val_label, test_path, test_label = read_split_data_NWPU(config=config, val_rate=config.val_rate, test_rate=config.test_rate)\n", + " elif config.dataset in [\"FordA\", \"FordB\", \"NWPU_original\", \"Earthquakes\", \"Ablation\", \"HandOutlines\", \"Herring\"]:\n", + " train_path, train_label, val_path, val_label = read_split_data(root=config.train_dataset, val_rate=config.val_rate)\n", + " elif config.dataset in [\"Fuse\"]:\n", + " data_transform = {\n", + " \"train\": transforms.Compose([transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]),\n", + " \"val\": transforms.Compose([transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])} \n", + " train_path, train_label, val_path, val_label = read_split_data(root=config.train_dataset, val_rate=config.val_rate)\n", + " elif config.dataset in [\"Planes\"]:\n", + " data_transform = {\n", + " \"train\": transforms.Compose([transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]),\n", + " \"val\": transforms.Compose([transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])} \n", + " train_path, train_label, val_path, val_label = read_split_data(root=config.train_dataset, val_rate=config.val_rate)\n", + " train_dataset = MyDataSet(images_path=train_path,\n", + " images_class=train_label,\n", + " transform=data_transform[\"train\"])\n", + " val_dataset = MyDataSet(images_path=val_path,\n", + " images_class=val_label,\n", + " transform=data_transform[\"val\"])\n", + " \n", + " nw = min([os.cpu_count(), config.batch_size if config.batch_size > 1 else 0, 8]) # number of workers\n", + " train_loader = torch.utils.data.DataLoader(train_dataset,\n", + " batch_size=config.batch_size, shuffle=True,\n", + " num_workers=nw)\n", + " val_loader = torch.utils.data.DataLoader(val_dataset,\n", + " batch_size=config.val_batch_size, shuffle=False,\n", + " num_workers=nw)\n", + " train_num = len(train_dataset)\n", + " val_num = len(val_dataset)\n", + " print(\"using {} images for training, {} images for validation.\".format(train_num,val_num))\n", + " return train_loader, val_loader, train_num, val_num\n", + " \n", + " pass\n", + " elif mode == \"test\":\n", + " pass\n", + " pass\n" + ] + }, + { + "cell_type": "markdown", + "id": "a9365222", + "metadata": {}, + "source": [ + "### 3.模型\n", + "模型使用的是VGG16网络和ResNet网络:
\n", + "#### VGG16\n", + "VGG16模型很好的适用于分类和定位任务,其名称来自牛津大学几何组(Visual Geometry Group)的缩写。
\n", + "根据卷积核的大小核卷积层数,VGG共有6种配置,分别为A、A-LRN、B、C、D、E,其中D和E两种是最为常用的VGG16和VGG19。
\n", + "介绍结构图:
\n", + "·conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后维度变成128;
\n", + "·input(224x224 RGB image) :指的是输入图片大小为224x244的彩色图像,通道为3,即224x224x3;
\n", + "·maxpool :是指最大池化,在vgg16中,pooling采用的是2x2的最大池化方法(如果不懂最大池化,下面有解释);
\n", + "·FC-4096 :指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000个节点;
\n", + "·padding:指的是对矩阵在外边填充n圈,padding=1即填充1圈,5X5大小的矩阵,填充一圈后变成7X7大小;
\n", + "最后补充,vgg16每层卷积的滑动步长stride=1,padding=1,卷积核大小为3x3x3。
\n", + "![3.jpg](3.jpg)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8a49458d", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torchvision import models\n", + "\n", + "\n", + "\n", + "class VGG(nn.Module):\n", + " def __init__(self, class_num=2, pretrained=True):\n", + " super(VGG, self).__init__()\n", + " vgg = models.vgg16(pretrained=True)\n", + " # vgg = models.vgg11(pretrained=False)\n", + " features = list(vgg.features.children())\n", + " self.features = nn.Sequential(*features)\n", + "\n", + " # # 480 * 640\n", + " # self.classifier = nn.Sequential(\n", + " # nn.Linear(512 * 20 * 15, 1024),\n", + " # nn.ReLU(inplace=True),\n", + "\n", + " # nn.Linear(1024, 1024),\n", + " # nn.ReLU(inplace=True),\n", + "\n", + " # nn.Linear(1024, 2)\n", + " # )\n", + "\n", + " self.classifier = nn.Sequential(\n", + " nn.Linear(512*7*7, 4096),\n", + " nn.ReLU(True),\n", + " nn.Linear(4096, 4096),\n", + " nn.ReLU(True),\n", + " nn.Linear(4096, class_num)\n", + " )\n", + " \n", + " self._initialize_weights()\n", + " \n", + " def _initialize_weights(self):\n", + " for m in self.modules():\n", + " if isinstance(m, nn.Conv2d):\n", + " # nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')\n", + " nn.init.xavier_uniform_(m.weight)\n", + " if m.bias is not None:\n", + " nn.init.constant_(m.bias, 0)\n", + " elif isinstance(m, nn.Linear):\n", + " nn.init.xavier_uniform_(m.weight)\n", + " # nn.init.normal_(m.weight, 0, 0.01)\n", + " nn.init.constant_(m.bias, 0)\n", + "\n", + "\n", + " def forward(self, x):\n", + " x = self.features(x)\n", + " x = torch.flatten(x, start_dim=1)\n", + " x = self.classifier(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "id": "b2359a29", + "metadata": {}, + "source": [ + "#### ResNet34\n", + "##### 1.残差网络简介\n", + "残差网络是由来自Microsoft Research的4位学者提出的卷积神经网络,在2015年的ImageNet大规模视觉识别竞赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)中获得了图像分类和物体识别的优胜。 残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接(shortcut),缓解了在深度神经网络中增加深度带来的梯度消失问题。残差网络(ResNet)的网络结构图举例如下:
\n", + "![4.png](4.png)
\n", + "##### 2.shortcut和Residual Block的简介\n", + "深度残差网络(ResNet)除最开始的卷积池化和最后池化的全连接之外,网络中有很多结构相似的单元,这些重复的单元的共同点就是有个跨层直连的shortcut,同时将这些单元称作Residual Block。Residual Block的构造图如下(图中 x identity 标注的曲线表示 shortcut)
\n", + "![5.png](5.png)
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "486756a5", + "metadata": {}, + "outputs": [], + "source": [ + "from torch import nn\n", + "import torch as t\n", + "from torch.nn import functional as F\n", + "from torch.autograd import Variable as V\n", + "class ResidualBlock(nn.Module): # 定义ResidualBlock类 (11)\n", + " \"\"\"实现子modual:residualblock\"\"\"\n", + " def __init__(self,inchannel,outchannel,stride=1,shortcut=None): # 初始化,自动执行 (12)\n", + " super(ResidualBlock, self).__init__() # 继承nn.Module (13)\n", + " self.left = nn.Sequential( # 左网络,构建Sequential,属于特殊的module,类似于forward前向传播函数,同样的方式调用执行 (14)(31)\n", + " nn.Conv2d(inchannel,outchannel,3,stride,1,bias=False),\n", + " nn.BatchNorm2d(outchannel),\n", + " nn.ReLU(inplace=True),\n", + " nn.Conv2d(outchannel,outchannel,3,1,1,bias=False),\n", + " nn.BatchNorm2d(outchannel)\n", + " )\n", + " self.right = shortcut # 右网络,也属于Sequential,见(8)步可知,并且充当残差和非残差的判断标志。 (15)\n", + " \n", + " def forward(self,x): # ResidualBlock的前向传播函数 (29)\n", + " out = self.left(x) # # 和调用forward一样如此调用left这个Sequential(30)\n", + " if self.right is None: # 残差(ResidualBlock)(32)\n", + " residual = x #(33)\n", + " else: # 非残差(非ResidualBlock) (34)\n", + " residual = self.right(x) # (35)\n", + " out += residual # 结果相加 (36)\n", + " print(out.size()) # 检查每单元的输出的通道数 (37)\n", + " return F.relu(out) # 返回激活函数执行后的结果作为下个单元的输入 (38)\n", + "\n", + "class ResNet(nn.Module): # 定义ResNet类,也就是构建残差网络结构 (2)\n", + " \"\"\"实现主module:ResNet34\"\"\"\n", + " def __init__(self,numclasses=1000): # 创建实例时直接初始化 (3)\n", + " super(ResNet, self).__init__() # 表示ResNet继承nn.Module (4)\n", + " self.pre = nn.Sequential( # 构建Sequential,属于特殊的module,类似于forward前向传播函数,同样的方式调用执行 (5)(26)\n", + " nn.Conv2d(3,64,7,2,3,bias=False), # 卷积层,输入通道数为3,输出通道数为64,包含在Sequential的子module,层层按顺序自动执行\n", + " nn.BatchNorm2d(64),\n", + " nn.ReLU(inplace=True),\n", + " nn.MaxPool2d(3,2,1)\n", + " )\n", + "\n", + " self.layer1 = self.make_layer(64,128,4) # 输入通道数为64,输出为128,根据残差网络结构将一个非Residual Block加上多个Residual Block构造成一层layer(6)\n", + " self.layer2 = self.make_layer(128,256,4,stride=2) # 输入通道数为128,输出为256 (18,流程重复所以标注省略7-17过程)\n", + " self.layer3 = self.make_layer(256,256,6,stride=2) # 输入通道数为256,输出为256 (19,流程重复所以标注省略7-17过程)\n", + " self.layer4 = self.make_layer(256,512,3,stride=2) # 输入通道数为256,输出为512 (20,流程重复所以标注省略7-17过程)\n", + "\n", + " self.fc = nn.Linear(512,numclasses) # 全连接层,属于残差网络结构的最后一层,输入通道数为512,输出为numclasses (21)\n", + "\n", + " def make_layer(self,inchannel,outchannel,block_num,stride=1): # 创建layer层,(block_num-1)表示此层中Residual Block的个数 (7)\n", + " \"\"\"构建layer,包含多个residualblock\"\"\"\n", + " shortcut = nn.Sequential( # 构建Sequential,属于特殊的module,类似于forward前向传播函数,同样的方式调用执行 (8)\n", + " nn.Conv2d(inchannel,outchannel,1,stride,bias=False),\n", + " nn.BatchNorm2d(outchannel)\n", + " )\n", + " layers = [] # 创建一个列表,将非Residual Block和多个Residual Block装进去 (9)\n", + " layers.append(ResidualBlock(inchannel,outchannel,stride,shortcut)) # 非残差也就是非Residual Block创建及入列表 (10)\n", + "\n", + " for i in range(1,block_num):\n", + " layers.append(ResidualBlock(outchannel,outchannel)) # 残差也就是Residual Block创建及入列表 (16)\n", + "\n", + " return nn.Sequential(*layers) # 通过nn.Sequential函数将列表通过非关键字参数的形式传入,并构成一个新的网络结构以Sequential形式构成,一个非Residual Block和多个Residual Block分别成为此Sequential的子module,层层按顺序自动执行,并且类似于forward前向传播函数,同样的方式调用执行 (17) (28)\n", + "\n", + " def forward(self,x): # ResNet类的前向传播函数 (24)\n", + " x = self.pre(x) # 和调用forward一样如此调用pre这个Sequential(25)\n", + "\n", + " x = self.layer1(x) # 和调用forward一样如此调用layer1这个Sequential(27)\n", + " x = self.layer2(x) # 和调用forward一样如此调用layer2这个Sequential(39,流程重复所以标注省略28-38过程)\n", + " x = self.layer3(x) # 和调用forward一样如此调用layer3这个Sequential(40,流程重复所以标注省略28-38过程)\n", + " x = self.layer4(x) # 和调用forward一样如此调用layer4这个Sequential(41,流程重复所以标注省略28-38过程)\n", + "\n", + " x = F.avg_pool2d(x,7) # 平均池化 (42)\n", + " x = x.view(x.size(0),-1) # 设置返回结果的尺度 (43)\n", + " return self.fc(x) # 返回结果 (44)\n", + "\n", + "model = ResNet() # 创建ResNet残差网络结构的模型的实例 (1)\n", + "input = V(t.randn(1,3,224,224)) # 输入数据的创建,注意要报证通道数与残差网络结构每层需要的通道数一致,此数据通道数为3 (22)\n", + "output = model(input) # 把数据输入残差模型,等同于开始调用ResNet类的前向传播函数 (23)\n", + "print(output) # 输出运行的结果 (45)" + ] + }, + { + "cell_type": "markdown", + "id": "880dc699", + "metadata": {}, + "source": [ + "### 4.训练" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3fa61ac4", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import json\n", + "import argparse\n", + "import time\n", + "from turtle import forward\n", + "\n", + "import torch\n", + "import torch.nn as nn\n", + "from torchvision import transforms, datasets, utils, models\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch.optim as optim\n", + "from tqdm import tqdm\n", + "from train_code.dataprocess.utils import read_split_data, logger_txt, loading_data\n", + "from train_code.model.my_dataset import MyDataSet\n", + "from torch.utils.tensorboard import SummaryWriter\n", + "\n", + "from train_code.model.model_AlexNet import AlexNet\n", + "from train_code.model.model_EfficientNet import efficientnetv2_s\n", + "from train_code.model.VGG import VGG\n", + "from train_code.model.std_loss import Std_Loss\n", + "\n", + "\n", + "class AD_Trainer(object):\n", + " def __init__(self, config) -> None:\n", + " self.config = config\n", + " self.device = torch.device(self.config.train_gpu if torch.cuda.is_available() else \"cpu\")\n", + " \n", + " print('Start Tensorboard with \"tensorboard --logdir=./train_code/log/experiment\", view at http://localhost:6006/')\n", + " print(\"using {} device.\".format(self.device))\n", + " \n", + " self.basedir = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')\n", + " self.checkpoint_dir = os.path.join(self.basedir, \"checkpoint\")\n", + " self.log_dir = os.path.join(self.basedir, \"log\", \"experiment\")\n", + " self.logger_txt_dir = os.path.join(self.basedir, \"log\", \"logger_txt\")\n", + " \n", + " # 设置保存文件路径\n", + " self.time_str = time.strftime('%Y-%m-%d-%H-%M',time.localtime(time.time()))\n", + " self.save_dir = os.path.join(self.checkpoint_dir, self.config.network + \"_\" + self.time_str)\n", + " self.exp_dir = os.path.join(self.log_dir, self.config.network + \"_\" + self.time_str)\n", + " self.log_path = os.path.join(self.logger_txt_dir, '{}_{}.txt'.format(self.config.network, self.time_str))\n", + " \n", + " if not os.path.exists(self.save_dir):\n", + " os.makedirs(self.save_dir)\n", + " if not os.path.exists(self.exp_dir):\n", + " os.makedirs(self.exp_dir)\n", + " if not os.path.exists(self.logger_txt_dir):\n", + " os.makedirs(self.logger_txt_dir)\n", + " if not os.path.exists(self.checkpoint_dir):\n", + " os.makedirs(self.checkpoint_dir)\n", + "\n", + " # 保存配置文件\n", + " self.save_config()\n", + "\n", + " self.train_loader, self.val_loader, self.train_num, self.val_num = loading_data(mode=\"train\", config=self.config)\n", + " \n", + " num_classes = config.class_num\n", + " if self.config.network == 'AlexNet':\n", + " self.net = AlexNet(num_classes=num_classes, init_weights=True).to(self.device) \n", + " elif self.config.network == \"EfficientNet\":\n", + " self.net = efficientnetv2_s(num_classes=num_classes).to(self.device)\n", + " elif self.config.network == \"VGGNet\":\n", + " net = models.vgg16()\n", + " in_channel = net.classifier[-1].in_features\n", + " net.classifier[-1] = nn.Linear(in_channel, num_classes)\n", + " self.net = net.to(self.device)\n", + " elif self.config.network == \"ResNet\":\n", + " net = models.resnet34()\n", + " in_channel = net.fc.in_features\n", + " net.fc = nn.Linear(in_channel, num_classes)\n", + " self.net = net.to(self.device)\n", + "\n", + " if self.config.loss_function == 'CrossEntropyLoss':\n", + " self.loss_function = nn.CrossEntropyLoss()\n", + " elif self.config.loss_function == 'Std_Loss':\n", + " self.loss_function = Std_Loss()\n", + " \n", + " self.optimizer = optim.Adam(self.net.parameters(), lr=0.0002) # 0.0002\n", + " self.epochs = self.config.epochs\n", + " self.start_epoch = 0 \n", + " self.best_acc = 0.0\n", + " self.train_steps = len(self.train_loader)\n", + "\n", + " # 如果指定了上次训练保存的权重文件地址,则接着上次结果接着训练\n", + " if self.config.resume:\n", + " self.resume(config=self.config)\n", + " \n", + " # 实例化SummaryWriter对象\n", + " self.tb_writer = SummaryWriter(log_dir=self.exp_dir)\n", + " # 将模型写入tensorboard\n", + " # init_img = torch.zeros((1, 3, 480, 640), device=device)\n", + " init_img = torch.zeros((1, 3, 224, 224), device=self.device)\n", + " self.tb_writer.add_graph(self.net, init_img)\n", + " self.tb_count = 0\n", + " \n", + " def forward(self):\n", + " for self.epoch in range(self.start_epoch, self.epochs):\n", + " self.train()\n", + " self.validate()\n", + " self.other()\n", + " self.tb_writer.close()\n", + " pass\n", + " \n", + " def train(self):\n", + " '''\n", + " 训练一个epoch\n", + " '''\n", + " # train\n", + " self.net.train()\n", + " self.running_loss = 0.0\n", + " train_bar = tqdm(self.train_loader)\n", + " for step, data in enumerate(train_bar):\n", + " images, labels = data\n", + " self.optimizer.zero_grad()\n", + " outputs = self.net(images.to(self.device))\n", + " if self.config.loss_function == 'Std_Loss':\n", + " loss, weights, negative_V, positive_V = self.loss_function(outputs, labels.to(self.device))\n", + " elif self.config.loss_function == 'CrossEntropyLoss':\n", + " loss = self.loss_function(outputs, labels.to(self.device))\n", + " loss.backward()\n", + " self.optimizer.step()\n", + "\n", + " # print statistics\n", + " self.running_loss += loss.item()\n", + " \n", + " train_bar.desc = \"train epoch[{}/{}] loss:{:.3f}\".format(self.epoch + 1,\n", + " self.epochs,\n", + " loss)\n", + " if self.config.loss_function == 'Std_Loss':\n", + " self.tb_writer.add_scalar(\"negative_weight\", weights[0], self.tb_count)\n", + " self.tb_writer.add_scalar(\"positive_weight\", weights[1], self.tb_count)\n", + " self.tb_writer.add_scalar(\"negative_V\", negative_V, self.tb_count)\n", + " self.tb_writer.add_scalar(\"positive_V\", positive_V, self.tb_count)\n", + " self.tb_writer.add_scalar(\"positive_V / negative_V\", positive_V / negative_V, self.tb_count)\n", + " self.tb_writer.add_scalar(\"positive_weight / negative_weight\", weights[1] / weights[0], self.tb_count)\n", + " self.tb_count += 1\n", + " \n", + " def validate(self):\n", + " # validate\n", + " self.net.eval()\n", + " self.acc = 0.0 # accumulate accurate number / epoch\n", + " self.y_true = np.array([])\n", + " self.y_pred = np.array([])\n", + " with torch.no_grad():\n", + " val_bar = tqdm(self.val_loader)\n", + " for val_data in val_bar:\n", + " val_images, val_labels = val_data\n", + " outputs = self.net(val_images.to(self.device))\n", + " predict_y = torch.max(outputs, dim=1)[1]\n", + " self.acc += torch.eq(predict_y, val_labels.to(self.device)).sum().item()\n", + " self.y_true = np.append(self.y_true, val_labels)\n", + " self.y_pred = np.append(self.y_pred, (predict_y.to(\"cpu\")).numpy())\n", + " pass\n", + "\n", + " def other(self):\n", + " \"\"\"\n", + " save:\n", + " tensorboard, logger_txt, and checkpoint\n", + " \"\"\"\n", + " val_accurate = self.acc / self.val_num\n", + " train_loss = self.running_loss / self.train_steps\n", + " print('[epoch %d] train_loss: %.3f val_accuracy: %.3f' %\n", + " (self.epoch + 1, train_loss, val_accurate))\n", + "\n", + " # 保存tensorboard\n", + " self.save_tensorboard(train_loss=train_loss, val_accurate=val_accurate)\n", + "\n", + " # 保存pth文件\n", + " self.save_checkpoint(val_accurate=val_accurate, train_loss=train_loss)\n", + " \n", + " # 使用txt保存结果\n", + " self.save_logger_txt()\n", + " pass\n", + " \n", + " def save_tensorboard(self, train_loss, val_accurate):\n", + " '''\n", + " train_loss_iteration, train_loss, val_loss, val_accurate, val_f1-score\n", + " '''\n", + " # add loss, acc and lr into tensorboard\n", + " tags = [\"train_loss\", \"accuracy\", \"learning_rate\"]\n", + " self.tb_writer.add_scalar(tags[0], train_loss, self.epoch)\n", + " self.tb_writer.add_scalar(tags[1], val_accurate, self.epoch)\n", + " self.tb_writer.add_scalar(tags[2], self.optimizer.param_groups[0][\"lr\"], self.epoch)\n", + " \n", + " def save_logger_txt(self):\n", + " logger_txt(self.log_path, \"val\", self.epoch+1, self.y_true, self.y_pred)\n", + " \n", + " def save_config(self):\n", + " with open(self.config.config_dir, 'r', encoding=\"utf-8\") as file:\n", + " data = file.read()\n", + " with open(self.log_path, 'a') as f:\n", + " f.write(data + '\\n\\n')\n", + " \n", + " def save_checkpoint(self, val_accurate, train_loss):\n", + " '''\n", + " 保存此次模型参数和最好模型参数\n", + " '''\n", + " save_file = {\n", + " 'model': self.net.state_dict(),\n", + " 'optimizer': self.optimizer.state_dict(),\n", + " 'epoch': self.epoch,\n", + " 'val_accuracy': val_accurate,\n", + " 'train_loss': train_loss}\n", + " \n", + " if self.epoch < 200:\n", + " # 保存所有的pth文件\n", + " save_path = os.path.join(self.save_dir, '{0}_epoch{1}.pth'.format(self.config.network, self.epoch+1))\n", + " torch.save(save_file, save_path)\n", + " \n", + " # 保存最好的pth文件\n", + " best_save_path = os.path.join(self.save_dir, '{0}_best.pth'.format(self.config.network))\n", + " if val_accurate > self.best_acc:\n", + " self.best_acc = val_accurate\n", + " torch.save(save_file, best_save_path)\n", + " pass\n", + " \n", + " def resume(self):\n", + " '''\n", + " 恢复上一次训练\n", + " '''\n", + " if os.path.isfile(os.path.join(self.checkpoint_dir, '{}.pth'.format(self.config.network))):\n", + " weight_path = os.path.join(self.checkpoint_dir, '{}.pth'.format(self.config.network))\n", + " checkpoint = torch.load(weight_path, map_location=self.device)\n", + " self.net.load_state_dict(checkpoint['model'])\n", + " self.optimizer.load_state_dict(checkpoint['optimizer'])\n", + " start_epoch = checkpoint['epoch'] + 1\n", + " best_acc = checkpoint['best_acc']\n", + " train_loss = checkpoint['train_loss']\n", + " print()\n", + " print(\"the training process from epoch{}...\".format(start_epoch))\n", + " print(\"train_loss: %.3f val_accuracy: %.3f\" %\n", + " (train_loss, best_acc))\n", + " print()\n", + " pass\n", + " \n", + "\n", + "def main(config):\n", + " print(\"----------------start train---------------------\")\n", + " trainer = AD_Trainer(config=config)\n", + " trainer.forward()\n", + " print('-------------------Finished Training---------------------')" + ] + }, + { + "cell_type": "markdown", + "id": "12ef12fd", + "metadata": {}, + "source": [ + "### 5.实验结果\n", + "下图为训练过程中的acc实时曲线" + ] + }, + { + "cell_type": "markdown", + "id": "f31471fa", + "metadata": {}, + "source": [ + "![6.png](6.png)" + ] + }, + { + "cell_type": "markdown", + "id": "73b9e59b", + "metadata": {}, + "source": [ + "| 方法 | Acc | Precision | Recall | F1-score |\n", + "| :----: | :----: | :----: | :----: | :----: |\n", + "| VGG16 | 0.831 |0.333| 0.439| 0.379|\n", + "| ResNet34 | 0.857 |0.404 |0.463| 0.432|" + ] + }, + { + "cell_type": "markdown", + "id": "679f8bc7", + "metadata": {}, + "source": [ + "可视化结果\n", + "![7.png](7.png)" + ] + }, + { + "cell_type": "markdown", + "id": "3673dd38", + "metadata": {}, + "source": [ + "## 总结\n", + "总的来说,我们通过我们的方法很好的解决了目前航空传感器时间序列异常检测存在的问题,由于课程要求主要,着重介绍了如何应用深度学习的方法是如何应用于我们的问题中的,对于采样和损失函数的介绍由于篇幅简单省略。" + ] + } + ], + "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.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/report_00_Self_Research/Report_00_Self-Research.pdf b/report_00_Self_Research/Report_00_Self-Research.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bb63d0303997c73bffc5706eeb761c1fa6134e26 Binary files /dev/null and b/report_00_Self_Research/Report_00_Self-Research.pdf differ diff --git a/report_00_Self_Research/images/.keep b/report_00_Self_Research/images/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/report_00_Self_Research/images/1.png b/report_00_Self_Research/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a25fbb7a3bb08c1dc6ea7018dbf33b9ea15ec6c5 Binary files /dev/null and b/report_00_Self_Research/images/1.png differ diff --git a/report_00_Self_Research/images/2.png b/report_00_Self_Research/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..07511b254ad3f3aa4d882e24f000aba4c26c1ea1 Binary files /dev/null and b/report_00_Self_Research/images/2.png differ diff --git a/report_00_Self_Research/images/3.jpg b/report_00_Self_Research/images/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c87db14159cfd6171976755369d612ffb9dc8e6 Binary files /dev/null and b/report_00_Self_Research/images/3.jpg differ diff --git a/report_00_Self_Research/images/4.png b/report_00_Self_Research/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb20214dcc16b7bfdb902c07bf20a774f34ea0c Binary files /dev/null and b/report_00_Self_Research/images/4.png differ diff --git a/report_00_Self_Research/images/5.png b/report_00_Self_Research/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..574e8dd0ac16a5aaba95f9001bdcc5b93c604252 Binary files /dev/null and b/report_00_Self_Research/images/5.png differ diff --git a/report_00_Self_Research/images/6.png b/report_00_Self_Research/images/6.png new file mode 100644 index 0000000000000000000000000000000000000000..18e3fb8651c28c5d1c9d12a916fc5bd69fd2f2ca Binary files /dev/null and b/report_00_Self_Research/images/6.png differ diff --git a/report_00_Self_Research/images/7.png b/report_00_Self_Research/images/7.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0de89a589bddf5fc8600c905ac6ae678fc8ba3 Binary files /dev/null and b/report_00_Self_Research/images/7.png differ diff --git a/report_01_Price_Prediction/images/1.png b/report_01_Price_Prediction/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..ee697781fd73fdbe3f1328058b96aea88b5a26bb Binary files /dev/null and b/report_01_Price_Prediction/images/1.png differ diff --git a/report_01_Price_Prediction/images/2.png b/report_01_Price_Prediction/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d67c756bf750eb46458412db442ac701054b9df Binary files /dev/null and b/report_01_Price_Prediction/images/2.png differ diff --git a/report_01_Price_Prediction/images/3.png b/report_01_Price_Prediction/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e1c205f3a1d99865e7f4d50e5ef5bc14bd00e1 Binary files /dev/null and b/report_01_Price_Prediction/images/3.png differ diff --git a/report_01_Price_Prediction/images/4.png b/report_01_Price_Prediction/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..71c912a9ee05824eeb1d4e7d19b797e33c91a547 Binary files /dev/null and b/report_01_Price_Prediction/images/4.png differ diff --git a/report_01_Price_Prediction/report_01_Price_Prediction.ipynb b/report_01_Price_Prediction/report_01_Price_Prediction.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..daa0bbed6be40a1cbd6354fc4c7a5f25ee64e4f9 --- /dev/null +++ b/report_01_Price_Prediction/report_01_Price_Prediction.ipynb @@ -0,0 +1,4104 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report -01- Price_Prediction\n", + "* 张达\n", + "* 2022100847\n", + "\n", + "## 任务简介\n", + " ### 任务背景\n", + " 房屋的价格和所在区域、楼层、房龄等都有密切的关系,现在需求开发一个房价预测的模型,通过训练数据拟合得到房屋的价格。
\n", + " ### 数据特征\n", + " 数据分为:
\n", + " 训练数据:train_data.csv,共有16573条数据
\n", + " 测试数据:test_data.csv,共有7104条数据
\n", + "数据文件为csv格式的文本文件,可以使用 pandas库读取,具体的数据格式如下图所列:
\n", + "![1.png](1.png)\n", + "数据共有12列,分别是:
\n", + "Direction: 房屋所在城市的方位
\n", + "District: 区域
\n", + "Elevator:是否有电梯
\n", + "Floor: 所在楼层
\n", + "Garden: 小区名字
\n", + "Id: 唯一的编号
\n", + "Layout:几室,几厅
\n", + "Price: 价格 (需要预测的值)
\n", + "Region: 所在的区域
\n", + "Renovation: 房屋装修的类型
\n", + "Size:房屋面积
\n", + "Year:建成年份\n", + "### 要求\n", + "使用自选的方法构建一个回归模型,通过训练数据找到回归模型的参数。利用训练好的模型预测测试数据test_data.csv的房价,并和真值比较,计算误差。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 解决途径\n", + "\n", + " ## 1.问题分析 ##\n", + "\n", + "数据分为训练集和测试集。 每条记录都包括房屋的属性值和属性,共有Direction、Elevator、Floor、Garden、Id、Layout、Price、Region、Renovation、Size、Year12个特征,由各种数据类型组成。 例如,建筑年份由整数表示,分布由离散类别表示,其他特征有的则由浮点数表示。
\n", + "这就是现实让事情变得复杂的地方:例如,一些数据完全丢失了,缺失值被简单地标记为“NA”。 \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 获取数据" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:33:21.079523Z", + "iopub.status.busy": "2022-04-14T06:33:21.078484Z", + "iopub.status.idle": "2022-04-14T06:33:21.129630Z", + "shell.execute_reply": "2022-04-14T06:33:21.128925Z", + "shell.execute_reply.started": "2022-04-14T06:33:21.079483Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DirectionDistrictElevatorFloorGardenIdLayoutPriceRegionRenovationSizeYear
0东西灯市口NaN6锡拉胡同21号院1011026470433室1厅780.0东城精装75.01988
1南北东单无电梯6东华门大街1011026509782室1厅705.0东城精装60.01988
2南西崇文门有电梯16新世界中心1011026727433室1厅1400.0东城其他210.01996
3崇文门NaN7兴隆都市馨园1011025774101室1厅420.0东城精装39.02004
4陶然亭有电梯19中海紫御公馆1011025746962室2厅998.0东城精装90.02010
\n", + "
" + ], + "text/plain": [ + " Direction District Elevator Floor Garden Id Layout Price \\\n", + "0 东西 灯市口 NaN 6 锡拉胡同21号院 101102647043 3室1厅 780.0 \n", + "1 南北 东单 无电梯 6 东华门大街 101102650978 2室1厅 705.0 \n", + "2 南西 崇文门 有电梯 16 新世界中心 101102672743 3室1厅 1400.0 \n", + "3 南 崇文门 NaN 7 兴隆都市馨园 101102577410 1室1厅 420.0 \n", + "4 南 陶然亭 有电梯 19 中海紫御公馆 101102574696 2室2厅 998.0 \n", + "\n", + " Region Renovation Size Year \n", + "0 东城 精装 75.0 1988 \n", + "1 东城 精装 60.0 1988 \n", + "2 东城 其他 210.0 1996 \n", + "3 东城 精装 39.0 2004 \n", + "4 东城 精装 90.0 2010 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.read_csv('data/data135607/lianjia.csv')\n", + "data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 查看并统计缺失值" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:33:26.991479Z", + "iopub.status.busy": "2022-04-14T06:33:26.991051Z", + "iopub.status.idle": "2022-04-14T06:33:26.996794Z", + "shell.execute_reply": "2022-04-14T06:33:26.995639Z", + "shell.execute_reply.started": "2022-04-14T06:33:26.991444Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(23677, 12)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:33:35.324714Z", + "iopub.status.busy": "2022-04-14T06:33:35.323660Z", + "iopub.status.idle": "2022-04-14T06:33:35.346212Z", + "shell.execute_reply": "2022-04-14T06:33:35.345379Z", + "shell.execute_reply.started": "2022-04-14T06:33:35.324664Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Direction 0\n", + "District 0\n", + "Elevator 8237\n", + "Floor 0\n", + "Garden 0\n", + "Id 0\n", + "Layout 0\n", + "Price 0\n", + "Region 0\n", + "Renovation 0\n", + "Size 0\n", + "Year 0\n" + ] + } + ], + "source": [ + "for c in data.columns:\n", + " print(c,data[c].isnull().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.542179Z", + "iopub.status.busy": "2022-04-12T04:07:24.541938Z", + "iopub.status.idle": "2022-04-12T04:07:24.556232Z", + "shell.execute_reply": "2022-04-12T04:07:24.555705Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.542157Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 23677 entries, 0 to 23676\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Direction 23677 non-null object \n", + " 1 District 23677 non-null object \n", + " 2 Elevator 15440 non-null object \n", + " 3 Floor 23677 non-null int64 \n", + " 4 Garden 23677 non-null object \n", + " 5 Id 23677 non-null int64 \n", + " 6 Layout 23677 non-null object \n", + " 7 Price 23677 non-null float64\n", + " 8 Region 23677 non-null object \n", + " 9 Renovation 23677 non-null object \n", + " 10 Size 23677 non-null float64\n", + " 11 Year 23677 non-null int64 \n", + "dtypes: float64(2), int64(3), object(7)\n", + "memory usage: 2.2+ MB\n" + ] + } + ], + "source": [ + "# 检查缺失值情况\n", + "data.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 数据清洗\n", + "\n", + "数据清洗也叫数据清理,是指从数据库或数据表中更正和删除不准确数据记录的过程。广义地说,数据清洗包括识别和替换不完整、不准确、不相关或有问题的数据和记录。
\n", + "\n", + "通过有效的数据清洗,能够确保所有数据集应保持一致并且没有任何错误,为以后数据的使用和分析提供支撑。" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:37:32.029992Z", + "iopub.status.busy": "2022-04-14T06:37:32.029253Z", + "iopub.status.idle": "2022-04-14T06:37:32.034040Z", + "shell.execute_reply": "2022-04-14T06:37:32.033501Z", + "shell.execute_reply.started": "2022-04-14T06:37:32.029960Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "df = data.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "将所有缺失的值替换为相应特征的平均值。然后,为了将所有特征放在一个共同的尺度上, 我们通过将特征重新缩放到零均值和单位方差来标准化数据:
\n", + "
x←(x-μ)/σ " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![2.png](2.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Direction 房屋朝向" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:37:42.546664Z", + "iopub.status.busy": "2022-04-14T06:37:42.546244Z", + "iopub.status.idle": "2022-04-14T06:37:42.556182Z", + "shell.execute_reply": "2022-04-14T06:37:42.555528Z", + "shell.execute_reply.started": "2022-04-14T06:37:42.546631Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "南北 11391\n", + "南 2845\n", + "东西 1403\n", + "东南 1346\n", + "西南 1122\n", + "东 934\n", + "西 889\n", + "西北 765\n", + "东北 677\n", + "北 610\n", + "东南北 467\n", + "南西北 371\n", + "南西 164\n", + "东西北 141\n", + "东南西 134\n", + "西南北 124\n", + "东南西北 90\n", + "西南东北 24\n", + "南东北 19\n", + "东南西南 15\n", + "东南南 14\n", + "东东南 10\n", + "西东北 10\n", + "西南西北 10\n", + "东西南 9\n", + "南西南 9\n", + "东南东北 8\n", + "西南西 6\n", + "东南南北 5\n", + "南西东北 3\n", + "东西南北 3\n", + "西西北 2\n", + "西北北 2\n", + "南西南西 2\n", + "东东北 2\n", + "南西南北 2\n", + "南西北北 2\n", + "东北东北 2\n", + "南西西北 2\n", + "南东 2\n", + "西北东北 2\n", + "西西南 2\n", + "294.42平米 1\n", + "南北东北 1\n", + "107.93平米 1\n", + "361.8平米 1\n", + "东南北西 1\n", + "242.78平米 1\n", + "259.87平米 1\n", + "东南西北东北 1\n", + "东南南西北 1\n", + "427.5平米 1\n", + "203.73平米 1\n", + "295.88平米 1\n", + "西南西北东北 1\n", + "242.96平米 1\n", + "264.6平米 1\n", + "北西 1\n", + "西南西北北 1\n", + "259.76平米 1\n", + "北南 1\n", + "南北东 1\n", + "386.83平米 1\n", + "240.97平米 1\n", + "东西东北 1\n", + "东南西南北 1\n", + "195.32平米 1\n", + "266.61平米 1\n", + "295.01平米 1\n", + "东南西南东北 1\n", + "523.4平米 1\n", + "东东南南 1\n", + "东南西北北 1\n", + "292.31平米 1\n", + "335.51平米 1\n", + "260.07平米 1\n", + "东西北东北 1\n", + "东西北北 1\n", + "南北西 1\n", + "Name: Direction, dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Direction'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.705354Z", + "iopub.status.busy": "2022-04-12T04:07:24.704968Z", + "iopub.status.idle": "2022-04-12T04:07:24.708694Z", + "shell.execute_reply": "2022-04-12T04:07:24.708205Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.705333Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(23677, 12)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.709604Z", + "iopub.status.busy": "2022-04-12T04:07:24.709347Z", + "iopub.status.idle": "2022-04-12T04:07:24.716616Z", + "shell.execute_reply": "2022-04-12T04:07:24.716123Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.709583Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Direction
10
11
12西
13西
14西南
15
\n", + "
" + ], + "text/plain": [ + " Direction\n", + "10 南\n", + "11 南\n", + "12 西\n", + "13 西\n", + "14 西南\n", + "15 东" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[['Direction']].loc[10:15]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.717643Z", + "iopub.status.busy": "2022-04-12T04:07:24.717270Z", + "iopub.status.idle": "2022-04-12T04:07:24.730420Z", + "shell.execute_reply": "2022-04-12T04:07:24.729928Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.717621Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DirectionDistrictElevatorFloorGardenIdLayoutPriceRegionRenovationSizeYear
10工体无电梯5十字坡东里1011025994101室1厅405.0东城精装37.01986
11地安门无电梯5帽儿胡同45号院1011025161902室1厅700.0东城其他50.01985
12西广渠门有电梯19金桥国际1011026203681室1厅462.0东城精装54.02004
13西崇文门有电梯18太华公寓1011026240561室0厅518.0东城精装64.02000
14西南菜户营有电梯23信德园1011026916753室1厅960.0西城其他146.02002
15木樨地无电梯4西便门外大街1011026538302室0厅457.0西城简装50.01957
\n", + "
" + ], + "text/plain": [ + " Direction District Elevator Floor Garden Id Layout Price \\\n", + "10 南 工体 无电梯 5 十字坡东里 101102599410 1室1厅 405.0 \n", + "11 南 地安门 无电梯 5 帽儿胡同45号院 101102516190 2室1厅 700.0 \n", + "12 西 广渠门 有电梯 19 金桥国际 101102620368 1室1厅 462.0 \n", + "13 西 崇文门 有电梯 18 太华公寓 101102624056 1室0厅 518.0 \n", + "14 西南 菜户营 有电梯 23 信德园 101102691675 3室1厅 960.0 \n", + "15 东 木樨地 无电梯 4 西便门外大街 101102653830 2室0厅 457.0 \n", + "\n", + " Region Renovation Size Year \n", + "10 东城 精装 37.0 1986 \n", + "11 东城 其他 50.0 1985 \n", + "12 东城 精装 54.0 2004 \n", + "13 东城 精装 64.0 2000 \n", + "14 西城 其他 146.0 2002 \n", + "15 西城 简装 50.0 1957 " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[10:15]" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:40:14.203577Z", + "iopub.status.busy": "2022-04-14T06:40:14.203152Z", + "iopub.status.idle": "2022-04-14T06:40:14.219666Z", + "shell.execute_reply": "2022-04-14T06:40:14.218941Z", + "shell.execute_reply.started": "2022-04-14T06:40:14.203543Z" + }, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 True\n", + "1 True\n", + "2 True\n", + "3 True\n", + "4 True\n", + " ... \n", + "23672 True\n", + "23673 True\n", + "23674 True\n", + "23675 True\n", + "23676 True\n", + "Name: Direction, Length: 23677, dtype: bool" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Direction'].str[-1:] != '米'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Direction\n", + "删除异常的平米数据" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:40:51.704478Z", + "iopub.status.busy": "2022-04-14T06:40:51.703715Z", + "iopub.status.idle": "2022-04-14T06:40:51.718570Z", + "shell.execute_reply": "2022-04-14T06:40:51.717659Z", + "shell.execute_reply.started": "2022-04-14T06:40:51.704445Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "df = df.loc[df['Direction'].str[-1:] != '米']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:40:55.621291Z", + "iopub.status.busy": "2022-04-14T06:40:55.620539Z", + "iopub.status.idle": "2022-04-14T06:40:55.627111Z", + "shell.execute_reply": "2022-04-14T06:40:55.626633Z", + "shell.execute_reply.started": "2022-04-14T06:40:55.621258Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['东西', '南北', '南西', '南', '东北', '西', '西南', '东', '西北', '北', '南西南',\n", + " '西南西北', '东南', '西南东北', '东西北', '东南北', '南西北', '东南南北', '南东', '东南西南',\n", + " '西南北', '东南西北', '东南西', '南东北', '西南西', '西东北', '南西北北', '东南南', '南北西',\n", + " '西南西北北', '南北东', '东东南', '东南东北', '东西南', '南北东北', '东南北西', '南西东北',\n", + " '西南西北东北', '东西北北', '南西南北', '西西北', '东南南西北', '东北东北', '东西南北', '西北北',\n", + " '东东北', '西北东北', '东南西南北', '东南西北北', '南西南西', '西西南', '东南西南东北', '北南',\n", + " '东东南南', '东南西北东北', '东西北东北', '南西西北', '北西', '东西东北'], dtype=object)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Direction'].unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.752495Z", + "iopub.status.busy": "2022-04-12T04:07:24.752229Z", + "iopub.status.idle": "2022-04-12T04:07:24.754934Z", + "shell.execute_reply": "2022-04-12T04:07:24.754283Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.752474Z" + }, + "scrolled": true, + "tags": [] + }, + "source": [ + "### 对叠词进行替换" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:44:50.405893Z", + "iopub.status.busy": "2022-04-14T06:44:50.404843Z", + "iopub.status.idle": "2022-04-14T06:44:50.410508Z", + "shell.execute_reply": "2022-04-14T06:44:50.409866Z", + "shell.execute_reply.started": "2022-04-14T06:44:50.405849Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'D i r e c t i o n'" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "' '.join(\"Direction\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:07:24.760129Z", + "iopub.status.busy": "2022-04-12T04:07:24.759865Z", + "iopub.status.idle": "2022-04-12T04:07:24.763932Z", + "shell.execute_reply": "2022-04-12T04:07:24.763427Z", + "shell.execute_reply.started": "2022-04-12T04:07:24.760106Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{' ', 'D', 'c', 'e', 'i', 'n', 'o', 'r', 't'}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set(' '.join(\"Direction\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:47:31.553341Z", + "iopub.status.busy": "2022-04-14T06:47:31.552647Z", + "iopub.status.idle": "2022-04-14T06:47:31.596552Z", + "shell.execute_reply": "2022-04-14T06:47:31.595686Z", + "shell.execute_reply.started": "2022-04-14T06:47:31.553288Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "Direction_func = lambda x: ('').join(sorted(list(set(''.join(x)))))\n", + "df['Direction'] = df['Direction'].apply(Direction_func)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:47:34.948137Z", + "iopub.status.busy": "2022-04-14T06:47:34.947104Z", + "iopub.status.idle": "2022-04-14T06:47:34.958255Z", + "shell.execute_reply": "2022-04-14T06:47:34.957522Z", + "shell.execute_reply.started": "2022-04-14T06:47:34.948100Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "北南 11392\n", + "南 2845\n", + "东西 1403\n", + "东南 1373\n", + "南西 1305\n", + "东 934\n", + "西 889\n", + "北西 770\n", + "东北 681\n", + "北 610\n", + "北南西 513\n", + "东北南 501\n", + "东南西 158\n", + "东北西 156\n", + "东北南西 127\n", + "Name: Direction, dtype: int64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Direction'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "### Elevator电梯" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:49:15.371781Z", + "iopub.status.busy": "2022-04-14T06:49:15.370731Z", + "iopub.status.idle": "2022-04-14T06:49:15.379937Z", + "shell.execute_reply": "2022-04-14T06:49:15.379304Z", + "shell.execute_reply.started": "2022-04-14T06:49:15.371747Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "有电梯 9342\n", + "无电梯 6078\n", + "Name: Elevator, dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Elevator'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:50:08.280695Z", + "iopub.status.busy": "2022-04-14T06:50:08.280409Z", + "iopub.status.idle": "2022-04-14T06:50:08.295373Z", + "shell.execute_reply": "2022-04-14T06:50:08.294782Z", + "shell.execute_reply.started": "2022-04-14T06:50:08.280668Z" + }, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DirectionDistrictElevatorFloorGardenIdLayoutPriceRegionRenovationSizeYear
0东西灯市口NaN6锡拉胡同21号院1011026470433室1厅780.0东城精装75.01988
1北南东单无电梯6东华门大街1011026509782室1厅705.0东城精装60.01988
2南西崇文门有电梯16新世界中心1011026727433室1厅1400.0东城其他210.01996
3崇文门NaN7兴隆都市馨园1011025774101室1厅420.0东城精装39.02004
4陶然亭有电梯19中海紫御公馆1011025746962室2厅998.0东城精装90.02010
\n", + "
" + ], + "text/plain": [ + " Direction District Elevator Floor Garden Id Layout Price \\\n", + "0 东西 灯市口 NaN 6 锡拉胡同21号院 101102647043 3室1厅 780.0 \n", + "1 北南 东单 无电梯 6 东华门大街 101102650978 2室1厅 705.0 \n", + "2 南西 崇文门 有电梯 16 新世界中心 101102672743 3室1厅 1400.0 \n", + "3 南 崇文门 NaN 7 兴隆都市馨园 101102577410 1室1厅 420.0 \n", + "4 南 陶然亭 有电梯 19 中海紫御公馆 101102574696 2室2厅 998.0 \n", + "\n", + " Region Renovation Size Year \n", + "0 东城 精装 75.0 1988 \n", + "1 东城 精装 60.0 1988 \n", + "2 东城 其他 210.0 1996 \n", + "3 东城 精装 39.0 2004 \n", + "4 东城 精装 90.0 2010 " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:52:37.042339Z", + "iopub.status.busy": "2022-04-14T06:52:37.041684Z", + "iopub.status.idle": "2022-04-14T06:52:37.053992Z", + "shell.execute_reply": "2022-04-14T06:52:37.053131Z", + "shell.execute_reply.started": "2022-04-14T06:52:37.042303Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "df.loc[(df['Floor']>6)&(df['Elevator'].isnull()), 'Elevator'] = '有电梯'\n", + "df.loc[(df['Floor']<=6)&(df['Elevator'].isnull()), 'Elevator'] = '无电梯'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Layout布局" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:53:07.057072Z", + "iopub.status.busy": "2022-04-14T06:53:07.056637Z", + "iopub.status.idle": "2022-04-14T06:53:07.066748Z", + "shell.execute_reply": "2022-04-14T06:53:07.066020Z", + "shell.execute_reply.started": "2022-04-14T06:53:07.057039Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2室1厅 9485\n", + "3室1厅 3999\n", + "3室2厅 2765\n", + "1室1厅 2681\n", + "2室2厅 1671\n", + "4室2厅 930\n", + "1室0厅 499\n", + "4室1厅 295\n", + "5室2厅 200\n", + "2房间1卫 170\n", + "1房间1卫 146\n", + "3房间1卫 116\n", + "4室3厅 96\n", + "5室3厅 75\n", + "1室2厅 67\n", + "6室2厅 59\n", + "3房间2卫 53\n", + "2室0厅 50\n", + "3室3厅 43\n", + "4房间2卫 31\n", + "3室0厅 29\n", + "6室3厅 29\n", + "5室1厅 27\n", + "2房间2卫 18\n", + "1房间0卫 15\n", + "4房间1卫 15\n", + "5房间2卫 10\n", + "7室3厅 7\n", + "4房间3卫 7\n", + "5房间3卫 6\n", + "7室2厅 6\n", + "2室3厅 5\n", + "4室4厅 4\n", + "6室4厅 4\n", + "5室4厅 4\n", + "8室3厅 4\n", + "8室2厅 3\n", + "6房间4卫 3\n", + "4室0厅 3\n", + "3房间0卫 3\n", + "2房间0卫 2\n", + "6房间3卫 2\n", + "6室0厅 2\n", + "3房间3卫 2\n", + "1房间2卫 2\n", + "9室1厅 1\n", + "6室1厅 1\n", + "8室4厅 1\n", + "5房间0卫 1\n", + "8室5厅 1\n", + "9室2厅 1\n", + "7房间2卫 1\n", + "6室5厅 1\n", + "7室1厅 1\n", + "5室0厅 1\n", + "1室3厅 1\n", + "11房间3卫 1\n", + "6房间5卫 1\n", + "9室3厅 1\n", + "Name: Layout, dtype: int64" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Layout'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:54:06.949767Z", + "iopub.status.busy": "2022-04-14T06:54:06.949256Z", + "iopub.status.idle": "2022-04-14T06:54:06.978306Z", + "shell.execute_reply": "2022-04-14T06:54:06.977405Z", + "shell.execute_reply.started": "2022-04-14T06:54:06.949734Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DirectionDistrictElevatorFloorGardenIdLayoutPriceRegionRenovationSizeYear
148旧宫有电梯19东亚五环国际1011018708333房间1卫230.0大兴简装93.02014
151南西旧宫有电梯20东亚五环国际1011022122503房间1卫265.0大兴简装97.02014
164西天宫院有电梯14鑫苑鑫都汇1011020271183房间1卫160.0大兴精装43.02015
251南西门头沟其它有电梯25中国铁建梧桐汇1011022590933房间1卫260.0门头沟简装86.02015
747东南长阳有电梯11半岛金街1011022617673房间1卫218.0房山精装81.02016
.......................................
20447德胜门有电梯7德胜佳苑1011024772813房间1卫690.0西城精装80.02008
20493德胜门有电梯7德胜佳苑1011024772743房间1卫690.0西城精装80.02008
22198工体有电梯10东外公馆1011018713913房间1卫420.0东城简装87.02008
22225广渠门有电梯10自由季1011026040553房间1卫280.0东城精装59.02010
22429西广渠门有电梯10自由季1011026512713房间1卫245.0东城精装55.02010
\n", + "

116 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " Direction District Elevator Floor Garden Id Layout Price \\\n", + "148 东 旧宫 有电梯 19 东亚五环国际 101101870833 3房间1卫 230.0 \n", + "151 南西 旧宫 有电梯 20 东亚五环国际 101102212250 3房间1卫 265.0 \n", + "164 西 天宫院 有电梯 14 鑫苑鑫都汇 101102027118 3房间1卫 160.0 \n", + "251 南西 门头沟其它 有电梯 25 中国铁建梧桐汇 101102259093 3房间1卫 260.0 \n", + "747 东南 长阳 有电梯 11 半岛金街 101102261767 3房间1卫 218.0 \n", + "... ... ... ... ... ... ... ... ... \n", + "20447 南 德胜门 有电梯 7 德胜佳苑 101102477281 3房间1卫 690.0 \n", + "20493 南 德胜门 有电梯 7 德胜佳苑 101102477274 3房间1卫 690.0 \n", + "22198 北 工体 有电梯 10 东外公馆 101101871391 3房间1卫 420.0 \n", + "22225 东 广渠门 有电梯 10 自由季 101102604055 3房间1卫 280.0 \n", + "22429 西 广渠门 有电梯 10 自由季 101102651271 3房间1卫 245.0 \n", + "\n", + " Region Renovation Size Year \n", + "148 大兴 简装 93.0 2014 \n", + "151 大兴 简装 97.0 2014 \n", + "164 大兴 精装 43.0 2015 \n", + "251 门头沟 简装 86.0 2015 \n", + "747 房山 精装 81.0 2016 \n", + "... ... ... ... ... \n", + "20447 西城 精装 80.0 2008 \n", + "20493 西城 精装 80.0 2008 \n", + "22198 东城 简装 87.0 2008 \n", + "22225 东城 精装 59.0 2010 \n", + "22429 东城 精装 55.0 2010 \n", + "\n", + "[116 rows x 12 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[df['Layout'] == '3房间1卫']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:56:01.121692Z", + "iopub.status.busy": "2022-04-14T06:56:01.121281Z", + "iopub.status.idle": "2022-04-14T06:56:01.155527Z", + "shell.execute_reply": "2022-04-14T06:56:01.154739Z", + "shell.execute_reply.started": "2022-04-14T06:56:01.121660Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#对3房1卫、2房1卫、1房间1卫部分数据进行修改\n", + "df.loc[(df['Layout'] == '3房间1卫') & (df['Size'] >=60), 'Layout'] = '3室1厅'\n", + "df.loc[(df['Layout'] == '2房间1卫') & (df['Size'] >=40), 'Layout'] = '2室1厅'\n", + "df.loc[df['Layout'] == '1房间1卫', 'Layout'] = '1室1厅'\n", + "df.loc[(df['Layout'] == '3房间2卫') & (df['Size'] >=70), 'Layout'] = '3室2厅'\n", + "df.loc[(df['Layout'] == '3房间0卫') & (df['Size'] >=60), 'Layout'] = '3室0厅'\n", + "df.loc[(df['Layout'] == '4房间2卫') & (df['Size'] >=80), 'Layout'] = '4室2厅'\n", + "df.loc[(df['Layout'] == '4房间1卫') & (df['Size'] >=80), 'Layout'] = '4室1厅'\n", + "df.loc[(df['Layout'] == '5房间2卫') & (df['Size'] >=80), 'Layout'] = '5室2厅'\n", + "df.loc[(df['Layout'] == '4房间3卫') & (df['Size'] >=100), 'Layout'] = '4室3厅'\n", + "df.loc[(df['Layout'] == '5房间3卫') & (df['Size'] >=110), 'Layout'] = '5室3厅'\n", + "\n", + "df.loc[(df['Layout'] == '6房间4卫') & (df['Size'] >=120), 'Layout'] = '6室4厅'\n", + "#df[(df['Layout'] == '3房间1卫') & (df['Size'] >=80)]['Layout'].replace('3房间1卫','3室1厅',inplace = True)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:56:09.385021Z", + "iopub.status.busy": "2022-04-14T06:56:09.384603Z", + "iopub.status.idle": "2022-04-14T06:56:09.394369Z", + "shell.execute_reply": "2022-04-14T06:56:09.393616Z", + "shell.execute_reply.started": "2022-04-14T06:56:09.384990Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2室1厅 9622\n", + "3室1厅 4090\n", + "1室1厅 2827\n", + "3室2厅 2785\n", + "2室2厅 1671\n", + "4室2厅 949\n", + "1室0厅 499\n", + "4室1厅 307\n", + "5室2厅 208\n", + "4室3厅 102\n", + "5室3厅 80\n", + "1室2厅 67\n", + "6室2厅 59\n", + "2室0厅 50\n", + "3室3厅 43\n", + "3房间2卫 33\n", + "2房间1卫 33\n", + "3室0厅 32\n", + "6室3厅 29\n", + "5室1厅 27\n", + "3房间1卫 25\n", + "2房间2卫 18\n", + "1房间0卫 15\n", + "4房间2卫 12\n", + "7室3厅 7\n", + "6室4厅 7\n", + "7室2厅 6\n", + "2室3厅 5\n", + "4室4厅 4\n", + "8室3厅 4\n", + "5室4厅 4\n", + "4房间1卫 3\n", + "8室2厅 3\n", + "4室0厅 3\n", + "6房间3卫 2\n", + "2房间0卫 2\n", + "5房间2卫 2\n", + "6室0厅 2\n", + "3房间3卫 2\n", + "1房间2卫 2\n", + "7室1厅 1\n", + "5房间3卫 1\n", + "6室1厅 1\n", + "8室5厅 1\n", + "8室4厅 1\n", + "5房间0卫 1\n", + "9室1厅 1\n", + "6房间5卫 1\n", + "7房间2卫 1\n", + "11房间3卫 1\n", + "5室0厅 1\n", + "4房间3卫 1\n", + "6室5厅 1\n", + "9室3厅 1\n", + "1室3厅 1\n", + "9室2厅 1\n", + "Name: Layout, dtype: int64" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Layout'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Layout\n", + "只考虑“室”和“厅”,将其它少数“房间”和“卫”移除" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:56:34.839350Z", + "iopub.status.busy": "2022-04-14T06:56:34.838947Z", + "iopub.status.idle": "2022-04-14T06:56:34.855759Z", + "shell.execute_reply": "2022-04-14T06:56:34.855110Z", + "shell.execute_reply.started": "2022-04-14T06:56:34.839318Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "df = df.loc[df['Layout'].str[-1:] != '卫']" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:56:43.664744Z", + "iopub.status.busy": "2022-04-14T06:56:43.664229Z", + "iopub.status.idle": "2022-04-14T06:56:43.673575Z", + "shell.execute_reply": "2022-04-14T06:56:43.673072Z", + "shell.execute_reply.started": "2022-04-14T06:56:43.664709Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2室1厅 9622\n", + "3室1厅 4090\n", + "1室1厅 2827\n", + "3室2厅 2785\n", + "2室2厅 1671\n", + "4室2厅 949\n", + "1室0厅 499\n", + "4室1厅 307\n", + "5室2厅 208\n", + "4室3厅 102\n", + "5室3厅 80\n", + "1室2厅 67\n", + "6室2厅 59\n", + "2室0厅 50\n", + "3室3厅 43\n", + "3室0厅 32\n", + "6室3厅 29\n", + "5室1厅 27\n", + "7室3厅 7\n", + "6室4厅 7\n", + "7室2厅 6\n", + "2室3厅 5\n", + "5室4厅 4\n", + "8室3厅 4\n", + "4室4厅 4\n", + "8室2厅 3\n", + "4室0厅 3\n", + "6室0厅 2\n", + "6室5厅 1\n", + "1室3厅 1\n", + "7室1厅 1\n", + "9室3厅 1\n", + "9室2厅 1\n", + "8室5厅 1\n", + "5室0厅 1\n", + "9室1厅 1\n", + "8室4厅 1\n", + "6室1厅 1\n", + "Name: Layout, dtype: int64" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Layout'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 房屋大小和价格散点图" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:57:33.129887Z", + "iopub.status.busy": "2022-04-14T06:57:33.129479Z", + "iopub.status.idle": "2022-04-14T06:57:33.145594Z", + "shell.execute_reply": "2022-04-14T06:57:33.144974Z", + "shell.execute_reply.started": "2022-04-14T06:57:33.129855Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DirectionDistrictElevatorFloorGardenIdLayoutPriceRegionRenovationSizeYear
0东西灯市口无电梯6锡拉胡同21号院1011026470433室1厅780.0东城精装75.01988
1北南东单无电梯6东华门大街1011026509782室1厅705.0东城精装60.01988
2南西崇文门有电梯16新世界中心1011026727433室1厅1400.0东城其他210.01996
3崇文门有电梯7兴隆都市馨园1011025774101室1厅420.0东城精装39.02004
4陶然亭有电梯19中海紫御公馆1011025746962室2厅998.0东城精装90.02010
\n", + "
" + ], + "text/plain": [ + " Direction District Elevator Floor Garden Id Layout Price \\\n", + "0 东西 灯市口 无电梯 6 锡拉胡同21号院 101102647043 3室1厅 780.0 \n", + "1 北南 东单 无电梯 6 东华门大街 101102650978 2室1厅 705.0 \n", + "2 南西 崇文门 有电梯 16 新世界中心 101102672743 3室1厅 1400.0 \n", + "3 南 崇文门 有电梯 7 兴隆都市馨园 101102577410 1室1厅 420.0 \n", + "4 南 陶然亭 有电梯 19 中海紫御公馆 101102574696 2室2厅 998.0 \n", + "\n", + " Region Renovation Size Year \n", + "0 东城 精装 75.0 1988 \n", + "1 东城 精装 60.0 1988 \n", + "2 东城 其他 210.0 1996 \n", + "3 东城 精装 39.0 2004 \n", + "4 东城 精装 90.0 2010 " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:57:56.283065Z", + "iopub.status.busy": "2022-04-14T06:57:56.282001Z", + "iopub.status.idle": "2022-04-14T06:57:57.168452Z", + "shell.execute_reply": "2022-04-14T06:57:57.167721Z", + "shell.execute_reply.started": "2022-04-14T06:57:56.283014Z" + }, + "scrolled": false, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure()\n", + "#添加绘图区域\n", + "ax=fig.add_axes([0,0,1,1])\n", + "ax.scatter(data['Price'], data['Size'], color='r',label=\"Size\")\n", + "ax.set_xlabel('Price')\n", + "ax.set_ylabel('Sized')\n", + "ax.set_title('Size-price')\n", + "#添加图例\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:58:34.442784Z", + "iopub.status.busy": "2022-04-14T06:58:34.441808Z", + "iopub.status.idle": "2022-04-14T06:58:34.887651Z", + "shell.execute_reply": "2022-04-14T06:58:34.886963Z", + "shell.execute_reply.started": "2022-04-14T06:58:34.442747Z" + }, + "scrolled": false, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure()\n", + "#添加绘图区域\n", + "ax=fig.add_axes([0,0,1,1])\n", + "ax.scatter(df['Price'], df['Size'], color='r',label=\"Size\")\n", + "ax.set_xlabel('Price')\n", + "ax.set_ylabel('Sized')\n", + "ax.set_title('Size-price')\n", + "#添加图例\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:59:11.829321Z", + "iopub.status.busy": "2022-04-14T06:59:11.828474Z", + "iopub.status.idle": "2022-04-14T06:59:11.839712Z", + "shell.execute_reply": "2022-04-14T06:59:11.839131Z", + "shell.execute_reply.started": "2022-04-14T06:59:11.829280Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "count 23502.000000\n", + "mean 611.755651\n", + "std 407.973737\n", + "min 60.000000\n", + "25% 365.000000\n", + "50% 500.000000\n", + "75% 719.000000\n", + "max 6000.000000\n", + "Name: Price, dtype: float64" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.Price.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:59:22.133204Z", + "iopub.status.busy": "2022-04-14T06:59:22.132728Z", + "iopub.status.idle": "2022-04-14T06:59:22.144001Z", + "shell.execute_reply": "2022-04-14T06:59:22.143364Z", + "shell.execute_reply.started": "2022-04-14T06:59:22.133169Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "count 23502.000000\n", + "mean 99.379032\n", + "std 49.932246\n", + "min 15.000000\n", + "25% 66.000000\n", + "50% 88.000000\n", + "75% 118.000000\n", + "max 705.000000\n", + "Name: Size, dtype: float64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.Size.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-13T07:01:38.982095Z", + "iopub.status.busy": "2022-04-13T07:01:38.981448Z", + "iopub.status.idle": "2022-04-13T07:01:39.750825Z", + "shell.execute_reply": "2022-04-13T07:01:39.750053Z", + "shell.execute_reply.started": "2022-04-13T07:01:38.982058Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# 画幅设置\n", + "f, [ax1,ax2,ax3] = plt.subplots(1, 3, figsize=(20, 5))\n", + "sns.countplot(df['Renovation'], ax=ax1)\n", + "sns.barplot(x='Renovation', y='Price', data=df, ax=ax2)\n", + "sns.boxplot(x='Renovation', y='Price', data=df, ax=ax3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-13T07:01:48.153471Z", + "iopub.status.busy": "2022-04-13T07:01:48.152822Z", + "iopub.status.idle": "2022-04-13T07:01:50.357806Z", + "shell.execute_reply": "2022-04-13T07:01:50.357165Z", + "shell.execute_reply.started": "2022-04-13T07:01:48.153435Z" + }, + "scrolled": false, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f, [ax1,ax2] = plt.subplots(1, 2, figsize=(15, 5))\n", + "# 建房时间的分布情况\n", + "sns.distplot(df['Size'], bins=20, ax=ax1, color='r')\n", + "sns.kdeplot(df['Size'], shade=True, ax=ax1)\n", + "# 建房时间和出售价格的关系\n", + "sns.regplot(x='Size', y='Price', data=df, ax=ax2)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:59:52.217224Z", + "iopub.status.busy": "2022-04-14T06:59:52.216549Z", + "iopub.status.idle": "2022-04-14T06:59:52.981198Z", + "shell.execute_reply": "2022-04-14T06:59:52.980459Z", + "shell.execute_reply.started": "2022-04-14T06:59:52.217190Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f, ax1= plt.subplots(figsize=(20,20))\n", + "sns.countplot(y='Layout', data=df, ax=ax1)\n", + "ax1.set_title('房屋户型',fontsize=15)\n", + "ax1.set_xlabel('数量')\n", + "ax1.set_ylabel('户型')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T06:59:57.414536Z", + "iopub.status.busy": "2022-04-14T06:59:57.413896Z", + "iopub.status.idle": "2022-04-14T06:59:58.105620Z", + "shell.execute_reply": "2022-04-14T06:59:58.104956Z", + "shell.execute_reply.started": "2022-04-14T06:59:57.414503Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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eeaZueGGG/Kwhz0sb3nLW1a6HFap5ZyzaY+6+845+53krjltu+0DLKdr3vSElS4B1oTNb7hipUsAAJbQDTfckOuuu26ly2CVW7bV6AAAAADY9wmbAAAAABiNsAkAAACA0QibAAAAABjNqpggHAAAAOaySMvqc+dNRyTZkDtv+px/P6vIalukxcgmAAAAAEYjbAIAAABgNMImAAAAAEYjbAIAAABgNMImAAAAAEYjbAIAAABgNBtWugAAAABgbTjy4LuT3Dl8wvyETQAAAMCi/OyJO1a6BNYAr9EBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwAAAACjETYBAAAAMBphEwDAOlRVL6+qL1TVB6pqpqrOH/5OHo4fV1UfqaoLqurJK10vALB2CJsAANaZqnp0kpckeUqSLyV5S5KzkpyS5LThtDOH7VOTvHIFygQA1ihhEwDA+nNyktd29+eT/FySO7v7iu6+O8nWqjo2Sbr7hu7emWRHVW1YwXoBgDVE2AQAsP4cnWR7VW1J8pAkO6eOXZNkZk7bdUmOWL7yAIC1TNgEALD+HJLkwd29NcnTkhw2dWxXkk5y6zxtu6mqM6pqa1Vt3bZt21LWCwCsIcImAID155Yklw7bl2cyd9Osw5JsS3L7VNvGJDfNvUl3n93dW7p7y8zMzFLVCgCsMcImAID157Ikjxq2j0jyjqljm7r76iTbp9pu7u67lqk2AGCNW7KwqaoOr6qXVtXrhv1jq+qTVXVzVb1taFvUMrtV9dSh7cOzE1YCAHC/nZfkGVX13CRbkpxbVScM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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f, [ax1,ax2] = plt.subplots(1, 2, figsize=(20, 10))\n", + "sns.countplot(df['Elevator'], ax=ax1)\n", + "ax1.set_title('有无电梯数量对比',fontsize=15)\n", + "ax1.set_xlabel('是否有电梯')\n", + "ax1.set_ylabel('数量')\n", + "sns.barplot(x='Elevator', y='Price', data=df, ax=ax2)\n", + "ax2.set_title('有无电梯房价对比',fontsize=15)\n", + "ax2.set_xlabel('是否有电梯')\n", + "ax2.set_ylabel('总价')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-13T07:02:21.902566Z", + "iopub.status.busy": "2022-04-13T07:02:21.901868Z", + "iopub.status.idle": "2022-04-13T07:02:22.352736Z", + "shell.execute_reply": "2022-04-13T07:02:22.352084Z", + "shell.execute_reply.started": "2022-04-13T07:02:21.902525Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f, ax1= plt.subplots(figsize=(20,5))\n", + "sns.countplot(x='Floor', data=df, ax=ax1)\n", + "ax1.set_title('房屋户型',fontsize=15)\n", + "ax1.set_xlabel('数量')\n", + "ax1.set_ylabel('户型')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 特征工程" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![3.png](3.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 均价特征" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:00:49.012285Z", + "iopub.status.busy": "2022-04-14T07:00:49.011184Z", + "iopub.status.idle": "2022-04-14T07:00:49.044387Z", + "shell.execute_reply": "2022-04-14T07:00:49.043581Z", + "shell.execute_reply.started": "2022-04-14T07:00:49.012230Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RegionDistrictGardenLayoutFloorYearSizeElevatorDirectionRenovationPerPricePrice
0东城灯市口锡拉胡同21号院3室1厅6198875.0无电梯东西精装10.400000780.0
1东城东单东华门大街2室1厅6198860.0无电梯北南精装11.750000705.0
2东城崇文门新世界中心3室1厅161996210.0有电梯南西其他6.6666671400.0
3东城崇文门兴隆都市馨园1室1厅7200439.0有电梯精装10.769231420.0
4东城陶然亭中海紫御公馆2室2厅19201090.0有电梯精装11.088889998.0
\n", + "
" + ], + "text/plain": [ + " Region District Garden Layout Floor Year Size Elevator Direction \\\n", + "0 东城 灯市口 锡拉胡同21号院 3室1厅 6 1988 75.0 无电梯 东西 \n", + "1 东城 东单 东华门大街 2室1厅 6 1988 60.0 无电梯 北南 \n", + "2 东城 崇文门 新世界中心 3室1厅 16 1996 210.0 有电梯 南西 \n", + "3 东城 崇文门 兴隆都市馨园 1室1厅 7 2004 39.0 有电梯 南 \n", + "4 东城 陶然亭 中海紫御公馆 2室2厅 19 2010 90.0 有电梯 南 \n", + "\n", + " Renovation PerPrice Price \n", + "0 精装 10.400000 780.0 \n", + "1 精装 11.750000 705.0 \n", + "2 其他 6.666667 1400.0 \n", + "3 精装 10.769231 420.0 \n", + "4 精装 11.088889 998.0 " + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 添加新特征房屋均价\n", + "df['PerPrice'] = data['Price']/data['Size']\n", + "# 重新摆放列位置\n", + "columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation', 'PerPrice', 'Price']\n", + "df = pd.DataFrame(df, columns = columns)\n", + "# 重新审视数据集\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:02:11.632658Z", + "iopub.status.busy": "2022-04-14T07:02:11.631676Z", + "iopub.status.idle": "2022-04-14T07:02:11.646617Z", + "shell.execute_reply": "2022-04-14T07:02:11.645916Z", + "shell.execute_reply.started": "2022-04-14T07:02:11.632622Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RegionPerPrice
0西城10.690960
1东城9.876600
2海淀8.611850
3朝阳7.018266
4丰台5.763351
5石景山5.537027
6亦庄开发区4.694413
7大兴4.515411
8通州4.480473
9昌平4.292561
10顺义4.240889
11门头沟4.017825
12怀柔3.934458
13房山3.525294
14平谷2.749869
15密云2.392645
\n", + "
" + ], + "text/plain": [ + " Region PerPrice\n", + "0 西城 10.690960\n", + "1 东城 9.876600\n", + "2 海淀 8.611850\n", + "3 朝阳 7.018266\n", + "4 丰台 5.763351\n", + "5 石景山 5.537027\n", + "6 亦庄开发区 4.694413\n", + "7 大兴 4.515411\n", + "8 通州 4.480473\n", + "9 昌平 4.292561\n", + "10 顺义 4.240889\n", + "11 门头沟 4.017825\n", + "12 怀柔 3.934458\n", + "13 房山 3.525294\n", + "14 平谷 2.749869\n", + "15 密云 2.392645" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_Region_mean = df.groupby('Region')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()\n", + "df_Region_mean" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:02:36.881288Z", + "iopub.status.busy": "2022-04-14T07:02:36.880097Z", + "iopub.status.idle": "2022-04-14T07:02:36.899315Z", + "shell.execute_reply": "2022-04-14T07:02:36.898337Z", + "shell.execute_reply.started": "2022-04-14T07:02:36.881212Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#区域均价\n", + "df_Region_mean = df.groupby('Region')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()\n", + "df_Region_mean.columns = ['Region','Region_per']\n", + "#小区均价\n", + "df_Garden_mean = df.groupby('Garden')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()\n", + "df_Garden_mean.columns = ['Garden','Garden_per']" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:02:39.195934Z", + "iopub.status.busy": "2022-04-14T07:02:39.194940Z", + "iopub.status.idle": "2022-04-14T07:02:39.405780Z", + "shell.execute_reply": "2022-04-14T07:02:39.404989Z", + "shell.execute_reply.started": "2022-04-14T07:02:39.195896Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# -*- coding: utf-8 -*-\n", + "name_list = df_Region_mean['Region'].unique()\n", + "num_list = df_Region_mean['Region_per']\n", + "plt.bar( name_list,num_list,tick_label=name_list)\n", + "plt.title('区域单价')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:04:21.113386Z", + "iopub.status.busy": "2022-04-14T07:04:21.112926Z", + "iopub.status.idle": "2022-04-14T07:04:21.154966Z", + "shell.execute_reply": "2022-04-14T07:04:21.154304Z", + "shell.execute_reply.started": "2022-04-14T07:04:21.113349Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#District均价\n", + "df_District_mean = df.groupby('District')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()\n", + "df_District_mean.columns = ['District','District_per']\n", + "df1 = pd.merge(df,df_Garden_mean,how = 'left')\n", + "df2 = pd.merge(df1,df_Region_mean,how = 'left')\n", + "df2 = pd.merge(df2,df_District_mean,how = 'left')" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:04:23.148873Z", + "iopub.status.busy": "2022-04-14T07:04:23.148087Z", + "iopub.status.idle": "2022-04-14T07:04:23.166543Z", + "shell.execute_reply": "2022-04-14T07:04:23.165862Z", + "shell.execute_reply.started": "2022-04-14T07:04:23.148841Z" + }, + "scrolled": false, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RegionDistrictGardenLayoutFloorYearSizeElevatorDirectionRenovationPerPricePriceGarden_perRegion_perDistrict_per
0东城灯市口锡拉胡同21号院3室1厅6198875.0无电梯东西精装10.400000780.010.2321189.876611.418000
1东城东单东华门大街2室1厅6198860.0无电梯北南精装11.750000705.012.2259139.876612.235686
2东城崇文门新世界中心3室1厅161996210.0有电梯南西其他6.6666671400.06.1252129.87669.650034
3东城崇文门兴隆都市馨园1室1厅7200439.0有电梯精装10.769231420.010.1058639.87669.650034
4东城陶然亭中海紫御公馆2室2厅19201090.0有电梯精装11.088889998.010.5632029.876611.194133
\n", + "
" + ], + "text/plain": [ + " Region District Garden Layout Floor Year Size Elevator Direction \\\n", + "0 东城 灯市口 锡拉胡同21号院 3室1厅 6 1988 75.0 无电梯 东西 \n", + "1 东城 东单 东华门大街 2室1厅 6 1988 60.0 无电梯 北南 \n", + "2 东城 崇文门 新世界中心 3室1厅 16 1996 210.0 有电梯 南西 \n", + "3 东城 崇文门 兴隆都市馨园 1室1厅 7 2004 39.0 有电梯 南 \n", + "4 东城 陶然亭 中海紫御公馆 2室2厅 19 2010 90.0 有电梯 南 \n", + "\n", + " Renovation PerPrice Price Garden_per Region_per District_per \n", + "0 精装 10.400000 780.0 10.232118 9.8766 11.418000 \n", + "1 精装 11.750000 705.0 12.225913 9.8766 12.235686 \n", + "2 其他 6.666667 1400.0 6.125212 9.8766 9.650034 \n", + "3 精装 10.769231 420.0 10.105863 9.8766 9.650034 \n", + "4 精装 11.088889 998.0 10.563202 9.8766 11.194133 " + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 数量特征" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:05:22.382287Z", + "iopub.status.busy": "2022-04-14T07:05:22.381238Z", + "iopub.status.idle": "2022-04-14T07:05:22.442911Z", + "shell.execute_reply": "2022-04-14T07:05:22.441451Z", + "shell.execute_reply.started": "2022-04-14T07:05:22.382249Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "# 二手房数量\n", + "df_Region_count = df.groupby('Region')['Price'].count().sort_values(ascending=False).to_frame().reset_index()\n", + "df_Region_count.columns = ['Region','Region_count']\n", + "df_Garden_count = df.groupby('Garden')['Price'].count().sort_values(ascending=False).to_frame().reset_index()\n", + "df_Garden_count.columns = ['Garden','Garden_count']\n", + "df_District_count = df.groupby('District')['Price'].count().sort_values(ascending=False).to_frame().reset_index()\n", + "df_District_count.columns = ['District','District_count']\n", + "df3 = pd.merge(df2,df_Region_count,how = 'left')\n", + "df3 = pd.merge(df3,df_Garden_count,how = 'left')\n", + "df3 = pd.merge(df3,df_District_count,how = 'left')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 室、厅数据" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:06:46.009509Z", + "iopub.status.busy": "2022-04-14T07:06:46.008716Z", + "iopub.status.idle": "2022-04-14T07:06:46.065300Z", + "shell.execute_reply": "2022-04-14T07:06:46.064611Z", + "shell.execute_reply.started": "2022-04-14T07:06:46.009475Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "# 提取“室”和“厅”创建新特征\n", + "df3['Layout_room_num'] = df3['Layout'].str.extract('(^\\d).*', expand=False).astype('int64')\n", + "df3['Layout_hall_num'] = df3['Layout'].str.extract('^\\d.*?(\\d).*', expand=False).astype('int64')\n", + "#室+厅的量\n", + "df3['Layout_total_num'] = df3['Layout_room_num'] + df3['Layout_hall_num']\n", + "df3['Size_room_ratio'] = df3['Size']/df3['Layout_total_num']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 建房时间" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:07:34.337593Z", + "iopub.status.busy": "2022-04-14T07:07:34.336638Z", + "iopub.status.idle": "2022-04-14T07:07:34.343034Z", + "shell.execute_reply": "2022-04-14T07:07:34.342324Z", + "shell.execute_reply.started": "2022-04-14T07:07:34.337555Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "import datetime\n", + "date_now = datetime.date.today()\n", + "\n", + "#建房时间\n", + "df3['L_Year'] = date_now.year- df3['Year']" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:07:41.624278Z", + "iopub.status.busy": "2022-04-14T07:07:41.623796Z", + "iopub.status.idle": "2022-04-14T07:07:41.648267Z", + "shell.execute_reply": "2022-04-14T07:07:41.647565Z", + "shell.execute_reply.started": "2022-04-14T07:07:41.624250Z" + }, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RegionDistrictGardenLayoutFloorYearSizeElevatorDirectionRenovation...Region_perDistrict_perRegion_countGarden_countDistrict_countLayout_room_numLayout_hall_numLayout_total_numSize_room_ratioL_Year
0东城灯市口锡拉胡同21号院3室1厅6198875.0无电梯东西精装...9.876611.418000152936431418.7534
1东城东单东华门大街2室1厅6198860.0无电梯北南精装...9.876612.23568615293821320.0034
2东城崇文门新世界中心3室1厅161996210.0有电梯南西其他...9.87669.6500341529214631452.5026
3东城崇文门兴隆都市馨园1室1厅7200439.0有电梯精装...9.87669.65003415291614611219.5018
4东城陶然亭中海紫御公馆2室2厅19201090.0有电梯精装...9.876611.19413315291315022422.5012
\n", + "

5 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " Region District Garden Layout Floor Year Size Elevator Direction \\\n", + "0 东城 灯市口 锡拉胡同21号院 3室1厅 6 1988 75.0 无电梯 东西 \n", + "1 东城 东单 东华门大街 2室1厅 6 1988 60.0 无电梯 北南 \n", + "2 东城 崇文门 新世界中心 3室1厅 16 1996 210.0 有电梯 南西 \n", + "3 东城 崇文门 兴隆都市馨园 1室1厅 7 2004 39.0 有电梯 南 \n", + "4 东城 陶然亭 中海紫御公馆 2室2厅 19 2010 90.0 有电梯 南 \n", + "\n", + " Renovation ... Region_per District_per Region_count Garden_count \\\n", + "0 精装 ... 9.8766 11.418000 1529 3 \n", + "1 精装 ... 9.8766 12.235686 1529 3 \n", + "2 其他 ... 9.8766 9.650034 1529 2 \n", + "3 精装 ... 9.8766 9.650034 1529 16 \n", + "4 精装 ... 9.8766 11.194133 1529 13 \n", + "\n", + " District_count Layout_room_num Layout_hall_num Layout_total_num \\\n", + "0 64 3 1 4 \n", + "1 8 2 1 3 \n", + "2 146 3 1 4 \n", + "3 146 1 1 2 \n", + "4 150 2 2 4 \n", + "\n", + " Size_room_ratio L_Year \n", + "0 18.75 34 \n", + "1 20.00 34 \n", + "2 52.50 26 \n", + "3 19.50 18 \n", + "4 22.50 12 \n", + "\n", + "[5 rows x 23 columns]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:09:33.593004Z", + "iopub.status.busy": "2022-04-14T07:09:33.592662Z", + "iopub.status.idle": "2022-04-14T07:09:33.616740Z", + "shell.execute_reply": "2022-04-14T07:09:33.615952Z", + "shell.execute_reply.started": "2022-04-14T07:09:33.592973Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#分类型数据:区域、电梯等处理\n", + "df3 = pd.get_dummies(df3,columns = ['Elevator','Region','Direction','Renovation'])" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:09:36.029505Z", + "iopub.status.busy": "2022-04-14T07:09:36.028942Z", + "iopub.status.idle": "2022-04-14T07:09:36.035319Z", + "shell.execute_reply": "2022-04-14T07:09:36.034564Z", + "shell.execute_reply.started": "2022-04-14T07:09:36.029466Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'PerPrice',\n", + " 'Price', 'Garden_per', 'Region_per', 'District_per', 'Region_count',\n", + " 'Garden_count', 'District_count', 'Layout_room_num', 'Layout_hall_num',\n", + " 'Layout_total_num', 'Size_room_ratio', 'L_Year', 'Elevator_无电梯',\n", + " 'Elevator_有电梯', 'Region_东城', 'Region_丰台', 'Region_亦庄开发区', 'Region_大兴',\n", + " 'Region_密云', 'Region_平谷', 'Region_怀柔', 'Region_房山', 'Region_昌平',\n", + " 'Region_朝阳', 'Region_海淀', 'Region_石景山', 'Region_西城', 'Region_通州',\n", + " 'Region_门头沟', 'Region_顺义', 'Direction_东', 'Direction_东北',\n", + " 'Direction_东北南', 'Direction_东北南西', 'Direction_东北西', 'Direction_东南',\n", + " 'Direction_东南西', 'Direction_东西', 'Direction_北', 'Direction_北南',\n", + " 'Direction_北南西', 'Direction_北西', 'Direction_南', 'Direction_南西',\n", + " 'Direction_西', 'Renovation_其他', 'Renovation_毛坯', 'Renovation_简装',\n", + " 'Renovation_精装'],\n", + " dtype='object')" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:09:43.355886Z", + "iopub.status.busy": "2022-04-14T07:09:43.354869Z", + "iopub.status.idle": "2022-04-14T07:09:43.376959Z", + "shell.execute_reply": "2022-04-14T07:09:43.376215Z", + "shell.execute_reply.started": "2022-04-14T07:09:43.355848Z" + }, + "scrolled": false, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DistrictGardenLayoutFloorYearSizePerPricePriceGarden_perRegion_per...Direction_北南Direction_北南西Direction_北西Direction_南Direction_南西Direction_西Renovation_其他Renovation_毛坯Renovation_简装Renovation_精装
0灯市口锡拉胡同21号院3室1厅6198875.010.400000780.010.2321189.8766...0000000001
1东单东华门大街2室1厅6198860.011.750000705.012.2259139.8766...1000000001
2崇文门新世界中心3室1厅161996210.06.6666671400.06.1252129.8766...0000101000
3崇文门兴隆都市馨园1室1厅7200439.010.769231420.010.1058639.8766...0001000001
4陶然亭中海紫御公馆2室2厅19201090.011.088889998.010.5632029.8766...0001000001
\n", + "

5 rows × 56 columns

\n", + "
" + ], + "text/plain": [ + " District Garden Layout Floor Year Size PerPrice Price \\\n", + "0 灯市口 锡拉胡同21号院 3室1厅 6 1988 75.0 10.400000 780.0 \n", + "1 东单 东华门大街 2室1厅 6 1988 60.0 11.750000 705.0 \n", + "2 崇文门 新世界中心 3室1厅 16 1996 210.0 6.666667 1400.0 \n", + "3 崇文门 兴隆都市馨园 1室1厅 7 2004 39.0 10.769231 420.0 \n", + "4 陶然亭 中海紫御公馆 2室2厅 19 2010 90.0 11.088889 998.0 \n", + "\n", + " Garden_per Region_per ... Direction_北南 Direction_北南西 Direction_北西 \\\n", + "0 10.232118 9.8766 ... 0 0 0 \n", + "1 12.225913 9.8766 ... 1 0 0 \n", + "2 6.125212 9.8766 ... 0 0 0 \n", + "3 10.105863 9.8766 ... 0 0 0 \n", + "4 10.563202 9.8766 ... 0 0 0 \n", + "\n", + " Direction_南 Direction_南西 Direction_西 Renovation_其他 Renovation_毛坯 \\\n", + "0 0 0 0 0 0 \n", + "1 0 0 0 0 0 \n", + "2 0 1 0 1 0 \n", + "3 1 0 0 0 0 \n", + "4 1 0 0 0 0 \n", + "\n", + " Renovation_简装 Renovation_精装 \n", + "0 0 1 \n", + "1 0 1 \n", + "2 0 0 \n", + "3 0 1 \n", + "4 0 1 \n", + "\n", + "[5 rows x 56 columns]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:10:25.473521Z", + "iopub.status.busy": "2022-04-14T07:10:25.472715Z", + "iopub.status.idle": "2022-04-14T07:10:25.480743Z", + "shell.execute_reply": "2022-04-14T07:10:25.480001Z", + "shell.execute_reply.started": "2022-04-14T07:10:25.473489Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "# 删除无用lie列\n", + "df4 = df3.drop(['Layout','Year'],axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:18:58.329827Z", + "iopub.status.busy": "2022-04-12T04:18:58.329351Z", + "iopub.status.idle": "2022-04-12T04:18:58.349147Z", + "shell.execute_reply": "2022-04-12T04:18:58.348526Z", + "shell.execute_reply.started": "2022-04-12T04:18:58.329790Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DistrictGardenFloorSizePerPricePriceGarden_perRegion_perRegion_countGarden_count...Direction_北南Direction_北南西Direction_北西Direction_南Direction_南西Direction_西Renovation_其他Renovation_毛坯Renovation_简装Renovation_精装
0灯市口锡拉胡同21号院675.010.400000780.010.2321189.876615293...0000000001
1东单东华门大街660.011.750000705.012.2259139.876615293...1000000001
2崇文门新世界中心16210.06.6666671400.06.1252129.876615292...0000101000
3崇文门兴隆都市馨园739.010.769231420.010.1058639.8766152916...0001000001
4陶然亭中海紫御公馆1990.011.088889998.010.5632029.8766152913...0001000001
\n", + "

5 rows × 52 columns

\n", + "
" + ], + "text/plain": [ + " District Garden Floor Size PerPrice Price Garden_per Region_per \\\n", + "0 灯市口 锡拉胡同21号院 6 75.0 10.400000 780.0 10.232118 9.8766 \n", + "1 东单 东华门大街 6 60.0 11.750000 705.0 12.225913 9.8766 \n", + "2 崇文门 新世界中心 16 210.0 6.666667 1400.0 6.125212 9.8766 \n", + "3 崇文门 兴隆都市馨园 7 39.0 10.769231 420.0 10.105863 9.8766 \n", + "4 陶然亭 中海紫御公馆 19 90.0 11.088889 998.0 10.563202 9.8766 \n", + "\n", + " Region_count Garden_count ... Direction_北南 Direction_北南西 Direction_北西 \\\n", + "0 1529 3 ... 0 0 0 \n", + "1 1529 3 ... 1 0 0 \n", + "2 1529 2 ... 0 0 0 \n", + "3 1529 16 ... 0 0 0 \n", + "4 1529 13 ... 0 0 0 \n", + "\n", + " Direction_南 Direction_南西 Direction_西 Renovation_其他 Renovation_毛坯 \\\n", + "0 0 0 0 0 0 \n", + "1 0 0 0 0 0 \n", + "2 0 1 0 1 0 \n", + "3 1 0 0 0 0 \n", + "4 1 0 0 0 0 \n", + "\n", + " Renovation_简装 Renovation_精装 \n", + "0 0 1 \n", + "1 0 1 \n", + "2 0 0 \n", + "3 0 1 \n", + "4 0 1 \n", + "\n", + "[5 rows x 52 columns]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df4.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "execution": { + "iopub.status.busy": "2022-04-12T04:07:26.793533Z", + "iopub.status.idle": "2022-04-12T04:07:26.793762Z", + "shell.execute_reply": "2022-04-12T04:07:26.793655Z", + "shell.execute_reply.started": "2022-04-12T04:07:26.793644Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#District\\Garden" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:10:33.275614Z", + "iopub.status.busy": "2022-04-14T07:10:33.275058Z", + "iopub.status.idle": "2022-04-14T07:10:33.282381Z", + "shell.execute_reply": "2022-04-14T07:10:33.281727Z", + "shell.execute_reply.started": "2022-04-14T07:10:33.275580Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "#删除无用特征\n", + "df5 = df4.drop(['District','Garden'],axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:11:16.525109Z", + "iopub.status.busy": "2022-04-14T07:11:16.524348Z", + "iopub.status.idle": "2022-04-14T07:11:16.589364Z", + "shell.execute_reply": "2022-04-14T07:11:16.588520Z", + "shell.execute_reply.started": "2022-04-14T07:11:16.525075Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "# 转换训练测试集格式为数组\n", + "# 导入sklearn进行训练测试集划分\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "x_train, x_test, y_train, y_test = train_test_split(df5.drop('Price',axis = 1), df5['Price'], test_size=0.2, random_state=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 训练\n", + "### 随机森林回归模型\n", + "随机森林(Random forest) 是一种组成式的有监督学习方法。在随机森林中,我们同时生成多个预测模型,并将模型的结果汇总以提升预测模型的准确率。
\n", + "\n", + "随机森林算法(预测和回归)主要包括一下三个方面:
\n", + "1.从原始数据随机有放回的抽取N个样本单元,生成决策或者回归树。
\n", + "\n", + "2.在每一个节点随机抽取m\n", + "\n", + "3.最终对每一颗决策或者回归树的结果进行整合,生成预测值。
\n", + "\n", + "![4.png](4.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:11:46.208495Z", + "iopub.status.busy": "2022-04-14T07:11:46.207915Z", + "iopub.status.idle": "2022-04-14T07:11:47.358156Z", + "shell.execute_reply": "2022-04-14T07:11:47.357318Z", + "shell.execute_reply.started": "2022-04-14T07:11:46.208454Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.8945619467026624\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import LinearRegression \n", + "model = LinearRegression()\n", + "#采用线性回归进行模型训练\n", + "model.fit(x_train, y_train)\n", + "#获取模型预测结果 \n", + "y_pred=model.predict(x_test)\n", + "#打印模型评分结果\n", + "print (model.score(x_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-14T07:11:56.051891Z", + "iopub.status.busy": "2022-04-14T07:11:56.051217Z", + "iopub.status.idle": "2022-04-14T07:13:05.158455Z", + "shell.execute_reply": "2022-04-14T07:13:05.157745Z", + "shell.execute_reply.started": "2022-04-14T07:11:56.051856Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9927809452031983\n" + ] + } + ], + "source": [ + "#导入随机森林回归模型\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "#配置模型中回归树的个数为 500\n", + "model_r = RandomForestRegressor(n_estimators=500)\n", + "#采用随机森林回归模型进行模型训练 \n", + "model_r.fit(x_train, y_train)\n", + "#采用随机森林回归模型进行预测\n", + "y_pred=model_r.predict(x_test)\n", + "#打印模型评分结果\n", + "print (model_r.score(x_test, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 结果" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:20:17.594410Z", + "iopub.status.busy": "2022-04-12T04:20:17.593942Z", + "iopub.status.idle": "2022-04-12T04:20:17.601609Z", + "shell.execute_reply": "2022-04-12T04:20:17.601034Z", + "shell.execute_reply.started": "2022-04-12T04:20:17.594373Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "**********\n", + "真实值:\n", + "4532 470.0\n", + "12454 485.0\n", + "13562 490.0\n", + "19133 510.0\n", + "15233 630.0\n", + "11783 295.0\n", + "18285 360.0\n", + "2841 460.0\n", + "12366 235.0\n", + "15558 1050.0\n", + "6752 360.0\n", + "2518 280.0\n", + "15004 595.0\n", + "14463 710.0\n", + "2470 255.0\n", + "5288 330.0\n", + "4391 620.0\n", + "11247 290.0\n", + "13790 415.0\n", + "16565 485.0\n", + "Name: Price, dtype: float64\n", + "预测值:\n", + "[ 468.904 484.336 488.304 507.8608 629.538 296.226 361.108\n", + " 456.59 232.516 1046.16 360.038 282.058 595.988 710.98\n", + " 258.456 328.3064 619.686 290.956 417.66 485.666 ]\n", + "**********\n" + ] + } + ], + "source": [ + "# 打印前20个预测值\n", + "print(\"*\"*10)\n", + "print(\"真实值:\")\n", + "print(y_test[0:20])\n", + "print(\"预测值:\")\n", + "print(y_pred[0:20])\n", + "print(\"*\"*10)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:26:02.597031Z", + "iopub.status.busy": "2022-04-12T04:26:02.596539Z", + "iopub.status.idle": "2022-04-12T04:26:02.770835Z", + "shell.execute_reply": "2022-04-12T04:26:02.770235Z", + "shell.execute_reply.started": "2022-04-12T04:26:02.596992Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(y_pred[:200],color='g',label='predict')\n", + "plt.plot(y_test[:200].values,color='r',label='actual')\n", + "plt.title('{} model'.format(RandomForestRegressor))\n", + "plt.xlabel('records index (first 200 records)')\n", + "plt.ylabel('error_values')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "execution": { + "iopub.execute_input": "2022-04-12T04:26:47.639516Z", + "iopub.status.busy": "2022-04-12T04:26:47.639047Z", + "iopub.status.idle": "2022-04-12T04:26:47.821892Z", + "shell.execute_reply": "2022-04-12T04:26:47.821266Z", + "shell.execute_reply.started": "2022-04-12T04:26:47.639481Z" + }, + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(y_pred,y_test)\n", + "plt.title('{} model qqplot'.format(RandomForestRegressor))\n", + "plt.xlabel('predict')\n", + "plt.ylabel('actual');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 总结\n", + "在使用随机森林进行调参的过程中,由于数据量大,而自己是第一次做这样的项目,整个调参的过程刚开始就是在盲目的试在完成这一任务的过程中,我也参考了不少这一任务的相关博客,有的博客采用了KNN来完成这一任务,我觉得也可以进行尝试。总之收获很大,受益匪浅!" + ] + } + ], + "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.10.4" + }, + "toc-autonumbering": false, + "toc-showcode": false + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/report_01_Price_Prediction/report_01_Price_Prediction.pdf b/report_01_Price_Prediction/report_01_Price_Prediction.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e6c2c65779feb52898f62d32bfb4f948b6f3ee71 Binary files /dev/null and b/report_01_Price_Prediction/report_01_Price_Prediction.pdf differ diff --git a/report_02_Titanic/.ipynb_checkpoints/Titanic-checkpoint.ipynb b/report_02_Titanic/.ipynb_checkpoints/Titanic-checkpoint.ipynb deleted file mode 100644 index 2fd64429bf421126b7000c94ce0f6fd186fbd01f..0000000000000000000000000000000000000000 --- a/report_02_Titanic/.ipynb_checkpoints/Titanic-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/report_02_Titanic/README.md b/report_02_Titanic/README.md index 6374f5e16bbe62aef465545a6f75431df511e03a..9d9abc94d496b31d725c353e13bfa85d826d8e38 100644 --- a/report_02_Titanic/README.md +++ b/report_02_Titanic/README.md @@ -1,5 +1,6 @@ # Report 2 - Titanic +## Task Description The sinking of the [RMS Titanic](https://en.wikipedia.org/wiki/RMS_Titanic) is one of the most infamous shipwrecks in history. On April 15, 1912, during her maiden voyage, the Titanic sank after colliding with an iceberg, killing 1502 out of 2224 passengers and crew. This sensational tragedy shocked the international community and led to better safety regulations for ships. One of the reasons that the shipwreck led to such loss of life was that there were not enough lifeboats for the passengers and crew. Although there was some element of luck involved in surviving the sinking, some groups of people were more likely to survive than others, such as women, children, and the upper-class. @@ -52,7 +53,7 @@ We also include `gender_submission.csv`, a set of predictions that assume all an * Design the classification model, implement the code * Think methods to resolve the problem of missing data of some column * How to convert the `pclass`, `embarked` fields to vector field -* Submit your result to [the website](https://www.kaggle.com/c/titanic) (如果不能访问这个网站,则想办法如何科学上网) +* Submit your result to [the website](https://www.kaggle.com/c/titanic) * Finish the report by using the template `report_template.ipynb` * Submit code, report through `git` diff --git a/report_02_Titanic/Report_02_Titanic.ipynb b/report_02_Titanic/Report_02_Titanic.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..008f5acb6af1423cf4fafaef3816fb5998aaceef --- /dev/null +++ b/report_02_Titanic/Report_02_Titanic.ipynb @@ -0,0 +1,2424 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report -02- Titanic\n", + "* 张达\n", + "* 2022100847\n", + "\n", + "# 任务简介\n", + " > 1.任务背景
泰坦尼克号的沉没是历史上最臭名昭著的沉船事件之一。1912年4月15日,泰坦尼克号在其处女航中与冰山相撞后沉没,2224名乘客和船员中的1502人死亡。这场轰动一时的悲剧震惊了国际社会,并导致了更好的船舶安全法规。 船难导致如此大的生命损失的原因之一是没有足够的救生艇给乘客和船员。虽然在沉船事件中幸存下来有一定的运气成分,但有些群体比其他群体更有可能幸存下来,如妇女、儿童和上层社会。\n", + " \n", + " > 2.任务目的
在这个任务中,完成对什么样的人有可能幸存的分析。特别是应用机器学习的工具来预测哪些乘客在悲剧中幸存下来。 \n", + " 训练集应该被用来建立你的机器学习模型。对于训练集,我们提供每个乘客的结果(也被称为ground truth)。
\n", + " 你的模型将基于乘客的性别和等级等特征。你也可以使用特征工程来创建新的特征。 测试集应该被用来观察你的模型在未见过的数据上的表现如何。
\n", + " 对于测试集,我们不提供每个乘客的基本事实。你的工作是预测这些结果。对于测试集中的每个乘客,使用你训练的模型来预测他们是否在泰坦尼克号沉没后幸存下来。\n", + " \n", + " >3.实践技能:\n", + "
Binary classification\n", + "
Python & SKLearn\n", + " \n", + " >4.数据特征:\n", + " ![data_description1.png](images/data_description1.png)\n", + " ![data_description2.png](images/data_description2.png)\n", + " 训练集中共有891条样本,共有12个特征属性;预测集中有418条样本,共有除**survival**外的11个特征属性。所以本任务为根据乘客的这12个特征属性值预测特征属性**survival**的属性值,其取值范围为:0为未幸存,1为幸存;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 解决途径\n", + "\n", + " ## 1.问题分析 ##\n", + "\n", + "首先对数据信息进行筛选,其中\"ID\"和\"name\"是不必要的,选择剔除,则剩余11个特征;
\n", + "其次,不同的特征属性代表不同含义,例如\"sex\"只是代表性别而无数值关系;例如\"pclass\"只代表等级关系。所以不同的特征属性重要性不同。
\n", + "对数据进行处理并可视化内在分布,通过绘制各个特征的统计图,进而分析每一项特征的数值分布情况:" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
6701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
7803Palsson, Master. Gosta Leonardmale2.03134990921.0750NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "6 7 0 1 \n", + "7 8 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "5 Moran, Mr. James male NaN 0 \n", + "6 McCarthy, Mr. Timothy J male 54.0 0 \n", + "7 Palsson, Master. Gosta Leonard male 2.0 3 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + "5 0 330877 8.4583 NaN Q \n", + "6 0 17463 51.8625 E46 S \n", + "7 1 349909 21.0750 NaN S " + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import re\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "import warnings\n", + "warnings.filterwarnings('ignore') #忽略警告信息\n", + "%matplotlib inline\n", + "\n", + "#导入数据\n", + "train_data = pd.read_csv('data/train.csv')\n", + "test_data = pd.read_csv('data/test.csv')\n", + "\n", + "sns.set_style('dark')\n", + "train_data.head(8) #仅看数据的前几行" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对训练集中的数据\"survived\"整体进行分析, 幸存和丧生的比例发现0(死亡数量)>1(生存数量)。\n", + "通过整体可视化分析,大约有61.6%的人死亡,38.4%的人幸存。" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 891 entries, 0 to 890\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 PassengerId 891 non-null int64 \n", + " 1 Survived 891 non-null int64 \n", + " 2 Pclass 891 non-null int64 \n", + " 3 Name 891 non-null object \n", + " 4 Sex 891 non-null object \n", + " 5 Age 714 non-null float64\n", + " 6 SibSp 891 non-null int64 \n", + " 7 Parch 891 non-null int64 \n", + " 8 Ticket 891 non-null object \n", + " 9 Fare 891 non-null float64\n", + " 10 Cabin 204 non-null object \n", + " 11 Embarked 889 non-null object \n", + "dtypes: float64(2), int64(5), object(5)\n", + "memory usage: 83.7+ KB\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAGFCAYAAAAxeL6dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyLklEQVR4nO3deXhU9fn+8feZLfsKIeyLLKIiiKhUBJGitXXDIkVaq7UqWlGr/JRqqa22LnWpUqXuimurVSoi1n6toFIVxJ1FZREQUCQQQhKykMzMOb8/TsJmgCxn5sycuV/XxQWEMDxkmXs+62NYlmUhIiLiIJ/bBYiIiPcoXERExHEKFxERcZzCRUREHKdwERERxylcRETEcQoXERFxnMJFREQcp3ARERHHKVxERMRxChcREXGcwkVERByncBEREccpXERExHEKFxERcZzCRUREHKdwERERxylcRETEcQoXERFxnMJFREQcp3ARERHHKVxERMRxChcREXGcwkVERByncBEREccpXERExHEKFxERcZzCRUREHKdwERERxylcRETEcQoXERFxnMJFREQcp3ARERHHKVxERMRxChcREXGcwkVERByncBFHbd26lUmTJnHUUUcxdOhQbrnlFiKRiNtliUicKVzEUVdddRWZmZm8/fbbzJw5k4ULF/LEE0+4XZaIxJnCRRyzbt063n//faZMmUJGRgbdunVj0qRJ/P3vf3e7NBGJM4WLOGbVqlXk5+dTXFy88229e/dm48aNVFZWuliZiMSbwkUcU11dTUZGxh5va/x9TU2NGyWJiEsULuKYzMxMamtr93hb4++zsrLcKElEXKJwEcf07duX8vJySktLd75t9erVdOzYkZycHBcrE5F4U7iIY3r27MmQIUO49dZbqaqqYsOGDdx///2MGzfO7dJEJM4My7Ist4sQ7ygtLeVPf/oTixYtwufzceaZZ3LNNdfg9/vdLk1E4kjhItIUE4gCjd8d/oYfTok0/BsABhB08LFFEkDA7QJEXGFiP8HvHRrbgfXAGmAzUL6fH5UNjwG7Qsja69c+IAfI28+PQqAr0APoDGTuVk+04UcQO4REkoRGLuJtFhBm15NzFPgS+Az4CljX8HPjrytcqHFvudhBcxDQq+Hng4HBQFHD+0SxA1IjHklQChfxDgt7JNH4hFsFLAY+Aj5t+PVnQJ0bxTmk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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "colors = ['magenta','royalblue']\n", + "train_data['Survived'].value_counts().plot.pie(autopct = '%1.3f%%', colors = colors)\n", + "train_data.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.数据处理\n", + "对于整个数据集(训练集和测试集)进行统一处理。" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "test_data['Survived'] = 0\n", + "combined_data = train_data.append(test_data)\n", + "test_PID = test_data['PassengerId']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过训练集和测试集的整合,对于剩余的11个特征属性,我们做不同的处理:\n", + "![feature.png](images/feature.png)\n", + "* Survived:0代表死亡,1代表幸存\n", + "* Pclass:特征编号如下\n", + "Pclass的数值|代表的含义|\n", + ":--:|:--:|\n", + "1|上层阶级|\n", + "2|中等阶级|\n", + "3|贫穷阶级|\n", + "* Sex:特征编号如下\n", + "Sex的数值|代表的含义|\n", + ":--:|:--:|\n", + "0|男|\n", + "1|女|\n", + "* Fare:\n", + "该项数据基本完整,按照众数对ID为1044的乘客缺失信息补位8.05
\n", + "联合分析ticket和fare属性可以发现,可能存在多人团体票,人均票价应为总票价除以人数,新增一个Group_Ticket项统计具有同样票编号的人数,这个人数估计就是团体票的人数
\n", + "最终每个人的票价应该是 $ \\frac{Fare}{Group Ticket} $ 刀,并最终票价保留两位小数" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "6 7 0 1 \n", + "7 8 0 3 \n", + "8 9 1 3 \n", + "9 10 1 2 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "5 Moran, Mr. James male NaN 0 \n", + "6 McCarthy, Mr. Timothy J male 54.0 0 \n", + "7 Palsson, Master. Gosta Leonard male 2.0 3 \n", + "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0 \n", + "9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1 \n", + "\n", + " Parch Ticket Fare Cabin Embarked Group_Ticket \n", + "0 0 A/5 21171 7.2500 NaN S 1 \n", + "1 0 PC 17599 71.2833 C85 C 2 \n", + "2 0 STON/O2. 3101282 7.9250 NaN S 1 \n", + "3 0 113803 53.1000 C123 S 2 \n", + "4 0 373450 8.0500 NaN S 1 \n", + "5 0 330877 8.4583 NaN Q 1 \n", + "6 0 17463 51.8625 E46 S 2 \n", + "7 1 349909 21.0750 NaN S 5 \n", + "8 2 347742 11.1333 NaN S 3 \n", + "9 0 237736 30.0708 NaN C 2 \n", + "\n", + "\n", + "操作以后的结果为:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.25NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759935.64C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.92NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380326.55C123S
4503Allen, Mr. William Henrymale35.0003734508.05NaNS
5603Moran, Mr. JamesmaleNaN003308778.46NaNQ
6701McCarthy, Mr. Timothy Jmale54.0001746325.93E46S
7803Palsson, Master. Gosta Leonardmale2.0313499094.22NaNS
8913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female27.0023477423.71NaNS
91012Nasser, Mrs. Nicholas (Adele Achem)female14.01023773615.04NaNC
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "6 7 0 1 \n", + "7 8 0 3 \n", + "8 9 1 3 \n", + "9 10 1 2 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "5 Moran, Mr. James male NaN 0 \n", + "6 McCarthy, Mr. Timothy J male 54.0 0 \n", + "7 Palsson, Master. Gosta Leonard male 2.0 3 \n", + "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0 \n", + "9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.25 NaN S \n", + "1 0 PC 17599 35.64 C85 C \n", + "2 0 STON/O2. 3101282 7.92 NaN S \n", + "3 0 113803 26.55 C123 S \n", + "4 0 373450 8.05 NaN S \n", + "5 0 330877 8.46 NaN Q \n", + "6 0 17463 25.93 E46 S \n", + "7 1 349909 4.22 NaN S \n", + "8 2 347742 3.71 NaN S \n", + "9 0 237736 15.04 NaN C " + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combined_data['Fare'][combined_data['PassengerId']==1044] = 8.05\n", + "\n", + "combined_data['Group_Ticket'] = combined_data['Fare'].groupby(by=combined_data['Ticket']).transform('count')\n", + "print(combined_data.head(10))\n", + "combined_data['Fare'] = combined_data['Fare'] / combined_data['Group_Ticket']\n", + "combined_data.drop(['Group_Ticket'], axis=1, inplace=True)\n", + "print('\\n\\n操作以后的结果为:')\n", + "\n", + "combined_data['Fare'] = combined_data['Fare'].round(2)\n", + "combined_data.head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Age:\n", + "该特征存在数据丢失问题,对整个数据集进行统计分析,Age这一个特征值当中有177个缺失值(如下)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "177" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(train_data['Age'][(train_data['Age'].isnull().values==True)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在剩下的714个Age数据中,均值是大约是29.7" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 714.000000\n", + "mean 29.699118\n", + "std 14.526497\n", + "min 0.420000\n", + "25% 20.125000\n", + "50% 28.000000\n", + "75% 38.000000\n", + "max 80.000000\n", + "Name: Age, dtype: float64\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(train_data['Age'].describe())\n", + "train_data['Age'].hist(bins=60)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于数据缺失的问题,常常采用填充方法。
\n", + "首先判断数据中存在其他属性和Age相关,例如\"Name\"中包含\"Mr.\"、\"Mrs\"、\"Miss\"等可以判断年龄大小;以及\"Pclass\"阶级地位等。
\n", + "针对\"Name\"包含不同的称呼,我们限定了年龄范围:\n", + "\n", + "Name|年龄均值的取值范围|\n", + ":--:|:--:|\n", + "Mr.|15-40|\n", + "Miss|12-26|\n", + "Mrs|29-40|\n", + "其他|20-40|\n", + "\n", + "针对\"Pclass\"不同的阶级,1更可能年龄偏大,3更可能偏小,这和现实社会中大程度是相对应的。
\n", + "具体操作如下:
\n", + "1)将Fare和Pclass映射到(0,1);
\n", + "2)由平均权重得到权重分布数值factor;
\n", + "3)$$ Age = mean(age) + (factor-mean(factor) * max(age)-min(age) $$
\n", + "其中,age为根据Name一项事先预估的年龄均值范围, Age为最终得到的均值
\n", + "4)每个人根据自己的年龄均值用正态分布随机得出一个年龄作为自己的Age这一项的数值。" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "填补的年龄分布如下: 可以看出符合一般的分布\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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/PHHeWdnZ75+/fr8k08+yQ8dOpTfcsst+fe+9738yJEjeUdHR75p06b8008/zV9//fW8vb09f/fddyvddkMYa27yPM9vvPHG/Jlnnqlwl43p4MGD+aWXXpr/4Q9/yAcHB/MPPvggv+666/L169c7byporHnJc+dMNXjsscfyBQsW5HfffXee53lVnC8+6Uior68vFixYEKtXr44pU6ZEW1tbLF26NHbu3Bnbt2+P1tbWWL58eTQ3N8fVV18dixcvtkpvImPNzcDAQLz//vuxcOHCSrfZkGbPnh2vv/563HTTTVEoFOLIkSPxySefxOzZs503FTTWvDhnKm/Hjh2xffv2+Na3vjW8rRrOF6EjoQsvvDAef/zxETdLe+GFF+KSSy6JvXv3xrx580Y8fu7cudHT05O6zYY01tz09PTEyZMnY8OGDfH1r389rr322vjNb34TxWKxgh03lhkzZkRExDe/+c1YvHhxnHPOOXHTTTc5bypstHlxzlTWwYMH4957741f/vKX0dLSMry9Gs4XoaNC8jyPRx99NF566aW4995746OPPhpxcERETJ06NY4fP16hDhvX5+fm2LFj0dHREStWrIiXX345Hn744fj9738fTzzxRKVbbTjbt2+Pv/3tb5FlWfzgBz9w3lSJz8+Lc6ZyisVirFmzJrq6umLBggUj9lXD+SJ0VEB/f3/84Ac/iGeffTY2bdoU8+fPj5aWluEvYA05ceKEFXoTO9XcdHZ2xsaNG6OjoyPOOuusuOyyy2LlypXx3HPPVbrdhjN16tQ477zzYs2aNfHKK684b6rE5+dl4cKFzpkK+fWvfx1TpkyJFStWfGFfNZwvQkdi+/btiyVLlkR/f39s3bo15s+fHxER8+bNi7179454bG9vb1x00UWVaLMhjTY3L774YmzZsmXEYwcGBmLq1KmVaLPhvPPOO/Htb387BgYGhrcNDAzEWWedFXPnznXeVMhY8/Laa685ZyrkT3/6U7z11ltxxRVXxBVXXBHbtm2Lbdu2xRVXXFEV1xmhI6GjR4/GypUr4/LLL4/f/va3MXv27OF9ixYtigMHDsSTTz4Zn376abzxxhvx7LPPxpIlSyrYceMYa27yPI9169bFjh07Is/z6O7ujo0bN8bSpUsr2HHjmD9/fpw4cSJ++ctfxsDAQPznP/+JX/ziF/Gd73wnrr32WudNhYw1L2eddZZzpkKef/75eOedd+Ltt9+Ot99+O6677rq47rrr4u23366K64wF3xL63e9+Fw899FC0tLREoVAYsa+7uzt2794da9eujffffz9mz54dt912W9x0000V6raxnG5utmzZEr/73e/igw8+iDlz5kRXV1csX768Qt02nt7e3vj5z38eu3fvjpkzZ8bixYuH/6WR86ZyxpoX50x1GLpHx0MPPRQRUfHzRegAAJLw6xUAIAmhAwBIQugAAJIQOgCAJIQOACAJoQMASELoAACSEDoAgCSEDgAgCaEDAEhC6AAAkhA6AIAk/g8aTGLHpbrtvwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn import preprocessing\n", + "scaler = preprocessing.MinMaxScaler(feature_range=(0,1))\n", + "pclass_scaled = np.array(combined_data['Pclass']).reshape((-1,1))\n", + "fare_scaled = np.array(combined_data['Fare']).reshape((-1,1))\n", + "pclass_scaled = scaler.fit_transform(pclass_scaled).reshape(1,-1)\n", + "fare_scaled = scaler.fit_transform(fare_scaled).reshape(1,-1)\n", + "# print(pclass, fare_scaled)\n", + "factors = 0.5 * (pclass_scaled + fare_scaled)\n", + "mn = np.mean(factors)\n", + "factors = factors - mn\n", + "\n", + "def age_guess(factor, name):\n", + " titles = {'Mr.':0, 'Mrs':1, 'Miss':2 }\n", + " age_mean = {0:(15,40), 1:(12,26), 2:(29,40), 'others':(20,40)}\n", + " for t in titles.keys():\n", + " if t in name:\n", + " R = age_mean[titles[t]]\n", + " else:\n", + " R = age_mean['others']\n", + " # R[0] - R[1]\n", + "# print(factor)\n", + " mean_age = np.mean(R) + (factor * (R[1] - R[0])) \n", + " age = np.random.normal(loc=mean_age, scale=3)\n", + "# print(mean_age)\n", + " return int(age)\n", + " \n", + " \n", + "missed_age_people = combined_data[(combined_data['Age'].isnull().values==True)]\n", + "i = 0\n", + "for idx in missed_age_people.index:\n", + " missed_age_people['Age'][idx] = age_guess(factors[:,i], missed_age_people['Name'][idx])\n", + " i+= 1\n", + " \n", + "# print(missed_age_people['Age'][:20])\n", + "print('填补的年龄分布如下: 可以看出符合一般的分布')\n", + "missed_age_people['Age'].hist(bins=60)\n", + "\n", + "# 同样的操作应用于测试数据\n" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "combined_data.loc[(combined_data.Age.isnull()), 'Age'] = missed_age_people['Age']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Name\n", + "对该项数据集进行观察后,根据其中含有的称呼,可以作如下编码区分:\n", + "\n", + "Name|编码值|\n", + ":--:|:--:|\n", + "Mr.|0|\n", + "Miss|1|\n", + "Mrs|2|\n", + "Ofiicer|3|\n", + "Royalty|4|\n", + "Master|5|\n", + "others|6|\n", + "\n", + "用得到的新的特征“Title”代替原有的“Name”:" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassSexAgeSibSpParchTicketFareCabinEmbarkedTitle
0103male22.010A/5 211717.25NaNS0
1211female38.010PC 1759935.64C85C2
2313female26.000STON/O2. 31012827.92NaNS1
3411female35.01011380326.55C123S2
4503male35.0003734508.05NaNS0
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Sex Age SibSp Parch \\\n", + "0 1 0 3 male 22.0 1 0 \n", + "1 2 1 1 female 38.0 1 0 \n", + "2 3 1 3 female 26.0 0 0 \n", + "3 4 1 1 female 35.0 1 0 \n", + "4 5 0 3 male 35.0 0 0 \n", + "\n", + " Ticket Fare Cabin Embarked Title \n", + "0 A/5 21171 7.25 NaN S 0 \n", + "1 PC 17599 35.64 C85 C 2 \n", + "2 STON/O2. 3101282 7.92 NaN S 1 \n", + "3 113803 26.55 C123 S 2 \n", + "4 373450 8.05 NaN S 0 " + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combined_data['Title'] = combined_data['Name'].map(lambda x: re.compile(\", (.*?)\\.\").findall(x)[0])\n", + "title_Dict = {}\n", + "title_Dict.update(dict.fromkeys(['Capt', 'Col', 'Major', 'Dr', 'Rev'], 3))\n", + "title_Dict.update(dict.fromkeys(['Don', 'Sir', 'the Countess', 'Dona', 'Lady'], 4))\n", + "title_Dict.update(dict.fromkeys(['Mme', 'Ms', 'Mrs'], 2))\n", + "title_Dict.update(dict.fromkeys(['Mlle', 'Miss'], 1))\n", + "title_Dict.update(dict.fromkeys(['Mr'], 0))\n", + "title_Dict.update(dict.fromkeys(['Master','Jonkheer'], 5))\n", + "\n", + "combined_data['Title'] = combined_data['Title'].map(title_Dict)\n", + "combined_data.loc[combined_data.Title.isnull(), 'Title'] = 6\n", + "combined_data.drop(['Name'], axis=1, inplace=True)\n", + "combined_data.head()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* SibSp & Parch: 这两项是说当事人的兄弟姐妹以及父母孩子的情况; 这个影响不大,可以二者相加合并为一项Relatives
\n", + "* Cabin: 这一项是说每一位乘客所在的船舱,
\n", + "逻辑分析来说,一般活下来的人才会有更大机会告诉世人自己所处的船舱位置,如果没有活下来则很大可能没人知道它们当时在哪一个仓。
\n", + "分析存活和这一个信息是否缺失的关系,列出柱状图:" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassSexAgeSibSpParchTicketFareCabinEmbarkedTitle
0103male22.010A/5 211717.250S0
1211female38.010PC 1759935.641C2
2313female26.000STON/O2. 31012827.920S1
3411female35.01011380326.551S2
4503male35.0003734508.050S0
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Sex Age SibSp Parch \\\n", + "0 1 0 3 male 22.0 1 0 \n", + "1 2 1 1 female 38.0 1 0 \n", + "2 3 1 3 female 26.0 0 0 \n", + "3 4 1 1 female 35.0 1 0 \n", + "4 5 0 3 male 35.0 0 0 \n", + "\n", + " Ticket Fare Cabin Embarked Title \n", + "0 A/5 21171 7.25 0 S 0 \n", + "1 PC 17599 35.64 1 C 2 \n", + "2 STON/O2. 3101282 7.92 0 S 1 \n", + "3 113803 26.55 1 S 2 \n", + "4 373450 8.05 0 S 0 " + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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oYqKikCNDOA04IqpANrV0aNHdeONNyosLExLly7VBRdcoPr6eq1atUo33HCDnn32Wf30pz9t03OcddZZ2rFjR4AmBnC6cCYEQKveeustTZs2TcOHD9dFF12kG264QXv37pUkud1uzZ8/XykpKbr00kt1yy23qLS09KQed/Xq1dq3b5+efPJJDRgwQFarVeHh4Zo1a5amTZumL774wvccixYt0hVXXKHBgwcrNTVVTz75ZLPH2rVrl6ZMmaJhw4bplltu8c23b98+9e/fX/v27ZMk9e/fX6tXr9aYMWPkcDg0bdo07d69OzC/UABOGRECnKEWL14sp9PZ7MfixYslSd98843mzZunW2+9VUVFRXrnnXfk9Xr1+OOPS5JWrlwpt9utd999V2+//bZ69+6tZcuWndTzvvXWW7r88ssVERHR4r6FCxcqPT1dkrRs2TLt27dPBQUF2rFjhxYtWqRHHnlEZWVlvv1btmzRAw88oMLCQvXr10+33XabPB5Pq8/72muvac2aNdq6datsNpt+97vf+fXrBSDweDkGOEP95je/0ZQpU5qtrV27Vo899ph69uyp1157TWeffbbcbre++eYb9ejRQ/v375ckdevWTZ9//rnWrVunSy+9VNnZ2Sd9ae4DBw6c1HdQnTNnjkJCQhQREaFvvvlGXbt2lSR9++23vivr3nzzzerfv78k6a677pLT6dTOnTtb/QaJN954o3r37i1JGjt2rFasWHFS8wI4fYgQAC106dJFr776ql544QVZLBadf/75crvdCg397q+MGTNmKCwsTAUFBVqyZIni4+N1++2364orrvjBx+7du7e+/fbbVu87dOiQbDabwsLCVFVVpaysLH322Wfq16+fBg0aJElqamry7e/Xr5/v5zabTdHR0dq/f3+rEfKf3ywxNDT0hN/hFUD74eUYAC1s2rRJa9as0erVq/Xuu+/qqaee0oABA3z37969W6NGjVJBQYG2bdumKVOmaP78+Tp8+PAPPvaoUaO0detWud3uFvfdc889mjVrliRp3rx5GjRokIqKivTyyy9rwYIFLfb/Z8y43W4dPHhQffv2PZUvGYABRAiAFg4fPiyr1apu3brJ6/Vq69atWrdunY4dOyZJeumll3TnnXeqqqpKERERioiIkN1uV1hY2A8+9nXXXaeYmBjNmjVLn3/+ubxerw4ePKiHH35Y77//vubOneuboVu3bgoJCdGBAwf029/+VpJ8M0jfvTflyy+/VH19vbKysvSTn/zEd8YEQMdHhABo4eqrr9Yll1yicePG6eKLL9YTTzyhm266Sf/85z/V0NCgBQsW6JxzztG4ceM0ZMgQrV27Vrm5ub73bXyfrl27Kj8/X4MGDdLcuXOVnJyscePGqbS0VGvWrNFFF10kSXrggQe0ceNGDRkyRFOmTFFsbKwGDBjg+/SMJI0ePVozZ87UZZddpkOHDik3N5dvGw90InwXXQAAYAT/ZAAAAEbw6RgAAZOVlaWCgoIT3n/bbbdp5syZ7TgRgI6Ml2MAAIARvBwDAACMIEIAAIARRAgAADCCCAEAAEYQIQAAwAgiBAAAGEGEAAAAI4gQAABgxP8Ct2N3xZ/EtagAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train_data.loc[train_data.Cabin.isnull(), 'Cabin'] = 'U0'\n", + "train_data['Has_Cabin'] = train_data['Cabin'].apply(lambda x: 0 if x == 'U0' else 1)\n", + "train_data[['Has_Cabin','Survived']].groupby(['Has_Cabin']).mean().plot.bar()\n", + "\n", + "cabin_Dict = {'Has_Cabin': 1, 'Not': 0 }\n", + "\n", + "combined_data['Cabin'].loc[combined_data['Cabin'].isnull().values == False] = 'Has_Cabin'\n", + "combined_data.loc[combined_data.Cabin.isnull(), 'Cabin'] = 'Not'\n", + "combined_data['Cabin'] = combined_data['Cabin'].map(cabin_Dict)\n", + "combined_data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们发现, 能够知道所处船舱位置的,70%的人都活下来了,所以我们就简单地用0和1标记有没有这项信息。\n", + "\n", + "Cabin值是否存在|编码值|\n", + ":--:|:--:|\n", + "否|0|\n", + "是|1|\n", + "* Embarked: 登船的地方\n", + "\n", + "Embarked|编码值|\n", + ":--:|:--:|\n", + "S|0|\n", + "Q|1|\n", + "C|2|" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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+uuvd3loAADQ84X6+oDs7GzFxsaqtLRUNTU1mjdvngoLCzVnzpxOe99//339/ve/17hx4/wyLAAACB4+HQmprKxUWVmZcnJyZLPZFB8fL4fDoaKiok57q6qqdPToUY0YMcJvwwIAgODhU4SUl5crOjpasbGxnrXExERVV1eroaHBa++BAwcUERGhRYsW6cILL9T06dNVXFzsn6kBAECP59PpmMbGRtlsNq+1jttNTU2KioryrLe0tGjMmDFatGiRkpKStGfPHi1YsEARERGaOnWqH0YHAAA9mU9HQsLDw9Xc3Oy11nE7IiLCaz0zM1OPPfaYRowYobCwMI0fP16ZmZnatm1bF0cGAADBwKcISUpKUn19vWpqajxrFRUViouLU2RkpNfe4uLiTsHR0tKi3r17d2FcAAAQLHyKkISEBKWkpGjFihVyOp2qqqpSQUGBsrKyOu11Op26++679eGHH6q9vV2vvvqqnn/+ef3oRz/y2/AAAKDn8vktuvn5+crNzVVaWpqsVqsyMzPlcDgkScnJyVq+fLkyMjJ03XXXqampSfPnz1dtba3i4+N13333yW63+/2TAAAAPY/F7Xa7TQ/xTWpqjimwJ/Sv0FCr+vePUHp+qT6obvj2B6BHGzkkSi8snKC6uka5XO2mxwGALrNYpJiYyG/fKC7bDgAADCFCAACAEUQIAAAwgggBAABGECEAAMAIIgQAABhBhAAAACOIEAAAYAQRAgAAjCBCAACAEUQIAAAwgggBAABGECEAAMAIIgQAABhBhAAAACOIEAAAYAQRAgAAjCBCAACAEUQIAAAwgggBAABGECEAAMAIIgQAABhBhAAAACOIEAAAYAQRAgAAjCBCAACAEUQIAAAwgggBAABGECEAAMAIIgQAABhBhAAAACOIEAAAYAQRAgAAjCBCAACAEUQIAAAwgggBAABGECEAAMAInyOktrZWDodDdrtdqampysvLk8vl+sbHfPLJJxo9erT27NnznQcFAADBxecIyc7OVnh4uEpLS1VcXKzdu3ersLDwpPubm5t1yy236Pjx412ZEwAABBmfIqSyslJlZWXKycmRzWZTfHy8HA6HioqKTvqY5cuXa9KkSV0eFAAABBefIqS8vFzR0dGKjY31rCUmJqq6uloNDQ2d9m/atEmVlZWaP39+1ycFAABBJdSXzY2NjbLZbF5rHbeb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drt14MABHTp0SHFxcTr//PMVEhJieiwAfnbkyBH179/fc9QT6ECEoFtVV1d/654hQ4Z0wyQAToVNmzZ9657MzMxTPgd6BiIE3ercc8/1fDfkdru9vjPquP3RRx+ZGg9AF1122WXfeL/FYtGOHTu6aRoEOiIE3erQoUPfumfo0KHdMAkAwDQiBAHD5XLpk08+0YgRI0yPAsAPqqqq9OWXX3reht/a2qpPPvlE119/vdnBEDCIEBjx6quvavny5V5/QUlSaGgoFywDgsAjjzyiNWvWdDr9+oMf/EDPPfec4ekQKEJND4DT06pVqzR58mRFRUXp448/1vTp0/Xggw8qKyvL9GgA/OCpp55Sfn6+evXqpVdeeUWLFy/W3XffrTPOOMP0aAggXKwMRlRVVSknJ0fp6emqq6vT5MmTtXr1aj3zzDOmRwPgBw0NDZo8ebLOPfdcvf/++4qOjtayZctUUlJiejQEECIERgwYMEBWq1VDhgxRRUWFJGn48OH64osvDE8GwB8GDx4sp9Op2NhYff7553K73RowYICOHj1qejQEECIERnz/+9/X2rVrJUkDBw7Ua6+9pj179qh3796GJwPgD2PHjtXChQvV0NCgESNG6IEHHtD69eu5IjK8ECEwIicnRy+//LIOHz6shQsXyuFw6Prrr9eNN95oejQAfnDbbbfprLPOUltbm5YtW6YdO3bomWee0bJly0yPhgDCu2MQEL766is1NjZq2LBhpkcB4Af19fUqKipSdXW12tvbve679957DU2FQMO7Y2DMW2+9pUOHDnm9Rffdd9/lks5AEMjOztY//vEPjRkzRlYrB91xYhwJgRG//vWvVVxcrMGDB3tdup1LOgPBITk5WTt37lR0dLTpURDAOBICI0pKSvT0009r1KhRpkcBcAqceeaZam1tNT0GAhwRAiMiIyN1zjnnmB4DwCnyq1/9SjfddJMyMzPVr18/r/s45YoOnI6BEc8++6zKysp04403Kioqyuu+IUOGGJoKgL8sXbpUW7Zs0aBBg7xeE8IpV/wrjoTAiK+//lolJSV6/vnnPWsdP1vio48+MjgZAH948cUXtXnzZg0fPtz0KAhgRAiMKCgo0B133KHx48fzynkgCPXv319nnnmm6TEQ4DgdAyNSU1O1Z88e02MAOEU2bdqk0tJS3XjjjerXr5/Xu+A45YoORAiMuO+++3TGGWfo2muvNT0KgFPg3HPP9fy6I0A45Yr/jQiBEddcc43efvttRUREdPouiRetAT3foUOHTnrf0KFDu3ESBDIiBEb8+c9/Pul9V155ZTdOAgAwhQiBcUeOHNGAAQNMjwEA6Ga8LQFGuFwurVmzRikpKbrssstUVVWlq666SocPHzY9GgCgmxAhMGLdunV68803tXbtWoWFhWngwIGKi4vTPffcY3o0AEA34TohMGLr1q3asGGDYmNjZbFYFB4ernvvvVeXX3656dEAAN2EIyEwoqmpyfM6kI6XJfXp04cLlwHAaYS/8WHEmDFjtH79ekn/cw2BJ598Uuedd57JsQAA3Yh3x6Bbvfbaa5o4caKqqqp03XXXyeVyqba2VmeddZYaGxv1xz/+UWeffbbpMQEA3YAIQbcaO3as9u7dq8mTJ2vLli3auXOnDh06pLi4OF166aXq27ev6REBAN2ECEG3uvjii5Wenq4NGzZo3rx5OtH/fvPnzzcwGQCgu/HuGHSrO++8U88++6zcbrfefPPNTvf/6+XbAQDBjSMhMOLqq6/Ws88+a3oMAIBBRAgAADCCt+gCAAAjiBAAAGAEEQIAAIwgQgAAgBG8RReAXx09elRr1qzRzp07dfToUfXt21eXXHKJFi1apLi4ONPjAQggHAkB4FeLFi1SXV2diouLtX//fm3atEktLS362c9+JpfLZXo8AAGECAHgV2+//bYuv/xyDRo0SJIUExOj22+/XaNHj1ZDQ4OcTqdyc3M1ceJEXXTRRVq0aJFqamokSS+88IJGjRqlv/3tb5KkDz/8UOeff75ef/11Y58PgFOH64QA8Kvbb79d27dv14wZMzRu3DiNHj1aQ4cO9dy/cOFCNTY26v7771efPn20cuVKlZeXa8OGDbJYLFq6dKk++OADPfnkk5o9e7amTJmixYsXG/yMAJwqRAgAv2pvb9fWrVtVUlKit99+W8eOHdOZZ56pBQsW6JJLLtHFF1+sbdu2eX5acnNzs+x2u55++mmNGjVKTU1NmjVrllpaWjRkyBA9/vjjCgkJMfxZATgVeGEqAL+yWq2aOXOmZs6cKbfbrYqKCm3evFm//OUvPUc0Zs+e7fWYkJAQff755xo1apTCw8N11VVXadWqVfr5z39OgABBjCMhAPymtLRUCxcu1M6dOxUdHe1136xZs3TZZZdp3bp12rVrl+c1I5L06aefKj4+Xr1799Znn32mzMxMTZs2TS+99JI2b97Mu2qAIMULUwH4zdixYzVw4EAtXbpUH3/8sVpbW+V0OrVlyxYdPHhQU6dO1aWXXqq8vDzV1dWptbVVDz30kLKystTQ0KDW1lYtXrxY6enpuueeezR27Fjl5OSovb3d9KcG4BTgSAgAv/rqq6+0fv167dq1S7W1tQoLC9OYMWO0YMECjR49WkePHtXq1av12muvyel0KikpSbfeeqvsdrtWrVqlbdu2acuWLYqIiNCRI0eUnp6ua6+9VvPmzTP9qQHwMyIEAAAYwekYAABgBBECAACMIEIAAIARRAgAADCCCAEAAEYQIQAAwAgiBAAAGEGEAAAAI4gQAABgBBECAACMIEIAAIAR/x+ZGrXAgDr3XAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train_data[['Sex', 'Survived']].groupby(by='Sex').mean().plot.bar()\n", + "combined_data.loc[combined_data['Sex'] == 'female', 'Sex'] = 0\n", + "combined_data.loc[combined_data['Sex'] == 'male', 'Sex'] = 1\n", + "\n", + "combined_data['Relatives'] = combined_data['SibSp'] + combined_data['Parch']\n", + "combined_data.drop(['SibSp', 'Parch', 'Ticket', 'PassengerId'], axis=1, inplace=True)\n", + "\n", + "combined_data.loc[combined_data['Embarked'] == 'S', 'Embarked'] = 0\n", + "combined_data.loc[combined_data['Embarked'] == 'Q', 'Embarked'] = 1\n", + "combined_data.loc[combined_data['Embarked'] == 'C', 'Embarked'] = 2\n", + "combined_data.loc[combined_data.Embarked.isnull(), 'Embarked'] = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SurvivedPclassSexAgeFareCabinEmbarkedTitleRelatives
003122.07.250001
111038.035.641221
213026.07.920010
311035.026.551021
403135.08.050000
503127.08.460100
601154.025.931000
70312.04.220054
813027.03.710022
912014.015.040221
\n", + "
" + ], + "text/plain": [ + " Survived Pclass Sex Age Fare Cabin Embarked Title Relatives\n", + "0 0 3 1 22.0 7.25 0 0 0 1\n", + "1 1 1 0 38.0 35.64 1 2 2 1\n", + "2 1 3 0 26.0 7.92 0 0 1 0\n", + "3 1 1 0 35.0 26.55 1 0 2 1\n", + "4 0 3 1 35.0 8.05 0 0 0 0\n", + "5 0 3 1 27.0 8.46 0 1 0 0\n", + "6 0 1 1 54.0 25.93 1 0 0 0\n", + "7 0 3 1 2.0 4.22 0 0 5 4\n", + "8 1 3 0 27.0 3.71 0 0 2 2\n", + "9 1 2 0 14.0 15.04 0 2 2 1" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combined_data.head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最终数据处理结果如上图所示。\n", + "## 3.实现过程\n", + "\n", + "特征之间的相关性如下,颜色越深表示关联程度越低" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+bHbt2/fnlmzZtGhQweaNGmCtbU1R48e5cCBA7i7uxMQEGByLB9MHvQgcW7dujWenp5m+23RokXiMMSWLVvi7e2NtbU1f/31F35+ftSpU4d33nnnP9f/37p3787u3bvZuXMnLVu2pHbt2sTExLB9+3Zu377Nq6++SosWLVL0bz7JO++8w549e1i/fj2nTp2iVq1aWFhYsGnTJq5fv06TJk0S42nevDkLFizgm2++4cSJE+TPnx9/f3+2bNmCtbU11tbWZv+mcufOzZUrV/j444+pWrUqbdq0oXXr1kydOpXly5cTEBBAiRIlOHHiBAcOHKBixYocPnz4mWLPkiULEyZMoF+/fnTu3JkGDRpQoEABLly4wPbt23FwcOCrr75KHJo9bNgwPvjgA9q1a0fjxo3Jnj07vr6+bN68GVdXV3r27JmibSsiIs9PyaKIJFvevHlZtmwZs2fPZvPmzSxevDjxZya6d+9OrVq1Est27NgRCwsLFi9ezOrVq7GxsSFv3rz069ePN954A29vb3bs2EFcXNxTf8y+Z8+e5M2blx9++IFNmzYRHBxMrly56Nq1K7179zaZpfHVV1+lUKFCzJ07l7///puIiAjy5s1L79696dGjx2MnN/mvKleuzPr16/n111/ZvHkzmzZt4u7du2TLlo1GjRrRpUsXatSoYbbdgAEDKFWqFIsWLWLTpk3Ex8eTP39+Bg8ezNtvv50iQzCdnJz4+eefmT9/PuvXr+fnn3/GwcGBokWL8vrrrz/1ebP+/fvj5OTEsmXLWLp0aeLwyU8++YR69erRsGFDtm3bxnvvvZfYFl27dmX58uUsWbKEggULJpksAnz11VdUrVqVX3/9lbVr12JhYUGRIkV45513eO211574DOjzsLa2Zu7cuSxZsoQVK1awbNkybGxsKFmyJB9//PEzP3uX0vH88MMPrFy5kt9//x1ra2sKFChAnz59aN++feK/j+LFi7NgwQKmTJnCnj172LFjB7lz56ZVq1b06dOHYcOGsXv3bi5cuJD4zO6nn37KmDFjWLVqFdeuXaNNmzZky5aNH374gcmTJ7N//34OHjxIhQoVWLJkCRs2bHjmZBESntldunQpc+bMYe/evWzbto0cOXLQsmVLevXqZfLscLNmzXBxcWH+/Pns2rWLoKAg3NzcaNu2LX379iVPnjwp27giIvLcDMbUmjJNREREREREMiw9sygiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiIiJhRsigiIiIiIiJmlCyKiIiIiIiIGSWLIiIiIiIiYkbJooiIiIiISDpz584dfHx82Lt372PLbN++nZYtW1KhQgWaNm3K1q1bUzQGJYsiIiIiIiLpyMGDB3nttde4cuXKY8tcvnyZ/v378/7773PgwAH69+/PwIEDuXnzZorFoWRRREREREQknVi+fDkffvghgwYNemq5ypUr06hRI6ysrGjWrBlVqlThl19+SbFYlCyKiIiIiIikoujoaEJDQ01e0dHRSZatXbs2f/75J82aNXviPs+fP4+np6fJsqJFi3L69OkUi9sqxfYkIiIiIiKSRuJveD69UBqZvbQ/06ZNM1nWr18/+vfvb1Y2e/bsz7TPsLAw7O3tTZbZ2dkRHh7+/IE+QsmiiIiIiIhIKurVqxfdunUzWWZjY/Of9mlvb09kZKTJssjISBwdHf/Tfv9NyaKIiIiIiEgqsrGx+c/J4aM8PT05ceKEybLz589TpkyZFPsbemZRREREREQyvPh0/F9qaNWqFfv27WPdunXExsaybt069u3bR+vWrVPsbyhZFBERERERyQAqVqzIqlWrAChSpAjTp09n9uzZVKlShRkzZjB16lQKFSqUYn/PYDQajSm2NxERERERkTQQe6NoWofwWFa5zqd1CM9FzyyKiIiIiEiGF2dMneGeKSGjJl0ahioiIiIiIiJmlCyKiIiIiIiImYzaIyoiIiIiIpIoHk3FktLUsygiIiIiIiJmlCyKiIiIiIiIGQ1DFRERERGRDC+e9DsbakalnkURERERERExky56FuNveKZ1CJmGRa6zABSa+nUaR5J5XOo/GIC6rSemcSSZx46VQwDwsXg1jSPJPP6MXwpAE+duaRxJ5rEheAEAlXpPTuNIMo9DswYBUGao2vxFOT4hoc2LfaU2f1HODRuU1iFIOpIukkUREREREZH/Is6o2VBTmoahioiIiIiIiBkliyIiIiIiImJGw1BFRERERCTDi0fDUFOaehZFRERERETEjJJFERERERERMaNhqCIiIiIikuHFaRhqilPPooiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyPM2GmvLUsygiIiIiIiJmlCyKiIiIiIiIGQ1DFRERERGRDC/OqGGoKU09iyIiIiIiImJGyaKIiIiIiIiY0TBUERERERHJ8OLTOoCXkHoWRURERERExIySRRERERERETGjYagiIiIiIpLhxaHZUFOaehZFRERERETEjJJFERERERERMaNhqCIiIiIikuHFaRRqilPPooiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyvPi0DuAlpJ5FERERERERMaNkUURERERERMw81zDUuLg4LC0tAdi+fTvZsmWjXLlyKRqYiIiIiIjIs4rDkNYhvHSS3bO4ZcsW6tSpA8CMGTPo378/b775Jr/++muKByciIiIiIiJpI9nJ4syZMxk4cCDx8fEsWbKEqVOn8sMPPzB37tzUiE9ERERERETSQLKHoV65coWOHTty8uRJIiIiqFWrFlZWVgQEBKRGfCIiIiIiIk8Vb0zrCF4+ye5ZtLe3JzAwkC1btuDl5YWVlRWnT58mW7ZsqRGfiIiIiIiIpIFk9yy2b9+eNm3aEBwczJQpUzh+/Dg9evSge/fuqRGfiIiIiIiIpIFkJ4v9+/enatWq2NraUqFCBa5fv87o0aN55ZVXUiM+ERERERGRp9JsqCnvuX46o0iRIri7uxMdHc3WrVs1BFVEREREROQlk+xkcenSpYwdO5YjR44wceJE1q1bh8Fg4NKlS/Tt2zc1YhQREREREZEXLNnJ4pIlS5g+fTpxcXEsW7aMuXPnkj17dt58800liyIiIiIikiY0DDXlJTtZvH79OrVq1eLQoUNYWVlRqVIlAIKDg1M8OBEREREREUkbyf7pDBcXF3x9fdm4cSNVq1YFYM+ePWTPnj3FgxMREREREZG0keyexW7dutGyZUsAFi9ezMGDB+nVqxefffZZigeXnt25C537wpghULViWkeTMbnZ2zOuwStUz5uP2HgjK86cZNxf24kzPv4XVZsUKcbwWnXx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0tISg8HAxIkTyZUrV4rFrZ5FERERERGRVDR79my8vLxMXrNnzzYrFxYWhr29vcmyB+/Dw8NNlsfExFCiRAmWLl3KkSNHGD16NCNGjODMmTMpFrd6FkVEREREJMOLM6bffrBevXrRrVs3k2WP9ioCODg4EBERYbLswXtHR0eT5WPGjKFSpUqUK1cOgPbt27NmzRqWL1/OsGHDUiTu9NuiIiIiIiIiLwEbGxuyZMli8koqWSxWrBh3794lICAgcdmFCxfIlSsXTk5OJmX9/f3NhrZaWVlhbW2dYnErWRQREREREUkHChYsiJeXF+PGjSM0NBQ/Pz9mzJhBhw4dzMo2aNCAJUuWcOLECeLj49mwYQN79+6lWbNmKRaPhqGKiIiIiEiGF/+S9INNmTKF0aNH07BhQywsLGjTpg19+/YFoGLFiowaNYpWrVrRr18/LC0t6d+/P/fu3aNAgQJMnz6dkiVLplgsShZFRERERETSCXd3d6ZMmZLkusOHDyf+v5WVFf3796d///6pFsvLkX6LiIiIiIhIilLPooiIiIiIZHhxRkNah/DSUc+iiIiIiIiImFGyKCIiIiIiImY0DFVERERERDK8OPWDpTi1qIiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyvHij+sFSmlpUREREREREzChZFBERERERETMahioiIiIiIhmeZkNNeWpRERERERERMWMwGo3GtA5CRERERETkv/jxfLW0DuGxuhTdm9YhPBcNQxURERERkQwvzmhI6xBeOukiWSw09eu0DiHTuNR/MADxNzzTOJLMwyLXWQCKfTk5jSPJPM4NHwRAuUFq8xfl6OSENi//vtr8Rfnn24Q2L/uh2vxFOfa/hDb3bjYhjSPJPLavGwpApd46z1+UQ7MGpXUIko7omUURERERERExky56FkVERERERP6LePWDpTi1qIiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyvDij+sFSmlpUREREREREzChZFBERERERETMahioiIiIiIhlePIa0DuGlo55FERERERERMaNkUURERERERMxoGKqIiIiIiGR4mg015alFRURERERExIySRRERERERETGjYagiIiIiIpLhxakfLMWpRUVERERERMSMkkURERERERExo2GoIiIiIiKS4cUbDWkdwktHPYsiIiIiIiJiRsmiiIiI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GQ1DFRERERGRDE+zoaY89SyKiIiIiIiIGSWLIiIiIiIiYkbDUEVEREREJMOLR8NQU5p6FkVERERERMSMkkURERERERExo2GoIiIiIiKS4Wk21JSnnkURERERERExo2RRREREREREzGgYqoiIiIiIZHgahpry1LMoIiIiIiIiZpQsioiIiIiIiBkNQxURERERkQxPw1BTnnoWRURERERExIySRRERERERETGjYagiIiIiIpLhaRhqylPPooiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyvHg0DDWlqWdRREREREREzChZFBERERERETMahioiIiIiIhmeZkNNeepZFBERERERETNKFkVERERERMSMhqGKiIiIiEiGp2GoKU89iyIiIiIiImJGyaKIiIiIiIiY0TBUERERERHJ8DQMNeWpZ1FERERERETMPHeyeOfOnZSMQ0RERERERNKRZCWLsbGxTJ48GS8vLxo0aICfnx/t27fn1q1bqRWfiIiIiIjIU8UbDen2lVElK1mcOnUqe/bs4dtvv8Xa2ho3Nzdy5crF2LFjUys+ERERERERSQPJmuBm9erV/PTTT+TMmRODwYCDgwNffvklPj4+qRWfiIiIiIiIpIFkJYvh4eG4uroCYDQaAbCzs8PCQvPkiIiIiIhI2jFm4OGe6VWysrwKFSowbdo0AAyGhIOxePFiypYtm/KRiYiIiIiISJpJVs/iiBEj6Nq1K8uXLycsLIxmzZoRFhbGggULUiu+F666VyF6v+VN7lwu3Lodwozvt7H7wMUky+bM7szAdxtSrlQ+AI4c92PavK1cv3UPAKcsdvTv0YAaXoWxsDBw5Lgfk2b9SWBQ2AurT3ri6mDPF00bUS1/PmLjjaw6cYqvNu8g7n4v9b95FynIkHp18MjqwvXgYMZv3cnW85fMyr1avgzjmvlQ7MvJZuvsrKxY1KU9Px8+xrJjJ1OlTi+7O3ehc18YMwSqVkzraDImV1sHRldsQVX3gsQZ41nld5QJx/40O+8NwHslvWlfoALONvZcCwtixumdbLiWcO46W9sxsnwT6uQsirWFJceC/Bl/7A9O37uZBrVK39xsHRhXrSnVc+YnNj6eFZdPMO7Q5iSvNV2KVeSdElXIYZ+F2xFhzD+9nyXnDgFwvONgk7IWBgP2VtYM+Gslq30z9zXFzcGesT4+VPNIuJ6v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odaoUYMaNWpw7do1fvzxR7766ismTJhAq1atGDZsWGrFKCIiIiIi8kSaDTXlPVPP4qPy5s3LkCFD2LFjBx988AH79u1L6bhEREREREQyncDAQPr27UvlypWpVq0aY8eOJTY29onbnD17lvLly7N3794UjeW5ksUHbGxs6NChA8uWLUupeERERERERDKtgQMH4uDgwM6dO/ntt9/YvXs333///WPLR0REMHjwYCIjI1M8lv+ULIqIiIiIiKQHRmP6fT0rX19f9u3bx5AhQ7C3t8fDw4O+ffvyww8/PHabUaNG0ahRoxRoQXNKFkVERERERFJRdHQ0oaGhJq/o6GizcufOnSNr1qzkzJkzcVmRIkXw9/cnODjYrPyKFSvw9fWlX79+qRK3kkUREREREZFUNHv2bLy8vExes2fPNisXFhaGvb29ybIH78PDw02WX7hwgcmTJ/P1119jaWmZKnEnazZUERERERGR9Cie9Dsbaq9evejWrZvJMhsbG7NyDg4OREREmCx78N7R0TFxWVRUFIMGDeLjjz8mT548qRBxAvUsioiIiIiIpCIbGxuyZMli8koqWSxWrBh3794lICAgcdmFCxfIlSsXTk5OicuOHTvG5cuXGTFiBJUrV6Zy5coA9O7dm88//zzF4lbPooiIiIiISDpQsGBBvLy8GDduHKNHjyYoKIgZM2bQoUMHk3KVK1fm6NGjJsuKFy/OrFmzqFatWorFo55FERERERHJ8IxGQ7p9JceUKVOIjY2lYcOGdOzYkTp16tC3b18AKlasyKpVq1Kj+ZKknkUREREREZF0wt3dnSlTpiS57vDhw4/d7syZMykei3oWRURERERExIx6FkVEREREJMOLT+ZwT3k69SyKiIiIiIiIGSWLIiIiIiIiYkbDUEVEREREJMMzGtM6gpePehZFRERERETEjJJFERERERERMaNhqCIiIiIikuEZNRtqilPPooiIiIiIiJhRsigiIiIiIiJmNAxVREREREQyPA1DTXnqWRQREREREREzShZFRERERETEjIahioiIiIhIhhevYagpTj2LIiIiIiIiYkbJooiIiIiIiJjRMFQREREREcnwjMa0juDlo55FERERERERMaNkUURERERERMxoGKqIiIiIiGR4Rs2GmuLUsygiIiIiIiJmlCyKiIiIiIiIGQ1DFRERERGRDE/DUFOeehZFRERERETEjMFo1C+SiIiIiIhIxlZi2ei0DuGxTrf7NK1DeC4ahioiIiIiIhmeesBSXrpIFn0sXk3rEDKNP+OXAlBu0OQ0jiTzODp5EJC+v+162Tz49i7+hmcaR5J5WOQ6C8Dnx1uncSSZx+dlVgJQ5JexaRxJ5nHhtREAeI7TZ+iLcvbjhM/QUiPU5i/KybGD0joESUf0zKKIiIiIiIiYSRc9iyIiIiIiIv+FZkNNeepZFBERERERETNKFkVERERERMSMhqGKiIiIiEjGp+lQU5x6FkVERERERMSMkkURERERERExo2GoIiIiIiKS4Wk21JSnnkURERERERExo2RRREREREREzGgYqoiIiIiIZHhGzYaa4tSzKCIiIiIiImaULIqIiIiIiIgZDUMVEREREZEMT7Ohpjz1LIqIiIiIiIgZJYsiIiIiIiJiRsNQRUREREQk49Mw1BSnnkURERERERExo2RRREREREREzGgYqoiIiIiIZHhGY1pH8PJRz6KIiIiIiIiYUbIoIiIiIiIiZjQMVUREREREMj4NQ01x6lkUERERERERM0oWRURERERExIyGoYqIiIiISIZnNBrSOoSXjnoWRURERERExIySRRERERERETGjYagiIiIiIpLxaTbUFKeeRRERERERETGjZFFERERERETMaBiqiIiIiIhkeJoNNeWpZ1FERERERETMKFkUERERERERM8+VLO7atYvevXvTrl07bt++zfjx44mNjU3p2ERERERERJ6NMR2/MqhkJ4urV69myJAhFC9eHF9fXwC2bNnCpEmTUjw4ERERERERSRvJThbnzJnDjBkzGDRoEBYWFmTPnp3Zs2ezZs2a1IhPRERERERE0kCyZ0O9ceMG5cuXB8BgSJhxqECBAoSHh6dsZCIiIiIiIs9Ms6GmtGT3LBYsWJDNmzebLPv7778pUKBAigUlIiIiIiIiaSvZPYuDBg2ib9++NGzYkKioKD7//HPWrFnD119/nRrxvXBVm1akx1dvkKtwDm5fCWDO0MXsXXvIrFx2D3fmnZhssszC0gJbexsG1BxB7sI5GDirl8l6KxsrjEYjze27pGodMpraJQsyqEUd8rm5cP1uMJNW7WTHyUtP3MbCYOB/bzfnnH8AMzfuSVzumcedwa3qUipfTmLi4th9xpeJK7dzNywytauRIbjaOjC6Yguq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t99i7NixGDx4sMbjVnuCGyIiIiIiItI8Z2dn1KtXD0uWLEFqaioiIiKwceNG9OzZU6XtyZMnMX/+fKxbt65QEkVAjZFFmUyGAwcO5D3OyclRegwAXbt21VBYREREREREBSf6TK6SW7t2LRYuXAgfHx/o6emha9euGDVqFADA3d0dCxYsQOfOnbF+/Xrk5uZi7NixSs/39fXFwoULNRJLgZNFGxsbrF27Nu+xpaWl0mORSMRkkYiIiIiI6D94P+9617uTjh4+fLjQYylwsujn51eYcRAREREREVExormpcoiIiIiIiLTlMylDLU44wQ0RERERERGpYLJIREREREREKliGSkREREREuk/gfeA1jSOLREREREREpILJIhEREREREalgGSoREREREek+zoaqcRxZJCIiIiIiIhVMFomIiIiIiEgFy1CJiIiIiEj3sQxV4ziySERERERERCqYLBIREREREZEKlqESEREREZHuYxmqxnFkkYiIiIiIiFQwWSQiIiIiIiIVLEMlIiIiIiLdJ4i0HcFnhyOLREREREREpILJIhEREREREalgGSoREREREek8EWdD1TiOLBIREREREZEKJotERERERESkgmWoRERERESk+1iGqnEcWSQiIiIiIiIVTBaJiIiIiIhIBZNFIiIiIiIiUsFkkYiIiIiIiFQwWSQiIiIiIiIVnA2ViIiIiIh0noizoWocRxaJiIiIiIhIhUgQBObgRERERESk0yqu/V7bIXzQ47GTtB3CJ2EZKhERERER6T5BpO0IPjvFIllsZzZI2yGUGCeSdwIAao9breVISo47P0wAAFTYvVTLkZQcT/rNAADMv99Fy5GUHPNrHAQAyGNctRxJyaFnHwwAcNqxQsuRlBxPB08FAFRcvUrLkZQcjydMBABUWcTzlqLyaM4EbYdAxQivWSQiIiIiIiIVxWJkkYiIiIiI6D/hTCwax5FFIiIiIiIiUsFkkYiIiIiIiFSwDJWIiIiIiHQfy1A1jiOLREREREREpILJIhEREREREalgGSoREREREek8EctQNY4ji0RERERERKSCySIRERERERGpYBkqERERERHpPpahahxHFomIiIiIiEgFk0UiIiIiIiJSwTJUIiIiIiLSfSxD1TiOLBIREREREZEKJotERERERESkgmWoRERERESk80QsQ9U4jiwSERERERGR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hGL8p4a1a9dCJpPBx8cHvXr1QtOmTTFq1CgAgLu7Ow4dOgRAMfHNhg0bsGXLFnh4eGDjxo1Yt24dKlSooN4b/gu1r1kcN24cRo4cicaNG2PIkCHo1asX9PX10bdvX40FRUREREREVBLZ2Nhg7dq1+a67deuW0uOmTZuiadOmhRaLWsmiIAiwsbHBhQsXIBaL0bt3b7x8+RLu7u5o3LhxYcVIRERERERERazAyWJ6ejoGDx4MGxubvGlf4+PjsXXrVtSoUQPu7u6QSqWFFigREREREdEHFePZUHVVga9Z3LRpE8RiMRYsWJC3zNraGmfPnoVMJsOWLVsKJUAiIiIiIiIqegVOFk+ePIlvv/0W1tbWSsutra2xYMECnDhxQuPBERERERERkXYUuAw1Pj4eTk5O+a6rWrUqXr58qbGgiIiIiIiI1CFiGarGFXhk0dTUFImJifmue/XqFYyNjTUWFBEREREREWlXgZPFhg0bYvfu3fmu27NnD+rUqaOpmIiIiIiIiEjLClyGOnz4cHTv3h2JiYno0KEDbG1t8eLFCxw/fhx//fUXfvnll8KMk4iIiIiI6MNYhqpxBU4WK1SogO3bt2PevHnYvXs3RCIRBEGAq6srtm3bhho1ahRmnERERERERFSECpwsAkDdunVx+PBhREREICEhAba2tihbtmxhxUZERERERERaolay+IajoyMcHR01HQsREREREdEn4WyomlfgCW6IiIiIiIio5GCySERERERERCo+qQyViIiIiIioWGEZqsZxZJGIiIiIiIhUMFkkIiIiIiIiFSxDJSIiIiIi3ccyVI3jyCIRERERERGpYLJIREREREREKliGSkREREREOk/EMlSN48giERERERERqWCySERERERERCpYhkpERERERLqPZagax5FFIiIiIiIiUsFkkYiIiIiIiFSwDJWIiIiIiHQfy1A1jiOLREREREREpILJIhEREREREalgGSoREREREek8EctQNY4ji0RERERERKSCySIRERERERGpYLJIREREREREKnjNIhERERER6T5es6hxHFkkIiIiIiIiFUwWiYiIiIiISAXLUImIiIiISOfx1hmaJxIEgd1KREREREQ6rebk1doO4YPurZyg7RA+CctQiYiIiIiISEWxKEOtO6L4/grwubm5WfGrRnH+5eVz8+aXpEorV2k5kpIjbPJEAECl3xdrOZKSI6z3LACA044VWo6k5Hg6eCoAQB7jquVISg49+2AAQOXl/A4tKqHTFN+h1aezz4vKg2W6OQIGgLOhFgKOLBIREREREZEKJotERERERESkoliUoRIREREREf0nLEPVOI4sEhERERERkQomi0RERERERKSCZahERERERKTzRNoO4DPEkUUiIiIiIiJSwWSRiIiIiIiIVLAMlYiIiIiIdB9nQ9U4jiwSERERERGRCiaLREREREREpIJlqEREREREpPNELEPVOI4sEhERERERkQomi0RERERERKSCZahERERERKT7WIaqcRxZJCIiIiIiIhVMFomIiIiIiEhFgctQAwICPtrGw8PjPwVDRERERET0SViGqnEFThYHDBgAABCJRHnLzM3NkZKSArlcDgsLC1y+fFnzERIREREREVGRK3Cy+PDhQwDA9u3bERwcjNmzZ6NUqVJIT0/HsmXLYG5uXmhBEhERERERUdFSezbU7du3w8/PD0ZGRgAAqVSKWbNmoVmzZpg0aZLGAyQiIiIiIvoYEctQNU7tCW7kcjni4+OVlkVGRkJfX19jQREREREREZF2qT2y2KVLFwwZMgRDhw5FmTJlEBERgR9//BF9+vQpjPiIiIiIiIhIC9ROFqdMmQKpVIpNmzYhNjYWZcqUQa9evTBs2LDCiI+IiIiIiOjjWIaqcWoniwYGBhg3bhzGjRtXGPEQERERERFRMaD2NYsAcOnSJYwcORLdu3fHy5cvsXz5cshkMk3HRkRERERERFqidrJ4+PBhTJkyBa6urnj69CkAwM/PD6tWrdJ4cERERERERAUhEorvn65SO1ncunUrNm7ciAkTJkBPTw+2trbYsmULjhw5UhjxERERERERkRaonSzGxMSgdu3aAACRSAQAcHJyQnp6umYjIyIiIiIiIq1RO1l0dnbGmTNnlJb9888/cHJy0lhQREREREREahGK8Z+OUns21AkTJmDUqFHw8fFBVlYW5s+fjyNHjuD7778vjPiIiIiIiIhIC9QeWWzUqBF+++03mJmZwcvLC3K5HDt27EDz5s0LIz4iIiIiIiLSArVHFl++fAk3NzfMmzdPafkff/yBXr16aSwwIiIiIiKigtLlWUeLK7VHFgcPHoykpKS8x3Fxcfj666+xbNkyjQZGRERERERE2qN2slirVi0MGTIEaWlp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RSIiIiIiIlLBMlQiIiIiItJ9LEPVOI4sEhERERERkQomi0RERERERKSCZahERERERKTzOBuq5nFkkYiIiIiIiFQwWSQiIiIiIiIVLEMlIiIiIiLdJ7AOVdM4skhEREREREQqmCwSERERERGRCpahEhERERGRzuNsqJrHkUUiIiIiIiJSwWSRiIiIiIiIVLAMlYiIiIiIdB/LUDWOI4tERERERESkgskiERERERERqWAZKhERERER6TzOhqp5HFkkIiIiIiIiFUwWiYiIiIiISAXLUImIiIiISPfJWYeqaRxZJCIiIiIiIhVMFomIiIiIiEgFy1CJiIiIiEj3sQpV4ziySERERERERCqYLBIREREREZEKlqESEREREZHOE7EMVeM4skhEREREREQqmCwSERERERGRCiaLRERERESk+wSh+P5pSHp6OmbMmAEvLy/Uq1cPU6dORVpa2kef9+LFCzRq1Aj79u1T6/2YLBIREREREemARYsWITo6GidPnsSpU6cQHR2NlStX/utz5HI5Jk+ejMTERLXf75OSxaSkJNy/fx9yuRzZ2dmf8hJERERERERUQBkZGTh8+DDGjh0LCwsLWFtbY/Lkydi3bx8yMjI++LwNGzbA3t4eZcqUUfs91ZoNNS0tDXPnzsXRo0dhZGSEffv2YdCgQdi5cycqVqyo9psTERERERFpQnGeDTU7O1tlkE0ikUAikSgty8zMRGxsbL6vkZGRgZycHLi6uuYtq1SpEjIzMxEeHo6qVauqPOfKlSs4evQo/vrrL/j6+qodt1rJ4ooVK5Ceno7jx4+jV69ecHR0RMuWLbF48WJs375d7TcnIiIiIiL63G3ZsgXr169XWjZ69GiMGTNGadmdO3cwcODAfF9j3LhxAACpVJq3zNjYGADyvW4xPj4eM2fOxNq1a2FiYvJJcauVLJ49exaHDx+Gubk5RCIRxGIxpk+fjmbNmn3SmxMREREREX3uhg8fjkGDBikte39UEQC8vLzw6NGjfF8jMDAQP/zwAzIyMvKSvzflp6ampkptBUHA1KlTMWDAANSoUeOT41YrWZTL5XkbJbye1efdZURERERERFpRjMtQ8ys5VVeFChUgFosRGhqK2rVrAwDCwsIgFovh7Oys1DY6OhrXrl3DnTt3sGHDBgBAamoqFixYgJMnT2LLli0Fek+1ksUGDRpg4cKF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GkRERERERPR5K1CySEREREREVKwVfN5OKqACJYsZGRnw8fH51zYsUSUiIiIiIvp8FChZFIvFGD16dGHHQkRERERERMVEgZJFAwMDdOvWrbBjISIiIiIi+iQiVqFqnF5BGgms/yUiIiIiIipRCpQsdu7cubDjICIiIiIiomKkQGWoCxYsKOw4iIiIiIiIPh2rITWuQCOLREREREREVLIwWSQiIiIiIiIVBSpDJSIiIiIiKs5Ecm1H8PnhyCIRERERERGpYLJIREREREREKliGSkREREREuo+zoWocRxaJiIiIiIhIBZNFIiIiIiIiUsEyVCIiIiIi0n2sQtU4jiwSERERERGRCiaLREREREREpIJlqEREREREpPNEnA1V4ziySERERERERCqYLBIREREREZEKlqESEREREZHuYxmqxnFkkYiIiIiIiFQwWSQiIiIiIiIVLEMlIiIiIiLdJ9d2AJ8fjiwSERERERGRCiaLREREREREpIJlqEREREREpPNEnA1V4ziySERERERERCqYLBIREREREZEKlqESEREREZHuYxmqxnFkkYiIiIiIiFQwWSQiIiIiIiIVLEMlIiIiIiLdxzJUjePIIhEREREREalgskhEREREREQqWIZKRERERES6T67tAD4/IkFgcS8REREREem2tu7ztB3CB528tUDbIXwSlqESERERERGRimJRhuqybLW2QygxQqZPAADUHcE+Lyo3N7/u8+Hs86Jyc4uiz6vNYp8XlcDFij6vsoh9XlQezVH0efXp7POi8mCZos89js/UciQlR0D7JQAAeYyrliMpOfTsg7UdwicTsWBS4ziySERERERERCqYLBIREREREZGKYlGGSkRERERE9J+wDFXjOLJIREREREREKpgsEhERERERkQqWoRIRERERke5jGarGcWSRiIiIiIiIVDBZJCIiIiIiIhUsQyUiIiIiIt3HMlSN48giERERERERqWCySERERERERCpYhkpERERERLpPru0APj8cWSQiIiIiIiIVTBaJiIiIiIhIBctQiYiIiIhI54k4G6rGcWSRiIiIiIiIVDBZJCIiIiIiIhUsQyUiIiIiIt3HMlSN48giERERERERqWCySERERERERCrUThbT0tLw008/AQBCQ0PxxRdf4Ouvv0ZsbKymYyMiIiIiIioYuVB8/3SU2sniokWLsH//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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Correlation = pd.DataFrame(combined_data[['Pclass','Sex','Age','Fare','Cabin','Embarked','Title','Relatives']])\n", + "colormap = plt.cm.viridis\n", + "plt.figure(figsize=(12,10))\n", + "plt.title('Pearson Correlation of Features', y=1.05, size=15)\n", + "sns.heatmap(Correlation.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, cmap=colormap, linecolor='white', annot=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Age和Fare变量正则化:将它们压缩到0-1" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SurvivedPclassSexAgeFareCabinEmbarkedTitleRelatives
001.01.00.2734560.0566050.00.00.00.1
110.00.00.4738820.2782641.01.00.40.1
211.00.00.3235630.0618360.00.00.20.0
310.00.00.4363020.2072921.00.00.40.1
401.01.00.4363020.0628510.00.00.00.0
\n", + "
" + ], + "text/plain": [ + " Survived Pclass Sex Age Fare Cabin Embarked Title \\\n", + "0 0 1.0 1.0 0.273456 0.056605 0.0 0.0 0.0 \n", + "1 1 0.0 0.0 0.473882 0.278264 1.0 1.0 0.4 \n", + "2 1 1.0 0.0 0.323563 0.061836 0.0 0.0 0.2 \n", + "3 1 0.0 0.0 0.436302 0.207292 1.0 0.0 0.4 \n", + "4 0 1.0 1.0 0.436302 0.062851 0.0 0.0 0.0 \n", + "\n", + " Relatives \n", + "0 0.1 \n", + "1 0.1 \n", + "2 0.0 \n", + "3 0.1 \n", + "4 0.0 " + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "min_max_list = ['Embarked', 'Sex', 'Title', 'Relatives', 'Fare', 'Pclass', 'Age', 'Cabin']\n", + "scale_age_fare = preprocessing.MinMaxScaler().fit(combined_data[min_max_list])\n", + "combined_data[min_max_list] = scale_age_fare.transform(combined_data[min_max_list])\n", + "combined_data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "先选择Xgboost尝试一下,在向下进行之前,我们先定义一个函数,它可以帮助我们建立XGBoost models 并进行交叉验证。" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SurvivedAgeFareCabinRelativesEmbarked_0.0Embarked_0.5Embarked_1.0Sex_0.0Sex_1.0Pclass_0.0Pclass_0.5Pclass_1.0Title_0.0Title_0.2Title_0.4Title_0.6000000000000001Title_0.8Title_1.0
000.2734560.0566050.00.110001001100000
110.4738820.2782641.00.100110100001000
210.3235630.0618360.00.010010001010000
310.4363020.2072921.00.110010100001000
400.4363020.0628510.00.010001001100000
\n", + "
" + ], + "text/plain": [ + " Survived Age Fare Cabin Relatives Embarked_0.0 Embarked_0.5 \\\n", + "0 0 0.273456 0.056605 0.0 0.1 1 0 \n", + "1 1 0.473882 0.278264 1.0 0.1 0 0 \n", + "2 1 0.323563 0.061836 0.0 0.0 1 0 \n", + "3 1 0.436302 0.207292 1.0 0.1 1 0 \n", + "4 0 0.436302 0.062851 0.0 0.0 1 0 \n", + "\n", + " Embarked_1.0 Sex_0.0 Sex_1.0 Pclass_0.0 Pclass_0.5 Pclass_1.0 \\\n", + "0 0 0 1 0 0 1 \n", + "1 1 1 0 1 0 0 \n", + "2 0 1 0 0 0 1 \n", + "3 0 1 0 1 0 0 \n", + "4 0 0 1 0 0 1 \n", + "\n", + " Title_0.0 Title_0.2 Title_0.4 Title_0.6000000000000001 Title_0.8 \\\n", + "0 1 0 0 0 0 \n", + "1 0 0 1 0 0 \n", + "2 0 1 0 0 0 \n", + "3 0 0 1 0 0 \n", + "4 1 0 0 0 0 \n", + "\n", + " Title_1.0 \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 " + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 对Embarked和male特征进行one-hot/get_dummies编码\n", + "new_combine = pd.get_dummies(combined_data, columns=['Embarked', 'Sex', 'Pclass', 'Title'])\n", + "new_combine.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "把训练集和测试集分离:" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeFareCabinRelativesEmbarked_0.0Embarked_0.5Embarked_1.0Sex_0.0Sex_1.0Pclass_0.0Pclass_0.5Pclass_1.0Title_0.0Title_0.2Title_0.4Title_0.6000000000000001Title_0.8Title_1.0
00.2734560.0566050.00.110001001100000
10.4738820.2782641.00.100110100001000
20.3235630.0618360.00.010010001010000
30.4363020.2072921.00.110010100001000
40.4363020.0628510.00.010001001100000
50.3360890.0660520.00.001001001100000
60.6743080.2024521.00.010001100100000
70.0229240.0329480.00.410001001000001
80.3360890.0289660.00.210010001001000
90.1732430.1174270.00.100110010001000
\n", + "
" + ], + "text/plain": [ + " Age Fare Cabin Relatives Embarked_0.0 Embarked_0.5 \\\n", + "0 0.273456 0.056605 0.0 0.1 1 0 \n", + "1 0.473882 0.278264 1.0 0.1 0 0 \n", + "2 0.323563 0.061836 0.0 0.0 1 0 \n", + "3 0.436302 0.207292 1.0 0.1 1 0 \n", + "4 0.436302 0.062851 0.0 0.0 1 0 \n", + "5 0.336089 0.066052 0.0 0.0 0 1 \n", + "6 0.674308 0.202452 1.0 0.0 1 0 \n", + "7 0.022924 0.032948 0.0 0.4 1 0 \n", + "8 0.336089 0.028966 0.0 0.2 1 0 \n", + "9 0.173243 0.117427 0.0 0.1 0 0 \n", + "\n", + " Embarked_1.0 Sex_0.0 Sex_1.0 Pclass_0.0 Pclass_0.5 Pclass_1.0 \\\n", + "0 0 0 1 0 0 1 \n", + "1 1 1 0 1 0 0 \n", + "2 0 1 0 0 0 1 \n", + "3 0 1 0 1 0 0 \n", + "4 0 0 1 0 0 1 \n", + "5 0 0 1 0 0 1 \n", + "6 0 0 1 1 0 0 \n", + "7 0 0 1 0 0 1 \n", + "8 0 1 0 0 0 1 \n", + "9 1 1 0 0 1 0 \n", + "\n", + " Title_0.0 Title_0.2 Title_0.4 Title_0.6000000000000001 Title_0.8 \\\n", + "0 1 0 0 0 0 \n", + "1 0 0 1 0 0 \n", + "2 0 1 0 0 0 \n", + "3 0 0 1 0 0 \n", + "4 1 0 0 0 0 \n", + "5 1 0 0 0 0 \n", + "6 1 0 0 0 0 \n", + "7 0 0 0 0 0 \n", + "8 0 0 1 0 0 \n", + "9 0 0 1 0 0 \n", + "\n", + " Title_1.0 \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "5 0 \n", + "6 0 \n", + "7 1 \n", + "8 0 \n", + "9 0 " + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_train_data = new_combine[:891]\n", + "new_train_data.drop(['Survived'], axis=1, inplace=True)\n", + "new_test_data = new_combine[891:]\n", + "new_test_data.drop(['Survived'], axis=1, inplace=True)\n", + "target = train_data['Survived'].values\n", + "new_train_data[:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "经过了类似one-hot的特征编码以后,新增加了很多的特征,更容易看出来特征之间的关联性,重新绘制一张热图如下:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLwAAARtCAYAAABfvVywAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1zTx//A8VeAsDeoOBAcDPdCXLj33rPVarV11bZaW61WW1fV2moVR7WOWqtfa93WUffee6DgQpYLAdkz+f0RiMbEhSDK7/3sg0fl87kk77vPfe6S4+6iUKvVaoQQQgghhBBCCCGEyCeM8joAIYQQQgghhBBCCCFykgx4CSGEEEIIIYQQQoh8RQa8hBBCCCGEEEIIIUS+IgNeQgghhBBCCCGEECJfkQEvIYQQQgghhBBCCJGvyICXEEIIIYQQQgghhMhXZMBLCCGEEEIIIYQQQuQrMuAlhBBCCCGEEEIIIfIVGfASQgghhBBCCCGEEPmKSV4HIIQQQvx/sH79er799lu940ZGRpibm+Pi4kLdunX59NNPcXZ2zoMI308JCQls3bqVf//9l9u3bxMdHY29vT2VKlWiZ8+e+Pn55XWILxUWFkbjxo2pWrUq//vf/7L9PFevXiUsLIymTZtqj3l5eVGoUCEOHjyYE6G+NevXr+e3334jIiICW1tbVqxYQalSpQymbdSoEeHh4S99zo0bN1KmTJmcDlVPfHw8a9as4eOPP8711xJCCCHE88mAlxBCCPEWeXt706RJE+3varWapKQkzp07x/Lly9m5cyf//PMPBQoUyMMo3w+XL19m+PDhhISEUKpUKerWrYuDgwMhISHs27eP3bt3079/f7755pu8DjXXHThwgEGDBvHpp5/qDHh99tlnWFtb52Fkr+/GjRuMGTMGCwsLevTogYmJCcWKFXvp4/r06YOtre1zz7+tgeTmzZtjbGwsA15CCCFEHpMBLyGEEOItKlOmDMOGDTN47ptvvmHTpk34+/szceLEtxzZ+yUsLIy+ffuSnJzM9OnTad++PQqFQud8v379WLJkCQUKFKBfv355GG3ue/ToESqVSu/48+rau+zatWuo1Wo6duzId99998qP++ijj15pYCy3RUZGUqhQobwOQwghhPh/T/bwEkIIId4RgwYNAmDfvn15HMm7b9y4ccTFxfH999/ToUMHncEugGLF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rx7kcnn2HF6+vr5ISkrC7NmzpY5JRALjkEYiIiIiIiIqV61atcKuXbtQq1atPOvCwsIwfPhwnDt3ToJkRKQtdKQOQERERERERO8WpVKJKlWq5LvOwsIC6enp5ZyIiLQNG7yIiIiIiIioXDk5OcHDwwOxsbG5lsfHx2PhwoVwdnaWKBkRaQsOaSQiIiIiIqJyFR8fj2nTpuHy5cswMzODsbExkpOT8ezZMzg4OOCHH36AhYWF1DGJSGBs8CIiIiIiIiJJPHr0CCEhIVAoFDA2NoaNjQ1q164tdSwi0gJs8CIiIiIiIqJyl5aWBplMBj09PSQmJuLKlStQqVRo1aoVDAwMpI5HRILTkzoAERERERERvVuuXbuGiRMnYsuWLTAwMMCYMWOQmJgIlUoFMzMzbNmyBXXr1pU6JhEJjJPWExERERERUbny8fHBmDFj0LBhQ/j4+KB///4IDAzE5cuX0bNnTyxatEjqiEQkOA5pJCIiIiIionLl4OCAy5cvQyaToVWrVjh9+nT2MMbU1FS0atUKgYGBEqckIpGxhxcRERERERGVq4oVKyIsLAwAUL16dcTHx2evi4mJQaVKlSRKRkTagg1eREREREREVK7c3NwwceJEXLhwAePHj8esWbNw8eJFnD59GmPHjkWfPn2kjkhEguOQRiIiIiIiIipXKpUKa9euxc8//4wXL14g67ZUT08Pffr0gZeXF/T19SVOSUQiY4MXERERERERSSIjIwMPHjxAQkICDAwMUKdOHVSoUEHqWESkBdjgRUREREREREREWoVzeBEREREREZFGadGihdQRiEhwbPAiIiIiIiIijfLNN99IHYGIBMchjUREREREREREpFX0pA5ARERERERE754nT57g999/R3BwMJKSkmBiYgIbGxv0798ftWvXljoeEQmOQxqJiIiIiIioXJ06dQrdunXD9evXYW1tjWbNmqFWrVoICgpC//798c8//0gdkYgExyGNREREREREVK569+6NKVOmoGfPnnnWHT58GL6+vvDz85MgGRFpC/bwIiIiIiIionIVGRmJ7t2757uue/fuiIyMLOdERKRt2OBFRERERERE5apWrVo4depUvuuOHTsGa2vr8g1ERFqHk9YTERERERFRuZo1axamTp2Kli1bwtbWFsbGxkhOTkZoaCj8/f2xdu1aqSMSkeA4hxcRERERERGVu4cPH2L//v0IDQ2FQqGAXC7PfkrjBx98IHU8IhIcG7yIiIiIiIhIY40fPx4bN26UOgYRCYZzeBEREREREZHGunz5stQRiEhAbPAiIiIiIiIiIiKtwgYvIiIiIiIiIiLSKmzwIiIiIiIiIiIircIGLyIiIiIiIiIi0ips8CIiIiIiIiIiIq3CBi8iIiIiIiLSWCqVSuoIRCQgNngRERERERGRpBISEnDjxg1kZGQgNTU117ply5ZJlIqIRMYGLyIiIiIiIpKEQqHAzJkz4ezsjBEjRuDhw4fo2rUr7t+/n/2ebt26SZiQiETFBi8iIiIiIiKSxPLly5GUlIQ///wT+vr6sLa2RseOHeHt7S11NCISnJ7UAYiIiIiIiOjddPLkSfj5+cHMzAwymQz6+vqYO3cu2rVrJ3U0IhIce3gRERERERGRJDIyMmBgYADg9eT0OZcREZUUG7yIiIiIiIhIEi4uLli0aBGSk5Mhk8kAAKtWrYKTk5PEyYhIdDIVn/FKREREREREEoiLi4O7uztu3bqF9PR0GBkZoU6dOli/fj2qVq0qdTwiEhgbvIiIiIiIiEgyKpUKQUFBiIiIQLVq1WBnZwddXV2pYxGR4NjgRUREREREROUqMjKyyPfUqFGjHJIQkbZigxcRERERERGVqwYNGkAmk2VPVJ81fxeQ2eNLJpPh9u3bUsUjIi3ABi8iIiIiIiIqVxEREUW+p2bNmuWQhIi0FRu8iIiIiIiISBLu7u7w9fXNs3zEiBHYvn27BImISFvoSR2AiIiIiIiI3h3h4eHYv38/AODs2bNYs2ZNrvWJiYm4c+eOBMmISJuwwYuIiIiIiIjKTY0aNRASEoL4+Hikp6fj0qVLudYbGhrC09NTonREpC04pJGIiIiIiIgk4eHhgcWLF0sdg4i0EBu8iIiIiIiIqFxFRUWhWrVqiIyMLPA9NWrUKMdERKRt2OBFRERERERE5apx48a4efMmGjRoAJlMhqzb0qz/l8lkuH37tsQpiUhknMOLiIiIiIiIylVGRgYA4Pjx4xInISJtxQYvIiIiIiIiKldyuRwAULNmTYmTEJG20pE6ABERERERERERUVniHF5ERERERERUrho2bFjkpPQc7khEpcEhjURERERERFSu9PX1MWXKFKljEJEWY4MXERERERERlSs9PT0MHDhQ6hhEpMU4hxcRERERERGVK86sQ0RvGxu8iIiIiIiIqFz169dP6ghEpOU4aT0REREREREREWkV9vAiIiIiIiIiIiKtwgYvIiIiIiIiIiLSKmzwIiIiIiIiIiIircIGLyIiIiIiIiIi0ips8CIiIiIiIiIiIq3CBi8iIiIiIiIiItIqbPAiIiIiIiIiIiKt8v+zU6MeQ/sC5wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "colormap = plt.cm.viridis\n", + "plt.figure(figsize=(14,12))\n", + "plt.title('Pearson Correlation of Features', y=1.05, size=15)\n", + "sns.heatmap(new_train_data.astype(float).corr(),linewidths=0.2,vmax=1.0, square=True, cmap=colormap, linecolor='white', annot=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "使用XGboost对取得的数据进行训练" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Age Fare Cabin Relatives Embarked_0.0 Embarked_0.5 \\\n", + "862 0.599148 0.202452 1.0 0.0 1 0 \n", + "223 0.348616 0.061680 0.0 0.0 1 0 \n", + "84 0.210823 0.081980 0.0 0.0 1 0 \n", + "680 0.411249 0.063554 0.0 0.0 0 1 \n", + "535 0.085557 0.068317 0.0 0.2 1 0 \n", + "\n", + " Embarked_1.0 Sex_0.0 Sex_1.0 Pclass_0.0 Pclass_0.5 Pclass_1.0 \\\n", + "862 0 1 0 1 0 0 \n", + "223 0 0 1 0 0 1 \n", + "84 0 1 0 0 1 0 \n", + "680 0 1 0 0 0 1 \n", + "535 0 1 0 0 1 0 \n", + "\n", + " Title_0.0 Title_0.2 Title_0.4 Title_0.6000000000000001 Title_0.8 \\\n", + "862 0 0 1 0 0 \n", + "223 1 0 0 0 0 \n", + "84 0 1 0 0 0 \n", + "680 0 1 0 0 0 \n", + "535 0 1 0 0 0 \n", + "\n", + " Title_1.0 \n", + "862 0 \n", + "223 0 \n", + "84 0 \n", + "680 0 \n", + "535 0 \n", + "[13:24:41] WARNING: C:/buildkite-agent/builds/buildkite-windows-cpu-autoscaling-group-i-08de971ced8a8cdc6-1/xgboost/xgboost-ci-windows/src/learner.cc:767: \n", + "Parameters: { \"learn_rate\" } are not used.\n", + "\n", + "\n", + "test_score: 0.7888888888888889\n" + ] + } + ], + "source": [ + "# combined_data.to_csv('Check.csv' , index=False)\n", + "\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import xgboost as xgb\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.model_selection import GridSearchCV\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingClassifier\n", + "from sklearn import model_selection\n", + "from sklearn.preprocessing import LabelEncoder\n", + " \n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "\n", + "\n", + "X_train,X_test,y_train,y_test = train_test_split(new_train_data,target,test_size = 0.1,random_state = 1)\n", + "print(X_test[:5])\n", + " \n", + "model = xgb.XGBClassifier(max_depth=5, n_estimators=200, learn_rate=0.1)\n", + "model.fit(X_train, y_train) \n", + "test_score = model.score(X_test, y_test)\n", + "print('\\ntest_score: {0}'.format(test_score))\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "结果:在验证集上取得了不错的效果。接下来放到测试集里面跑出一个结果\n" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvived
08920
18930
28940
38950
48961
58970
68981
78990
89001
99010
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived\n", + "0 892 0\n", + "1 893 0\n", + "2 894 0\n", + "3 895 0\n", + "4 896 1\n", + "5 897 0\n", + "6 898 1\n", + "7 899 0\n", + "8 900 1\n", + "9 901 0" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred = model.predict(new_test_data)\n", + "submit = pd.read_csv('./data/gender_submission.csv')\n", + "submit['Survived'] = y_pred\n", + "submit.to_csv('my_Titan_prediction.csv', index=False)\n", + "submit.head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 总结\n", + " 对于该任务,由于数据集中数据出现的各种问题,例如数据缺失及数据冗余,需要对数据进行联合分析进行数据处理,该过程是十分复杂的,所以进行数据的特征处理是数据分析的一个重要手段。\n", + " 其次,该问题是一个简单的二分类问题,但是数据是多维的,如何处理数据之间的关联性是一个问题,这对其他的问题都是有指导性意义的。" + ] + } + ], + "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.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_02_Titanic/Report_02_Titanic.pdf b/report_02_Titanic/Report_02_Titanic.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ebcf88a08dfe10dbafd6008eaf44216055f56013 Binary files /dev/null and b/report_02_Titanic/Report_02_Titanic.pdf differ diff --git a/report_02_Titanic/images/age.png b/report_02_Titanic/images/age.png new file mode 100644 index 0000000000000000000000000000000000000000..8b01d3b01a7fffbe6e66ff4f947bd65ad69f5320 Binary files /dev/null and b/report_02_Titanic/images/age.png differ diff --git a/report_02_Titanic/images/feature.png b/report_02_Titanic/images/feature.png new file mode 100644 index 0000000000000000000000000000000000000000..f1df2a3947c5a890ada32830bfe5d6bb4a4aa694 Binary files /dev/null and b/report_02_Titanic/images/feature.png differ diff --git a/report_02_Titanic/my_Titan_prediction.csv b/report_02_Titanic/my_Titan_prediction.csv new file mode 100644 index 0000000000000000000000000000000000000000..56185819ecc459d42b8dcbd21d33ac8c37d8244b --- /dev/null +++ b/report_02_Titanic/my_Titan_prediction.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,0 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,0 +911,0 +912,0 +913,1 +914,1 +915,0 +916,1 +917,0 +918,1 +919,1 +920,1 +921,0 +922,0 +923,0 +924,1 +925,1 +926,1 +927,0 +928,0 +929,0 +930,0 +931,1 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,1 +940,1 +941,1 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,1 +954,0 +955,1 +956,1 +957,0 +958,1 +959,0 +960,1 +961,1 +962,1 +963,0 +964,0 +965,1 +966,1 +967,0 +968,0 +969,1 +970,0 +971,1 +972,1 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,1 +982,1 +983,0 +984,0 +985,1 +986,0 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,1 +1009,1 +1010,0 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,0 +1020,1 +1021,0 +1022,0 +1023,0 +1024,0 +1025,0 +1026,0 +1027,0 +1028,1 +1029,0 +1030,0 +1031,0 +1032,0 +1033,1 +1034,0 +1035,0 +1036,1 +1037,0 +1038,0 +1039,0 +1040,1 +1041,0 +1042,1 +1043,0 +1044,0 +1045,1 +1046,0 +1047,0 +1048,1 +1049,0 +1050,1 +1051,1 +1052,0 +1053,1 +1054,1 +1055,0 +1056,0 +1057,1 +1058,0 +1059,0 +1060,1 +1061,0 +1062,0 +1063,1 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,1 +1076,1 +1077,0 +1078,1 +1079,0 +1080,0 +1081,0 +1082,0 +1083,0 +1084,1 +1085,0 +1086,1 +1087,0 +1088,1 +1089,0 +1090,0 +1091,1 +1092,1 +1093,1 +1094,1 +1095,1 +1096,0 +1097,0 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,1 +1106,0 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,0 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,1 +1127,0 +1128,0 +1129,1 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,0 +1142,1 +1143,0 +1144,0 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,0 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,0 +1173,1 +1174,0 +1175,0 +1176,1 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,1 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,1 +1200,0 +1201,0 +1202,0 +1203,1 +1204,0 +1205,1 +1206,1 +1207,1 +1208,1 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,1 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,1 +1225,1 +1226,0 +1227,0 +1228,1 +1229,0 +1230,0 +1231,1 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,0 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,1 +1247,1 +1248,1 +1249,0 +1250,0 +1251,1 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,0 +1258,0 +1259,1 +1260,1 +1261,1 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,0 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,0 +1283,1 +1284,1 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,0 +1296,0 +1297,1 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,0 +1305,0 +1306,1 +1307,0 +1308,0 +1309,1 diff --git a/report_03_Fashion/Report_03_Fashion.ipynb b/report_03_Fashion/Report_03_Fashion.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..002697a69436352766091f90e47ec5ba9543fe1e --- /dev/null +++ b/report_03_Fashion/Report_03_Fashion.ipynb @@ -0,0 +1,616 @@ +{ + "cells": [ + { + "attachments": { + "20181210160234709.png": { + "image/png": "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yfn5eTZs2MCf/umf8l//639lfn6evXv30ul0+OVf/mWazSZDN910Ezt27OCGG25g6GMf+xh33XUXf/VXf0WpVOL222/n29/+NrfddhvmpptuYvfu3bzrXe+iWq1y++238+lPf5q9e/cyVC6X+f3f/32mp6d529vexpmcc3zsYx/jgQce4NZbb2Vo69atfPjDH+aP//iPOXjwILfddhvvf//7ue+++xi69tprefvb384NN9xAt9vl9ttv584772Tv3r0MjY6O8kd/9EecOnWKX/mVX2Fo7969NJtNbrzxRtrtNkO33HIL3ntuvvlmzmbv3r00m01uvPFG2u02Q7fccgvee26++WaG/uRP/oQDBw7wkY98BPOe97znguuuuw7vPeVymX6/T7/fp9PpkCQJ5XIZVaXValGr1RgqioJms8n4+DhD3W6XpaUl1q9fz9CRI0dOlkqlJ9M05Y477uArX/kKf/RHf4S55ZZb8N5z8803UyqVuP322/n2t7/Nbbfdhrnpppu46qqr+B//43+wdetWSqUSv/Zrv8Z9993H0LXXXsvb3/52brjhBvI85/bbb+fb3/42t912G+amm25i9+7dvOtd76IoCvbu3Uuz2eTGG2+k3W4zdMstt+C95+abb2ZkZITbb7+dT3/60+zdu5ehcrnM7//+7zM9Pc3b3vY2tm3bxm233cb73/9+7rvvPoauvfZa3v72t3PDDTfQbrfZu3cvzWaTG2+8kXa7zdD73vc+SqUSf/EXf8HQq171Kr71rW/x13/91wy96U1votlscuONN9Jutxm65ZZb8N5z8803M/Qnf/InHDhwgI985COY97znPezYsYN3v/vdPOsCzoGoKlEURWuJqrK0tESv12NmZgbnHKpKr9ej1WoxNTXFULPZJM9z6vU6Q81mkzzPqdfrqCqNRoNOp8PMzAxJkqCqDAYDlpeXmZycRFVZWlqiVqtRLpcZarfbNBoN1q9fj3OOZrOJ956RkRGSJEFVmZ2dZSV+p6kAABSVSURBVP369SRJgqoyOzvL+vXrSZKERqNBt9tlZmYG5xyqymAwoNFoMD09jarSaDRwzjE2NoaqMj8/T6lUol6vM6SqDAYDGo0GU1NTDM3OzjI6OsrY2BhDqkqv12NxcZGNGzdyJlVlYWGBNE2p1+sM5XnOyZMnGR8fp1KpsLS0RK1Wo1wuM9Ru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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report -03- Fashion \n", + "* 张达\n", + "* 2022100847\n", + "\n", + "# 任务简介\n", + " > 1.背景介绍
\n", + " FashionMNIST 是一个替代 [MNIST 手写数字集](https://link.zhihu.com/?target=http%3A//yann.lecun.com/exdb/mnist/)的图像数据集。 它是由 Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片,,分别是:t-shirt(T恤),trouser(牛仔裤),pullover(套衫),dress(裙子),coat(外套),sandal(凉鞋),shirt(衬衫),sneaker(运动鞋),bag(包),ankle boot(短靴)。
\n", + " FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分,28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,**且不需要改动任何的代码**。\n", + " \n", + " > 2.任务目的
\n", + " ①构建深度神经网络,完成多分类。
\n", + " ②编写爬虫程序,到taobao等网站抓取一些衣服、鞋子的图片,并利用训练好的模型进行分类。\n", + " \n", + " > 3.数据特征\n", + "![20181210160234709.png](attachment:20181210160234709.png)
\n", + "Fashion-MNIST总共有十个类别的图像。每一个类别由训练数据集6000张图像和测试数据集1000张图像,训练集和测试集分别包含60000张和10000张。
测试训练集用于评估模型的性能每一个输入图像的高度和宽度均为28像素。数据集由灰度图像组成。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 解决途径" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1.数据介绍
\n", + "Fashion MNIST数据集存在四个npy文件,分别代表的训练集特征和标签,测试集特征和标签。每个图像是一个28×28的numpy数组,每个像素值在0到255之间。标签在0-9之间,代表着衣服的类型。
\n", + "我们将使用其中的6万张进行训练网络,另外的1万张来评估准确率。
\n", + "2.图像预处理
\n", + "在将标记好特征的训练集图像传入机器训练模型之前,对数字图像进行降噪、边缘增强、背景模糊、池化等预处理。以期在保留关键信息的前提下尽量增强图像特征信息并祛除无用干扰噪声。 图像预处理不仅能显著提高训练模型的检测和识别精确度,而且可以大大降低模型训练的时间复杂度并节省系统性能开销,提高训\n", + "练效率。因而,图像预处理是图像分类等项目不可缺少的重要一环。为了简洁,本报告省略。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1.问题分析\n", + "1.分类方法
\n", + "![classification.png](images/classification.png)
\n", + "2.总体思路
\n", + "![流程图.png](images/流程图.png)
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "使用Pytorch中的内置数据集下载。" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "60000\n" + ] + } + ], + "source": [ + "import torch\n", + "import torchvision\n", + "from torchvision import transforms\n", + "from torch.utils.data import Dataset, DataLoader\n", + "import matplotlib.pyplot as plt\n", + "import torch.nn as nn\n", + "import torch.nn.functional as F\n", + "import torch.optim as optim\n", + "import numpy as np\n", + "import pandas as pd\n", + " \n", + "# 将内置数据集的图片大小转为1*28*28后转化为tensor\n", + "# 可以对图片进行增广以增加精确度\n", + "train_transform = transforms.Compose([\n", + " transforms.Resize(28),\n", + " transforms.ToTensor()\n", + "])\n", + "# test_transform = transforms.Compose([])\n", + " \n", + "train_data = torchvision.datasets.FashionMNIST(root='./data', train=True, download=True,\n", + " transform=train_transform)\n", + "test_data = torchvision.datasets.FashionMNIST(root='./data', train=False, download=True,\n", + " transform=train_transform)\n", + " \n", + "print(len(train_data)) # 长度为60000\n", + "# print(train_data[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "调用DataLoader包迭代数据,shuffle用于打乱数据集,训练集需要打乱,测试集不用打乱" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "from torch.utils.data import DataLoader\n", + "\n", + "batch_size = 256\n", + "num_workers = 0\n", + "train_iter = DataLoader(train_data, batch_size=batch_size, shuffle=True, num_workers=num_workers)\n", + "test_iter = DataLoader(test_data, batch_size=batch_size, shuffle=False, num_workers=num_workers)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "图片可视化" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7UAAAGHCAYAAABvdHW6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAADKgklEQVR4nOydeZgcVdX/T3X1NvueSSaTfU8ghCUQ9gBC2FcBwQXFDQQFfUVFQBY3XPDF158iCoqKbIKIsiqyL2EPEJKQfZ3MJJl9pqfXqt8fmDrn3Ey1k2RIT/d8P8+TJ6f7nq6+Xbfuraqp7znHcl3XJQAAAAAAAAAAIA8J5LoDAAAAAAAAAADAroKbWgAAAAAAAAAAeQtuagEAAAAAAAAA5C24qQUAAAAAAAAAkLfgphYAAAAAAAAAQN6Cm1oAAAAAAAAAAHkLbmoBAAAAAAAAAOQtuKkFAAAAAAAAAJC34KYWAAAAAAAAAEDeMmxuaj/96U+TZVm+/xYuXJjrLoJd4JlnnsGYFihPPfUUXXjhhTR9+nQqKSmh0aNH02mnnUZvvPFGrrsGBoG33nqLTj/9dGpoaKDi4mKaPn063XDDDRSLxXLdNTCI3HbbbWRZFpWWlua6K2CQwdgWDj09PXT55ZdTQ0MDRaNRmjNnDt1zzz257hbYTYbbNXIw1x3YU1xzzTV00UUX7fD+KaecQpFIhObOnZuDXoHB4gc/+AEdddRR6r299torR70Bg8Ett9xCra2tdNlll9HMmTNp69atdNNNN9G8efPoiSeeoKOPPjrXXQS7yJIlS+iQQw6hadOm0c0330y1tbX03HPP0Q033EBvvPEGPfTQQ7nuIhgENm3aRF//+tepoaGBOjs7c90dMIhgbAuLM888k1577TW68cYbaerUqXTXXXfReeedR47j0Pnnn5/r7oHdZLhcIw+bm9pJkybRpEmT1HvPPvssbdu2ja6++mqybTtHPQODwZQpU2jevHm57gYYRH75y1/SiBEj1HvHH388TZ48mX7wgx/gpjaPueuuuygej9MDDzzgrctHH300bd68mX7zm99Qe3s7VVVV5biXYHe56KKL6IgjjqDq6mq6//77c90dMIhgbAuHRx99lP71r395N7JEREcddRStW7eOrrjiCjr33HNxjZznDJdr5GEjP+6P22+/nSzLogsvvDDXXQEAGJg3tEREpaWlNHPmTNqwYUMOegQGi1AoREREFRUV6v3KykoKBAIUDodz0S0wiNx555307LPP0q9+9atcdwUMMhjbwuLBBx+k0tJSOvvss9X7n/nMZ6ipqYleeeWVHPUMgJ1j2N7UdnZ20v3330/HHHMMTZgwIdfdAbvJJZdcQsFgkMrLy2nBggX0wgsv5LpL4EOgs7OT3nzzTZo1a1auuwJ2gwsuuIAqKyvp4osvptWrV1N3dzc9/PDDdOutt9Ill1xCJSUlue4i2A22bNlCl19+Od14443U2NiY6+6AQQRjW3gsXryYZsyYQcGgFm/Onj3bawf5zXC5Rh428mOTu+++m/r6+uizn/1srrsCdoOKigq67LLLaP78+VRTU0MrV66kn/zkJzR//nx65JFHaMGCBbnuIhhELrnkEurt7aWrrroq110Bu8H48ePp5ZdfpjPOOEOFhXzlK1+hm2++OXcdA4PCl770JZo2bRpdfPHFue4KGGQwtoVHa2srTZw4cYf3q6urvXaQnwy3a+Rhe1N7++23U01NDZ1xxhm57grYDfbdd1/ad999vdeHH344nXHGGbT33nvTN77xjYKbsMOZa665hv785z/TL37xC9p///1z3R2wG6xdu5ZOOeUUqq+vp/vvv5/q6urolVdeoe9973vU09NDt99+e667CHaRBx54gP7xj3/QW2+9RZZl5bo7YBDB2BYu2cYTY52/DLdr5GF5U/vOO+/Q66+/TpdddhlFIpFcdwcMMpWVlXTyySfTr3/9a+rr66OioqJcdwnsJtdffz1973vfo+9///t06aWX5ro7YDf51re+RV1dXbRo0SJPanzEEUdQbW0tXXjhhfSpT32KjjzyyBz3EuwsPT09dMkll9CXv/xlamhooI6ODiIiSiaTRETU0dFBoVAI8vI8BGNbuNTU1PT7NLatrY2I+IktKAwK+Rp5WMbUbn8K8LnPfS7HPQEfFq7rEhH+wlgIXH/99XTdddfRddddR9/+9rdz3R0wCCxatIhmzpy5wwXw9tJqiOHKT7Zt20YtLS100003UVVVlffv7rvvpt7eXqqqqqKPf/zjue4m2AUwtoXL3nvvTUuXLqV0Oq3ef/fdd4moMEu/DHcK9Rp52D2pTSQSdOedd9KBBx6IiVqgtLe308MPP0xz5syhaDSa6+6A3eC73/0uXXfddXT11VfTtddem+vu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VTnsIdgVjj/+eFq0aBGtXr2aiouLiYiou7ubJk6cSFOnTi3IJ7bDTn5855130rPPPosTLgAADCFuv/12siyLLrzwwlx3Bewit912G/X29tI3v/nNXHcFDDLmDS0RUWlpKc2cOZM2bNiQgx6BwSIUChERUUVFhXq/srKSAoEAhcPhXHQL7CYvvvgizZ8/37uhJSIqKyujI444gl566SXavHlzDnv34TCsbmq3bNlCl19+Od14443U2NiY6+6AQeSSSy6hYDBI5eXltGDBAnrhhRdy3SUwSGBsC5/Ozk66//776ZhjjqEJEybkujtgF3nuueeourqali1bRnPmzKFgMEgjRoygiy66iLq6unLdPTDIdHZ20ptvvkmzZs3KdVfAbnDBBRdQZWUlXXzxxbR69Wrq7u6mhx9+mG699Va65JJLqKSkJNddBLtAMpmkSCSyw/vb33v33Xf3dJc+dIbVTe2XvvQlmjZtGl188cW57goYJCoqKuiyyy6jW2+9lZ5++mn6+c9/Ths2bKD58+fTE088kevugd0AYzt8uPvuu6mvr48++9nP5rorYDfYtGkTxWIxOvvss+ncc8+lJ598kq644gr64x//SCeeeCINw2inguaSSy6h3t5euuqqq3LdFbAbjB8/nl5++WVavHgxTZo0icrLy+mUU06hCy64gH7+85/nuntgF5k5cyYtXLiQHMfx3kun0/TKK68QEVFra2uuuvbh4Q4T7r//fjccDrvvvfee994FF1zglpSU5LBX4MOgvb3dbWxsdGfPnp3rroBBBmNbmBxwwAFuTU2NG4/Hc90VsBtMmTLFJSL3hz/8oXr/5ptvdonI/de//pWjnoHB5uqrr3aJyP3FL36R666A3WTNmjXu5MmT3UMPPdS9//773Weffdb98Y9/7JaXl7sXXnhhrrsHdpHbb7/dJSL34osvdjdu3OiuX7/e/exnP+vatu0SkXvPPffkuouDzrB4UtvT00OXXHIJffnLX6aGhgbq6Oigjo4OSiaTRETU0dFBvb29Oe4lGCwqKyvp5JNPpnfeeYf6+vpy3R0wiGBsC4933nmHXn/9dfrEJz7Rr1QK5A81NTVERLRgwQL1/gknnEBERG+++eYe7xMYfK6//nr63ve+R9///vfp0ksvzXV3wG7yrW99i7q6uuiJJ56gs846i4444gi64oor6Oabb6bf/e539Oyzz+a6i2AXuPDCC+nGG2+kP/3pT9TY2Ehjx46lJUuW0Ne//nUiIho9enSOezj4DIub2m3btlFLSwvddNNNVFVV5f27++67qbe3l6qqqujjH/94rrsJBhH3PzI3y7Jy3BMw2GBsC4vbb7+diIg+97nP5bgnYHeZPXt2v+9vn7OBwLC45Chorr/+erruuuvouuuuo29/+9u57g4YBBYtWkQzZ87cIXZ2e2m1xYsX56JbYBD45je/Sdu2baN3332X1q5dSy+99BK1t7dTSUkJ7b///rnu3qAzLOrUjhw5kp5++ukd3r/xxhvp2Wefpccee4xqa2tz0DPwYdDe3k4PP/wwzZkzh6LRaK67AwYRjG1hkUgk6M4776QDDzwQtYcLgLPOOot+85vf0GOPPUb77ruv9/6jjz5KRETz5s3LVdfAIPDd736XrrvuOrr66qvp2muvzXV3wCDR0NBAixcvpp6eHiotLfXef/nll4mIkFg1z4lEIt75df369XTvvffS5z//eSoqKspxzwafYXFTG41Gaf78+Tu8f8cdd5Bt2/22gfzg/PPPp7Fjx9IBBxxAtbW1tGLFCrrpppuopaWF7rjjjlx3D+wGGNvC529/+xu1tbXhKW2BcNxxx9Epp5xCN9xwAzmOQ/PmzaPXX3+drr/+ejr55JPpsMMOy3UXwS5y00030Xe+8x06/vjj6aSTTqKFCxeqdvzBIn+5/PLL6fTTT6djjz2WvvrVr1JtbS0tXLiQfvjDH9LMmTO98AGQXyxevJgeeOABOuCAAygSidDbb79NN954I02ZMqVga8Fbrjt80xF++tOfpvvvv596enpy3RWwi9x4441077330po1a6inp4eqq6vpsMMOoyuvvNKTzoD8BGNb+Bx33HFevbyysrJcdwcMAn19fXT99dfTXXfdRZs3b6aGhgb6+Mc/Ttdeey1ipvOY+fPnZ42tHMaXkgXB008/TTfeeCO988471NnZSWPGjKFTTjmFrrzySi9WHuQXy5cvp89//vPeU/ixY8fSxz72MfrWt75VsGWahvVNLQAAAAAAAACA/AZZGwAAAAAAAAAA5C24qQUAAAAAAAAAkLfgphYAAAAAAAAAQN6Cm1oAAAAAAAAAAHkLbmoBAAAAAAAAAOQtuKkFAAAAAAAAAJC3BHf1g47jUFNTE5WVlZFlWYPZJ5AF13Wpu7ubGhoaKBD4cP4mgbHd82BcCxeMbeGCsS1MMK6FC8a2cMHYFi4DHdtdvqltamqiMWPG7OrHwW6yYcMGamxs/FC2jbHNHRjXwgVjW7hgbAsTjGvhgrEtXDC2hct/G9tdvqktKysjIqLD6EQKUii7c7a/ZrjurnahX+wpEz276bg61VaxKu3ZmSj3KV6t7/pDvdynyofe8WwnnlB+VpB3n5tOiwbj98rfmK1tAKQpRS/Qo97+/zDYqbEFgwLGtXDB2BYuQ3psB3reNfws22a3TMb3c13nzPXs5Fkdyq1zfUW/Xzt3zkrtd3GVZ2dWrvHtE1kBYXKbOu8OIkN6XD9kes7kce2t19dGDX9e4tmZrm7fbay9/kDPTpfxMTT5a28MRhd3i2E3tnIuZbne7DzvwH7fr7j71d3e9p5i2I3tMGKgY7vLN7XbH7sHKURBazduammQb2rtCNuRqGoLhvgEaIW4T3ZYL9x2ivsUtMKe7ViO8rMscVMrf+MOvzfLTe3O/n53+2Y+PNnDTo0tGBwwroULxrZwGcpjO9DzrnlTa4mbWsuUefHn7DCfX+3iiPIKFOlz73ZCJWH1OijO15b8bdluakWb+2Ht96E8rh8ywZAY14gef3k9ZGXpcyDK2wgU8U3tkPidw21s1e/0v96U81mStf8D3PYeY7iN7XBigGO7yze1O8Ue/AtO+838Xac3PKvaRofbPXtzstKz/7V5uvKLJflA7endx7OLH3xFf5n4izaZf9GWDLG/ZgEAAChwsp1rspyTsj79FJ8LiFNeZ2exclt91q2evTHd49lHv3iJ8qs+sMizK5av8u0TufxlrvzbcpabX3KynJOHIYE5Mz27Y0a5aksL5VpG3NuUndCs/L512XOefYTwizlJ5ff7rlbP/sVfTvFs58h9lV/vSP6jRtm6GPd10XLl58TjBAaX7o/NU6+r3+7w7EAbP4VPHq7HLPD8W/wC17NgiIHsxwAAAAAAAAAA8hbc1AIAAAAAAAAAyFtwUwsAAAAAAAAAIG/ZMzG1A40pHWhwd5ZtnDlmkWe/1TlWtY2t5jiP9jTHAHU8M1L59Y3koJ3MOL7v11FDRG5CZEPe1cB0xNsCAADYk2TLfrz/LM9um6UzTfbVsa8jcqRM/06b8tuv4lzP7uziM+e0H8aU3+pzSjy76+pDPLt8rU7KWL66z7ND67Z6dnpTk/KTsbfDEbuKs0lvPn+Gagt385gXbdNx08VbeH+H2jh+1f31GuX3g/0+7tlf24/jcks36e1FHn3Ns8dZL3u2dcBeyq90I/cpUc3xtYkz5yi/ivc5xtN94z0CWQjY+rWILXcOm+PZJZt1NQ/n7aVsi/fDQb291MGcZ8Z6+W3/7/XpAwAfJnhSCwAAAAAAAAAgb8FNLQAAAAAAAACAvGVIlfRRRd93oqh68nguFn7f2k7P3rZZF4D/2HwuyTO9aLNnP92n3MgNcX8DohtS2kNElGnnEkHqN2aTYZCWVUFyPETIItnZVdLH7O/ZsRGs1Su/e+Fub3vYIMdFjkm28RJtdnmpcst0dNLOIiVbRESBFxb162cF9XK6M2sYAHuS2JkHeXbbND2XbFGdJaArtVBJM5+/5Llx/UdHK7/A02xXdfE5bss8XQuzeok4HwoVdLxKS6KbjmCZcibCdvmaccqv8o8v03Bmy5lcnrBso15/oltZbuoG9P51g/x8I1Utasweuo/yC69l6XfN7cs8267QJYJoxhTPdIpFbdtESrkF0jz+xdu49FNRSK+l8UaWwYc/hHN1QZFlf7TP4BJaNb8d2FxJr1mnXm/6GM/1RrkJ83tlWAPC7PKOLQ/xWjK6Ql83pebz/VOghNdjFZJJ+hooUGwEcE7m8NCWQ/nequ6W3VvD8aQWAAAAAAAAAEDegptaAAAAAAAAAAB5y56RHw8QJdczMjL2nnmgZzefpR9xz25c69lToyxhKW9YofzeT4zq93v3O+9d9Xp8EWdJfnrKVM9eNm2q8hv1HNuVz3Mf0s0t/X4PEe0omxzm2RqHDFkkO4Eoy7GceNzXr+XLh6jXt3/tZs9+rW+CZz94d90udHCY4jr9vm3K3dw+jiGQY5RNbmxXcnjCmstnqbYpR6327LrIStW2+bQRvP2WLdxg4W+EIMf4yfWJKDN/P89uncl+VcsHHhLj2nxetsTHSjbrbaQj7FfUzm3pqH+VAEdcjUTbdB9KWngbrthE23R9Pi057gDPDv3zdf0FBSqBDJSxNFdKwiOtWjveNYGlp5XLulWbE+Gd74Z4HbMcvZ+S4/nc5UzjqhGBll7lZ6lwLLku+p9n3SKWKbvG9V+khbNmByaPV22Z5at8tzlckKEvZthL+mgOg0pU+s8/KxTu9303pY+j8nU8F2VojhmWYwU55MpNa9k52MNkOS9IDn+Hr532Lf6bZ5cF9HXvEUbS+V3hufhLnn1ohI+pGUd8RvlNvvaDezo3kyDSl2L9gqswAAAAAAAAAAB5C25qAQAAAAAAAADkLbipBQAAAAAAAACQtwypmNres7jMwPHXPqvaQtZTnh2wdPxOwmHtfoA4lqMpUan8tqU49iTtiBT2jo7Leb+n3rMPqePYuoPq1iq/zQdwXN/qz9Z6dnPrvspv6sUc85Hp6lJtA9W6AwPLPzZksOOlssXRLr+NY7heW/AT1XZ/N8dg//7GUz27koZ32YnBQJXTysL67+g452+ef79nf7p8kWen3KeU38nLTvNsJ6KPtcwEjiUjGVMbyHJMArAnyHIOaRbldMrXihhV40/bjoibDRibk77yNGwbpX9kLKaMgXWNKSKXcRkPSoafXyyujO8jItp8CMcFjv2X8ZkCiqOVWGMbPDtVwr+5+RBdQsMWpQszRSHVJuNogz0c/2iW4Fl/UrVnp0t5f5av0vGYIx7l6yYK87WRjq8lsjJ8gFkxzpWSmFij+55gv0ASpdJMssXUrj2Vx3rMv7LEtsrzl+M/V4qbeRvrTuQ47QkvGH2yeazdVGHOvbzBJzeJydW1XKbrZ20TPbslpXOYvBvnvEMhi+dmytX3UpU2x8KvSehcMvL+bG0ZB8uOvkOvTfHxH5T7SafjiKkFAAAAAAAAAFDY4KYWAAAAAAAAAEDesmfkx1lS6cs04r/72c88+/7O/ZRfRuie2tIlvl9lEz9mN2XKjtA+Fdmpft8nIioJspZqbYxlMElDplws/BrLOjx7do3Od/3iZ/i3jPz5S6otEOZH7U4c8uMBs6tSMh/ZshUO+76W5WJ6T91f+U2buNGzP7XybN3FL7Nko3IxS46tSET7JZNEZBFBobMjPuPsHKkl/ivP56Xs0QU/9+wZ4UXK7zedLNU78NsXe3bVHVoSvuZunvcnzF6s2t7day/PrlkoupqCLA4MHcx1RkTpUO9IPp9WrdDHbapElnQZ2HdljGogrpAyytOrlW2Ny9Im+5EJ8waTZXo9t8RPsUWpG6J+Qn8KhFQty4xLWvgaInlSm/Lb2swlzEY9rUNqAr1Cm+zwzt52ZKPyG3kMn+/Wb2EpcnemSPnViXXbWrmebeP86wrptBvl47W7UUsQi7cIeXQ7wjzM65hsIVJuJV/rFi9c49nm1eYH1yH/ncibrAGNfoXHT5bIIzLK6SHMLrf4XEfZdVoSHHP4GHivh8e2LKSPrxqbS6dGA3x8dWR0yMN7sdGenTGeoZbYHG6wOVXF22s2yoP9JywhndGlXP3Ak1oAAAAAAAAAAHkLbmoBAAAAAAAAAOQte0R+bNksPdghM9s1LOdcm3rLs7ektHSoIsjyGCkxJiIqFqkX4zITchatk5QcR2zdp3LxXSVBfuSddPTuklmTe1IsnWlL6kfwY85gyUfq56pJy0ayyLSHC1KOTkTkpnhsZYa/gCEt0x/i48MqLdVtIZElsIjHbNtcnW1RZt+sWMVjVP7SWuWW/ts2z87sIKtpov5wE1pGEYhGKeBaRP4KosLDR44UHN2g3LbcyuPX1sFhB/cdeqvvpi9c+knPrrhGy+Lc11lKXCWyUP96nZG6kfh1ykjFeuzVSz37a7cdzA3G+G8/Xi3XJYIyGexhAqU6TCe6jc8pHfN4DQp3aZmykrCW6b97m1mOve8ykqo6of7PX2amZSkr9stwTEQUyAg5q7BjIw2/tNjGCGNNL1D5caw+0u/7re363Dd1fLNnBzq178Yzx3p2zwQxKLX6pLRl7QjPjlbwMRTq0GO36iuTPDtVwdure0UfALVP8rWRU89yZpnFmYgoXQTJscQMl5LXFGZojuvwvsu0siQ9EI0qPz8Js+knZcWRIFcKiR08VflFHnuN+yuvuxKQH+9p/LJjdx41SfkVB/i4aonzNfZBFauVX12Q19Juh6+xZCZkIqKISGm/oneEaju1lu/3ygN87D2zUvtlej+QI2fcLJm7BXhSCwAAAAAAAAAgb8FNLQAAAAAAAACAvAU3tQAAAAAAAAAA8pY9ElNrxtFKZh+93LNHBrs9e0pRi/Jb3cepp0dHOny3l3Jt3za/GNuMUdJHpp4242gloQDrx4uD/iWCzhnJsQX3jtQlYdLN/DuzxR4PF2QMLRGRXcWpvnsPm+LZpW9t0p/r4RTjbpLHwt3Wqv1krLLDdtWS5covUMLxaCP/zcfDZfVPKr8Hu7hc08J9dBkCGffrdHeTH048Ts4A4wXyFqMEgTrWRSyq26vTuZ82lmM57lh6lGef/eiXlV9kK29v7HVcNitbZPoXlvO2620do/THrgmefVGlPtbOWX2MeKWPL8n2Oey6hTeXVYxOxoiRssTfSnehfMPa7x+sXk84mEuCBM7h2JvMNv99D2iHmFJRQYGsNj7e2/fROSoq/+ofU+tXnifLaZLEaZKMqngqpjaQ5g2a8bUhUXEmXsltdsIobSKWYLdUx9MXKnaCd2JftdjB23Ss7fK+UZ5dfqY+V33nkjs9+8/NB3n24pcmK78iUU6ndyLb8al6jStbwQdEqpLf/+13/1f5XfHnQz27+ZyJ/JnDdfxz/U/5OHQjuu/DEXn+JNLnuc3z9HFfupT6ZaDXmE7S/9qkYzGvMe3H6LPtpMfEd6HcXU6RYy3z1jSfqvO7LE/x9Ze8jwlbevy2prlcZZeIqe00Sns5Ih+JzE9ERFQZiHn2zXMP48/0tuvOe9eOAyt7iSe1AAAAAAAAAADyFtzUAgAAAAAAAADIW/aI/DgbPxrzkGfHRb7/8eGtyk/Kj2uDWprSmWGpaEZsQ6aTJtKP06M2a6JCluPrJ8v2SLkxEVFlMEb9kTI0VpU2+209fqJqq7qD5cc7yPiGCX7pxomIuo7mNPHRNpbBpDdqSehg487kcfpo7V88+434OOX37LcP8ewIvaba/CTHUlJNRLT8qmkfpNO/6qF+/QsCo0SVKTPfjiwXQET0avt4z550xcvkR2Cv6Z7t+HoRbbiKx+v0kjc9+4HeOuV3btkKz064Wu7WfVwf9YdZjii9qf+SToWAXKt2kML5yNoSJ8xVrzcfyvM+M5H3aXlpm/Jb3VLr2d9+gTVt9518qPLLrOTyINnWFBkW4E7T87ltL24L9vExW3bvQso30pW6tFyynM9rFe/z+33HaMl/vEacT8NmKRVRWkdONMNNfk6eDs3oICkXtpNZSvCJK5W+Ot62UUGC3IiQMJdp+W2h/gU/Wcq/LJjg3x8YoUu0BFezNNDR0Rb0vaUnenZsMZ+f6hbp1TRezd9V87C4TirWe7drPNtlK3nQz/vN15Rfo8OhIj1zeQ0IGyFcdjtfQ6VrdKmqgJBT+p1XhhpWhI9NuX468UR/7v9p5IPdifV/7UlEtOAcvVa9+e39fDwHiOt/Rh3xJh9vxV/Mck2WLQxFhCaZpYr0Nvi78mWcc0bAXGh5/6+76gDPXnX0r5Tbze2zPHt0MV+LlQX0WtKcrvDsmFhMEo6+VtrYx2vJ1BIdUvpE596enWk3JMeS7deOAyxzWqjrPAAAAAAAAACAYQBuagEAAAAAAAAA5C24qQUAAAAAAAAAkLfs8ZhaGUtARFRncxeWpFgHPjGo46qeEfUDSgJaTx9z9Db98IuV3VVkjG2R6FPG1f2Ji5i8Tp0hn1R05QA144VGttTyoR7ex/azb7NdWaH8VCymLB9jGX+3kbEd0s/Y91uu4fEssdgeGepQfpFHdBytHyvu4FJOPznkL6otQ29SrDtDn71qQJvKH2SsTFDHWvjFxPQ9MUG9bmrjOLAGavbstgt12ZdP/c+jnv3wLB2zLFlyCceQbE5zXFJTSse6vxvk4+nP2/R3BWqqPfvcN1d69ifL3lR+px52xgeGkyBa69ul/ETMl2zzt+dsLg+yZa6eixO/wTHSWy/ifZwq07GgUTFl/1DLfmc+pPe3HPdsfdr0eY7lOefTT6m2Uptjh57cOoP7dK/v5oYsiVp9HkqJUMTSJh6//UXZLCKipZm9xGf8/+5ti/hNN2CUxROhcUERgm6ESlLA6b/NNa5MZFvfWM6tULJGrysypCsT0X0v1L/gJypFTG2MxyQU1nPAncZl70b/WG/DeZGPlaavc86S5pIy5WfV8fyIv8drc8hIHxGv44Ed9aKIu3zwFeUn80sUl3A8aTCg4zgtURLGSuu2QKmIAW/Pj1hLN8G/9cO+6gs/8Xr/fRho2cgs16Wl93H87hM3L1JtC2jOTm9f7hewG2SJYXaCvL/fSOj5si3F831e+SrP7jWD8AXF4t4nZCQ56BUngvMq3lJtRz7M8fVT6VXf7e8shbrOAwAAAAAAAAAYBuCmFgAAAAAAAABA3rLH5ceJ+Xur123Ovz27Kc2lGw6KNCs/WZ6n0tYlCDoyLFeTj78dQ+vkCDlkQMiZpb1jG0tdEhn/3VVksyQqY/ytoCVV6dmRvTp8tzFsySIDjjbzWMeP49T0kRYjpf3bLK3SEmPju2Sq8ywSjX1GcDmWLifq2f9o29fw5P6t/Nk81bLqY7/27BfjLJXcmilXfle9dQZlYnEiWuTbn5xiGTtxoDJ51z8Ff6CY5+zJr2/w7M60Lpfz3H6i/Ip4f8Q/1yu/20tO8ux64jIRdv0I5bclw+P1bN8Yz36kWa9LzwSnefahNStV268WvujZM39/iWf/6Sn9GyMdH8g6XXeISeLM8RwI2cb8QL3v1nxVyCGX8HwrW22UdTp0jmcXtXFbz3i9+ekHc6me997gxr8bEsVRL7NkfOXPZ3If+rTf2FN5e6OMcII7N7JceuObXKJpIm2mfCMd9R9nK8P7e2l7vWrrHcVjFu42zo0p8VpsPqNVwKrNynLoWE7/jbahQhSnV6odzeOcXFar/DJFYnuBXTjO8xBZCilZyb853qslg1cdyCEad5WfpNqSFXxtM+rnvF6F1+oyLW4xnwvdCA9SoMs4Hwu5cGakCAfZf5ZycxaLtfWlSs+0Dm/V3xvhAyxTrA+2oJAfU7bSIEOI1s9yGIWUzNf9Wpet6/w4X1OcdeW/PHtTQofYaNmnnlPBUSO5pZLPp2P+sFH5jYnyvguIbdSHdJm93117umdL+fEVzfraaO4iPgakRHVVTJfPe+ZlDneY/FVdjqj7Y/qaajtl9+RfibVdJtv5ehdCFkv34bllljONBnih7RT3VTIsh4goZdZm+w+xjA552dpX6tljg6WqbdRzPs9Ud/V68z/gSS0AAAAAAAAAgLwFN7UAAAAAAAAAAPKWPS4/bpuhJTFCBUVvx8Z69iHRFuWXLcNWyGKZg208TpdIObL0CxifkdtPW/yYvc81NVZMRZDlN2YfNic5U++CsctU2zu+WwRERM7bSz07NZmlgT1ztIS3NjOFP/OO2MeukUXRtvttCo4bo/xOqH6u3/5Uh7X0ff77LJ2dF31Btf25e5xnr0uwTG6f4nV6mw+UUDq1+9m4Pyx2yFyc8ZdtK4S8u/VzOoNw5KM8v3+6kKWiUy80MzX2n6ExvVHL4up/salfv60nTVKvX0vUePYdmw7x7CnlW/v9PBHRrY8fq14//fsDPHtyH8tSWw8eqfwib/9nvXFyIIMM6ONJHfc+mad3hvYLeDyL2vTxkBIKwBFLxFpqyGG/dMf9nj0xtM2zO4Tcn4jo6W4+PqYcucWzn9o4VfmVhVgi9YXr/urZlbaWRt63Za5n/3SxHtv0apZIpctF5vXaGuWX2ablkUOReJX+m3VEqAjTRTwWI4v0mtYmlI3l6/TYxur4OJKnOSkPJiLyUaftKEUWr+XxEYxrx1Qxtx1Uz+vn01EtP3bD3Ckz+7H/2Tu/CET1/JDKwK5JMiu5/v0bk5y1PdRmyAmFhDdZxnvKnailoumi/gfWrilSr2XklxPifkSb9Vy0wnw9WLWc1/qRp21Tft0h0Y8dQoryT2bedyJnmH7v4D979qnnHa/8/m/sL/r9fKxIyzyTYsKVBLR2/9jn2Tcsrm33Cfcov3/1jfLsdUmeV8eW6PCbeT/+X8/e8INKzy42vrctw2tpxuVjYL/itcrvy6dzCOLP5un1eG4Rh/o8eO/hnq1zcg8f5HwhInKTfC4PiMoyTlzP7+BoDqV5Y//7PPvVhJ7PvrJiI/vxSFEdoldUn+nJ6LVpVHEX+VH1DIcBqas8s2KJO8Drzf+AJ7UAAAAAAAAAAPIW3NQCAAAAAAAAAMhbcFMLAAAAAAAAACBv2eMxtd1TjPgrESDRnuYU0q0ZHSdRHdT6fz9kPKxZWqfIDPz5D46r/aSu3NkhgEP4OewXCorvdf3/VjAqrNOjv0PlPp7DiAGm7C57fLFnO6foMiIde1V6dtVa3qeZLq3pd9P9x2i6vTrWpzLAr7sdjhc6o+IN5bdvRMRwuTruYEyI4+7a0hxfYhsp9yufXE5pZ4iVfRFki8EMlHAsltOrY/Psch6HnuP0/J1XwzGwnTHev6tu0in8J9/Zzf14670B9pipu19/5rcXHOnZE8t4fFZ16di8rtsbuQ9Lu3XbjErPThXzXJelNYiI3L4P4lr2aEmfgE1k2TuUq3KzlK+SBEdyeRe3lNfjDWeMUn4/+eLtnv21RWertpPGrfDsiUdwrLKZC2F1gsst3biCY8m2rNBjEaznuRgO8zaKI3q/vvXeBM9e9BbHUrvFRg6GUv5cQ41ej8cewfGa3xz1hGdf8c0FlG84IX3uskWcatd4Pm4XVOrSHhubJnp2qkSfy+Qx7ti8fdeswiBCs7KcDskJijJ7YpgyEb1BGb/7yBv78IupOo7P6uFLmr5q/cU62it/CdTp+RHtENcejXyNY3Xo89HF1a959itxXVonkOS57tr+1zzBPlEyUcTKBtI6d4Ur4lwtkbwiXaljQe1uXlu7xvHYnV+tc488uLjDs+NnHKDaws35N7KJNRwV+t7+XMZu/0pdqu7dOOf6iIucLmaeAL9YSCLjmlhM1FVJXe5Obl9+5vFenbvAJh5PWQKmOV1BA2FDqlq9XmVxP+JGbbAlXZynomKNf76cvCdLWUtVGjFhrHdZ4mglS64b7dnbRFnDx7rmKr9an/ss8/6rIcSJM7am+TpvVVwfUzNL/UvhOfXiOGjmHCuWESPv7uSw40ktAAAAAAAAAIC8BTe1AAAAAAAAAADylj0uP95v9ir1emEflz1JOtydpoxO2l0m8tZHLS0jlmnKQz42kS670ymkziZSXhEU27B3qEfQPwnHf7fWBrUc1q6f7NmZli2mOxBIeWvlkytUW3IvPo6okSUr1iot1zDlG962x+lyLPtFOjz74V6ucXH5NZcov4o/L/TsQJk+Zo99mSW2hxRzf4sD+vjNtLZRxu1fGj8ksLQcJFDEcmE5JlIKQ0S09KZpnl0Z0RLexe0sZ/3KjKc9e95+q5XfuHN5zr2VYKnzN777ReVXdcfL/XY9+rDu08HVXJ7gltfne3bDw3rOukLRtm0/HSJQ1MbrQ7ibbVNm6cQ+WG+cPTm2TuaDlPjGmG25hEvwRE9iqc8t0+9Sfg93s7TzHz89yrPL1+q19JKXz/fso6cuV21P/3V/z162kNftLftqmeD403isD61n+7Tp9yu/RzrnePbfH+IyTK9+4VfK72OVR3v2beMe9exvNx+u/J58iCVX0Ud1OMLCs/m4/N2xLLlyBxgikXPEuFuO7rOqNDeHz0N/fE2X2xrbwmPdO1LLGmWpnYCoxydlxERafirr9pgyZT+ha7JMt5RvEOf1du7T5HlaOr3m2fHcp1CejNluEurhY3jaaJ7bS3sald8zfVzWgzJa0yfHMiNl5aYUUL505Pjrxc889rxtR/TxJF/11Yu1vmes8iOHJbrJUuO7EkP43OlDxQrekcXiGrM1VaL8pkVZvhlyeZxNuXGA/DWaftJks/SkDLmS18BmGJ+UMMtyLrbRB/k52Qfzulxez5vy4wOr1nr2P8KTqWCR5xfLXCTF/jfDinyuZ+nfeu6vmfFbz16U4Gud+pAOv0m53CZLNHVk9P1SU6qSt93H5bY2xiqV37wqLtsjZc9ERL3j+Xq56G1+3/VZOwYKntQCAAAAAAAAAMhbcFMLAAAAAAAAACBv2ePy4y+Mela9fj/Bkhgp9ZUZtYiIDi/irJQbDOmwlDnEHM745xhap5QjH637ZyQNBlhG0Zfm7QWMrLWRAMtB5haxfC6WmaH8ZFZnM2td374smw0/DvnxDphSjP+Q2daq3VyWK/VMqfTs4hItP6XX3vXMYCNnhPvxA7cpt5tbOQvvmwtYkljRspD8cLq1xPaumzlj6mXXs+z1gnXHk6bDd5tDAkN6uV1Wa7L53onq9f37/NKzr1l7umo7pIbnS0+GZandjs7Y2ZJh2dnhUZ5vr/7gFuX3lUtZUvpuO68pd4z/s/L7zJkXefaIaSx16h2p/74X7uLfHO00ZFVhPibtFPuZ2Y9zwbbPHkh2OErJCj1vZObI2D84w/GZq7+i/EY9y59zPsVzrKlJZ7ZsfJDHqfyqPvLjo7/kDMJ/adpftaU/yuv9Pz/D8+1xW2fATuzF23eq+TMzb/mS8ltyMcuR5179Vc+OGONX38Nr/4pP6pCBjx7JMvY+IYWz6nXGWTLm+lDBslnmFzSmaUYshdWl3Nj2tj7XBtIsBzSzEAf7+pccZ/S0pYCYF4G0kLaGjfVcqr+lAs9QUwZj/Eaqmu3KsD72iprFd0X8xM35jVukz2mhVh7L0hBLBktGaLnf95ac6Nlj0nq/mTJj7/0suzBrNJZPm53Q8kmZPb/yfX7/2SlaajpxGvc3VWqm2s79uruzyPOLTFIeMHZqtc0hEFszPE9tMqqIZMl+PFCkrFhJXg1kGF5lgI8xs4qIHzLLMpGWuQYNaXJMLCx2Iv/GeZfYIfuxf+WC9gs4dOTOG37q2Q22Ph5+3cHVAM4r52vRisD7yu+pGM+79ckaz44ZC7w83mYUs0T+nOpXlZ/MiJ0yfle8irdRJN5H9mMAAAAAAAAAAMMW3NQCAAAAAAAAAMhbcFMLAAAAAAAAACBv2eMxtVNC7er123GOhRwtyqgs7Jmk/GQa8DEhHU8pyQhdvxmfkBDpqkeEuKSBGXsrkXG0fUa68R4RpPRm3wTPbgzr/m1JcdzW0vho1dY1jvtkRG0VLFbICMASonkznbepr/f80roUR+C5RZ7d/AMZk1eq/MaH53j2ZX/geMsfNp2g/LYe0iFe+cc6yzI2Znr1cLeItxQxKi++PVX5TSUdhzDU6T3rIM8ecRnHxk6ibcrvmrm8TzPbmlTbwmd4vvx8wl88uzqg/862VcRTrE1z7FjIOCwWVHKstJz3nzv8POXXfSDHcPXV8XeFO424YbEyZowvC4n4vnRUbKNDH5O5oGNOmgJFabI79NKeLuZ+lm7g31r9pt7ffRxGQz2L+cVFJz2p/F6ZPt6zH3lYx8DWrOL984fvnuLZ7TOMQfslx4vVljd7durP9cotGOOIm3u+ynFDX7z8cuV38nI+3mo+sd6zz294Rfl9qpyP03u6q1TblU+d7dlFm3gfNtbp+ERrJQ1JAqV8fGd0BSUqaeZzaHUR/55WIxwvulmUMpqi94+MG3dF6RczBlbNHxFHa4b+yVIyEssxyogl+QsCMT4Pp404vmgHb693lLGNKO8QJx6nvMXWvznQw78lJnKAzBm5Sfm9+hzn+nADWX6/DK00hkeW6pFxuH4lfIiIrEz/xwwRUWAEX/VULeXjrme0jnXv2ovzksi47g++IP9ip4taZXkefl/maSHS5Spl6RszhjYjBs0sPWmW2vEjICaxLa57M0bhLdkWFblpZDkYE31d7t+fsK3jR2W+nKGQs0JiBYNkWcEdrkWz+UsG+rkNV3EZu/PPfUq1XV3LuUW+3cLxtX9Zup/y+/4BD3r2+ynuR9h4rnliCZ/YYsUDO8klxdhmK3tqRgZvPYKP56o7+H034x9DPBDwpBYAAAAAAAAAQN6Cm1oAAAAAAAAAAHnLHpcfG+oTlQZ8QoRlnr95+zDlt2hEo2f/cfqdqm2JkGKU2SyraUuXKL+IxY/7S2Qa8YB+3N2bZknpxKKtnv3PVbpPPaPY7x9CgvfnT/5c+b3dyxLrkJGyvGcM2wUnP5ayIJHO2035l1My8UvnLWW/RFr6O/5hTv/fM0Zr8KyX3vbsn60/jj9/tJZq6Q/1/zuIiNyUv4TETy5TvGGPT7uBkeV3Sva78k3P3pJgmdib68covwnb3iY/UvM5DfwX53NZmUt/e5/yO6GYwxXiLu/r1xNaVv63Vi4Xs/4yDl1IzNLHiSxDUrVCyLlKtJxLyunkZ4i0nFKqbQLJ3ZPNDCbuKC0vdNfwPGibLWRmtVoyn+7jY/Oj+77h2VuSWg7YUMThG586/4+qrTLAMvGne1jyeH3de779/Xcf7//MtfpvrV98+tOe/bXTP+fZXUfoeZS4fbxn99XxGP1y61jl9zsh/Qv16vlbOYu32TGb21ZcqEMmpr/zwbkl4CaJtDI5t4we6ZlmhQ0pF+1IsKQ73G768QezlW2RUTuGalLJjFV0j7E9R1wQSCmyKTHNRITELcGf6Unp+R3skycMQ6Y7cgR/79r1lK+4ER0GZcV4rq/cwlcRX5j5ovJbsYTnomWct+QY2YmdrKHRHz5jLseRiMgN829xwv5laeQaHIwb5+Dg7pez2dNEN3R6dlxMVLPUpJT+SjsaSCm/gLhQMkvr+Ml9bb+6S0RkKymyJmT1f81jvi/lyLLvYeMauNfhOWyWzawO8uIqy4QNBdxMhtwspY928M8iN179Y5YOP3LuT1XbEz28QD+waV/Vdvsbh3q2ZYsyarbeV+uSvC7I/Z8xjpVWh/d3jTiPmxL0boevJ2SJJnnuJyLqcDhsIOF2qbbvHcqS6D+SuHbczRJdeFILAAAAAAAAACBvwU0tAAAAAAAAAIC8Zc/oIA/c2zOrAwtVU9zhR9ezwpwBs+4xLStqP5vlUqPsItUmH6FLea8p9ZWSiqSQRlSG+pRfR4q3HxEyj7rKHuVXGmTpXsNzLBvZer6W6smMdmbWumR97jOmDhZmVmMpM5Zy4d6T5ii/tmm8TypXaalM5UsbPDu9kSXCZqZh1Y8XF3l2mdFm17MEbd2/xnl2I2n58UAzZcrszKZU2o7zGzGH90XpxhzLaAI2kWWTZRuS2yiPkdPd7dkdnzpY+f1zNc+DUVUsKfnNgX9SfvVr2e/y8YeQH/YzLGe+Zcpk1XbjJ1jWf911v/fsZYlRym/ZjXt5drHDEpi+Gv8lLlHOv9+UWaYj/n/vC6VFZkihBMyWAXRPMfnLb1LQCtHy3x2g3r/+nHs8+6YVx3r2tuZy5Wd38v566HHe9yUb/TOM/qtBZ1qsfYf3Q0xkmH4kfoT+oNhkTGSqTZXq/Vg5neVXdbdwFu10rFv5dSf4+O1eX+3ZffX6OB+9L4eUrNpcrdqiJXw8h9Lcd8cxskQfMfODPqTiRP+iIYMb4t8a1Kc16hrLbUVpHufSzXrhSlXx2mdK/lTGW9GUNjItSyViMMGOybA+juQ25LZ3kE4LmXLxJrYTGT2/u8by61CXIWGuEmeDtZS3uEa2X7eHJYOpBMsMDyleofweav+I/zalDDzO103pqL+0N5Di42ag+YeDfUaIhsh0KsM3+kZpv+IWcY3Xm/t1drfZ1OKZnUJ+a8qKux2+FlVZhy3tJ8kYEl6VGTmL5FhmMpZ+gSzZk00psfpe0ceMypCrtyfvARzjSJLS6R2OnaGKmJ92Ga85nQtmKLdRX1nl2dfUcQWILy4/X/n1pXj/zKtfq9oun8BVCWaG+ZhqMK7tXoqbV8If4GSRTzdn+NpASoxNkuKeJmnc3xRbfJ2+KNGg2soC4gQVEJ9zjHHe3uY6NJBE3nhSCwAAAAAAAAAgb8FNLQAAAAAAAACAvAU3tQAAAAAAAAAA8pY9ElPbujeX3whZWnMtY0wbRW8q739L+WXOG0d+yG3IGNgd0p6rNOX920REIyMcV7W6r86zJ5S3Kb+kw98bepLLX7wem6D8xkZaPXtNok61zZqykX8H5TfZSvW4+07z7I3H6biOyBZ+vflEvRdiHxcxCWs5xm/SX3VMbeBZfbxsp+8JPRYZUbtg3Cc55siM1nCSuz8aMgYk5vL2KpfnuAaIkyGyAuQasQt+49c2S79efOjvPPv9FG+jxEjpPynE837dfXurtnHnvDugrpZu5D4dX8xj/rU7TlR+E97mWMuO/es9u6jNP2ZdhgMZoSCqhEQgbcQhieXCFbEgwQ4dxJjLCKCpF76uXv9pNMdFd15a49k/PevPym9pnONeNsSrPPuoimXK774Wjtld3KTjm+edsNizpxRxnI8Zl3NKKftVBGTcl46rSqn4LuahnknKb0mM+/5elMciltKx/l8a/7Rn31+sY4+XbeOY+9IiPt4OH7lK+b239T8xtRn/ePtcIMuimCXFbDG9F4xe6tkvbT5Q+cmyKwFzGZRVv8RgZAmt0xhTSZUFEiV9LMeI0hQvZRxufZGOq94m+mSWGaJggfwN3/wdIpbf7eRjfZwRVK1KkyWynKvFXJRjYiLHIRPRC6iMt5VjbMZFOhVc8sNu5tj5YEyXbIuN5I1ULzWTV+TfuGa6+BpTlj0xS/pIZCyqGecqY2wzln+EcyjLWUmX8RFrrk9JICKisNieWfYlQP3nujGvt2UcpuPqbcjyRKE2XmuHRFS16xKRS86RusxOqphvZNadxr/nyRNuUn7dIpZ4S4aP919NuVv5NYh5mzASt2RE+ZsRdjH5cVzxrlzPymPFP4dNRvTJNmJ0V6U4r0qvq9fqlBjbYAOXopO5c4g4b43lWoipBQAAAAAAAABQ2OCmFgAAAAAAAABA3rJH5MeJan583u1oeYWUPMhH62bJlowpR5Jt4t48KlJIRwztlJRAlATYL+Zoedr48DZuy3Db2CItP36tjSXRAWKJ8d83aKnl16f807OX9Wmp3vgS3qZOwJ97rEiELCtEVtA4TEQaflnuJnHSXOW2/w0syX7tu1zzYepFr2b5Uj3OdjVLIO0z2V63QNeQmPAs2+tuYKnlm7N+rvxO+9gXPDuzdTV/bZZyRNmwwvw5Nz2w8kzBze3qda6KOtnlupyLVczlA9LNLBud+usm5ffkWSwJl3KmEbYuefWiKGl0w5y/q7bbDj7ds4NtLMd+/2qdev7pI//Psw/+n6979pi7X1J+7pSJnl2+nKVdqSqj/JeQVlpKWqf/vmenRbkKQ+skpXXpEvG51g4aqqQ38RhOuJLt31w5sT93IiKyZ47x7O+dqiVWsVG8Dybfq2WOD36M14FgTJTFCeod+avkCZ494k1/XZGUf2fCvL2+Gr1WtB8gQk/W87xMTNIS4Wte5ZIJwZjeRqKG+1H6Gr+/+L6VulPuB9Jp1x1aQSNOhNdqsyyOLU6pssRGeKM+r7UewueoYFyPmYi4IXFqpEin9otX8X5NC1li0FBrZ0TlPisuygUZh4MTEvL0Pv4uswRIWijwSpsMqV6U901e/zXf0b/LKi3x7GAX/7KKgD6nRdvEOS2i2+xk/3JhMsqUmWuh936WcmZKwuxqP1dIh91OXrfTpeZ6IErCxHWbLGOVj3RkpPxYX/eGLFkO0v9yXcqRQ8bkGaiUWH/G3893e+aCI7aR8ZEiExHZltyePj5UyGAHX18MpUKYmw/W1xiRNv4N027lY/qU2ouU30GN6zx7fBHfP7xqjFFnmrdfG9LXWLIcUrtY/LpT+vq4T9QebEuwnxmaI+Xf5RFerEtD+riMpflz7XHuXyig+97ay9+ViOvwo3CER3H0xvfIj+3X1a47sFHP67UdAAAAAAAAAMDwBje1AAAAAAAAAADylj0iP+4bwY/juw2ZSkBIGTak9eNpSSLFXc2WQTmZRaIhZQ9mJk5JTGii5OP+jCGvkNJp+asS/9IZjiunxfgzhqxDP9YfWjIaN5Eg13J2kIL7EXnkNfV66cJqz/7iSw949rVnn6r8Jn1cZC425Ul9LIGoWMXyqeolWsLSfS5nRv77BT/17FkPf1X5TX2Bpc9SVj1QufFOIWRcneK4zzS19OO851hz22wKFEfprkN+o96vE9KnqOj7qOAi5Xd7J2eqK7NZemobspluh2Up5QGtO/znA3/ot2/vJLXfj1uO8ezjvvW8Z3/7p7pPEUu/3k7GyBboiJnakhEZco2si/VCFrcypeflN1Z91LOfnvGgZ59++Fn99iFfySxZ7tmjhf3fmPLSf/cZDEqN13X9eg0vpLw+2KfX0p7RIkxHhOa4PTHlJ7PkRjv0Ohuv5LkgswubmZZTpfxdUgacCRvhJVISLU7J4R69vYyQH5du5i9e1V6r/OQS1DNaz9vy5by2DEyEmR+4Ed5xRVt5P7Vk9DktvIHDXtyQvk6Ssn6Zodj1j/rKKlOWbVLa7BhZkm15Xuzm7KjBGn0ecIWM0cygnO80pys8e2SwU7VJqS8JKbJ5rpXXtmEjw7GU8Do7SIT7Z6Cficqsxkb1A5kNWcpa48Y1urwmLrJTRpsINWjZ+t+6vUexK8vJtsI7qK57xrLdvhefpcpe1Mf+e+17efayhMhgbtwGyKFWGcxpx3V3O8lSI4u02OVS4Z2Oaj/5XR3F/b9PpNf+bFUkXKFuNqMYI9s+nBzWeFILAAAAAAAAACBvwU0tAAAAAAAAAIC8BTe1AAAAAAAAAADylj0SU+uO4viIloxOf90Y5nICz/ZO991GSXTnYx5VPEIWzBTjjooFYJF4qa3jPEYVc7puWfRk9MObld9RV/Dn/t2txekTIhwn8BqNpKFE6qg55Aaj1HR4RL0vKyWN//X7nu329Cq/TCuP7Z3nLvBs6xtGmQCjnI6k89TZnt1bz3+DabjtbeVX9hLHhZ16FqdOn/5rnQJd7X1bBAAMsBzPDjj+0Vl9tRzrlBxgLMueYPLX11LQCtOV++sU87F67m/lElkWR6eHT1SyX88o3oeJKuVGmWIeZyutYzdKNnFb7SIeI3vVJr2RAG9/NXEJojNSOpYuI8pBDAoyttsoMxV013v2KQdcwB9Z45+WHoA9gSx/ZMZb9U7lc+hfVnOJptGVOmeCjLlybaNkjjh9V6zlNXPb3jpHRbyGN1Kxhu14lV4HS5r53BsbIcq2GH1PVHBb+Wo+n06o1efaNe9yfGLT4fryxg0MnTV4tzB+h5Xhc1CKq/vQs326XFd69Vp+MW+2apPlzVSsbECPf8buP8hWle0hIld8zg06/b5PpMss2WLNTXUZ1wQj+Ni14/pcbaXyO8Z2dR9nA5heudnXT5bPM69ZZRxttrI9Ay3pM9DPDPwam7cRz/KRMqPml4rtjcVM95yS3HsCOcEopYv1DypuFsd4M1+/pPVlFPU0sp8sbeboy22VsMcJG9fO4jAIyGss/4pYZMmwZaOEkoyJleXu0iXG94opKC9tjcOS7KT8jUaOB64YSPpqbvcokFUeAAAAAAAAAMBwBDe1AAAAAAAAAADylj0iP95n7EbPXmvIBkeGOjz7nqa5nh2gDcqvp4+fya9Pa0lppd2/LMExZIMydXhA2JGAv/RUlvExU5uPiHAKeik/zqxco/xkCaLqoJboxoTWIDCb5dfOO8t8+7SnaJsZITsSoXGHrVfvnzGKS/D8aOIJnl31qpagSalR+Qbex5MvfEf57f8al1ZZ1NGo2sqv4P1Vup73f9tZWj7Vejxvo+JJ1sg5i14mPwZaqigrtn8Zplgdt9lC5uFmciuXykxqJCsYpcC3t6j3uztZ3tuygW27zyzDwa8jrDCn0k1aXiIlhLKsAxFRopzHcs0ZnPY+Va8lcxPHch8nl7NUf3bpRuU3J7rOs6eE+FgoNsp/lQZYA5Ry/cdBztlvt+hjbUSYpc77Fd3p2d+fOMd3ewDsCaSMNFWiz1eBbn7d284y3XRdH/lhlnwo2SKlrry9vpF6fpet5jYpHSZDvSpPqSFxanRCpiObgR6WKJolQDom8TmoerHuU7qCz7VDq3jeTpI2tIUiBKavkc+zd2860Pggr5nJSq1xlGVyLCEDNuXCjjjfhbp53weMPmWKRLk8cR1m9+lrLTe0889V7DZ9DeUWm3rN/KJcSG4zZF6zinOokOKaZXvKAizPNrcRF5rSsLjuTRrPtKKmdnQnCRhSZPk6LCXMAR1KmBT9M+fz5mTlbvXpw8R+/m2yrRCNqDpIvd9yoCiP1ctjkSoz9o8siyOkw+F25UapCv5cdKseM1mqJ1nJ+zi6zZhX4qv7Gnmcy5Yb5VHLhS0kx8Ut+phK8ulDS46NpSkTFSFoGb2NVPkApfDe+mHRQNTueFILAAAAAAAAACBvwU0tAAAAAAAAAIC8BTe1AAAAAAAAAADylj0SU7tfJcfHbk2Xq7a4yzEwK9eP8OypRkxtX7d/3ISMe42KejMZS9+zy5iElBvs9zM7g/5cyNfv8Rj3vT7Uqdpe757g2d1TWKheosNOc0L9L1+hoBUi+l/9/t+Cozx72hyOB4k16v3dO4L1+p0TeH+3fWU/5bfsDZGuv03vx5JDREwCh15StFWL6yd/arFnu7I8j2XGZg0sBf1AcbOUAhr1bKtnn1FxhWc3Oi8Nah92lsCytRSwwrT1fh0rmh4pyjA08LFdNE7HsEeCHERRU8zxTbLEFRFRbZg/l3J17EZbstizN/VWevaGrbou0LpFDZ7d3Mbx1os2zlF+d8dEvHyKxzjUo+OEAiK21+7xLxO2/LN8sAWqdex1cTG//nnzcZ49lV713R4Ae4JgNx+bcaMUl0znIOPkLSMeUpYFChsl6NJFvMZ3j2G7TKeRIDvRf2mhjHEaT5bxNopaea7K7zH75Ib5XPL4q/soP3cWr8flj+nvCrVz7PDOFzYZurilvJaW1vOau2LpaOU3RcTUxkboS79gXKzP4hxpphuRMdDJcj6+zBJMEjl2VlqfB5wwH4ey2GPFe/o6wD52G79o3qra3GnjfL87H3hozd6efdjey1WbzP0iy/jsTGkeGUcbELk9orT7uT3M+F2JjKmVJQ3N2N2aIB+zjqu392Yb130Jks7tMlQofvAV9XrCg+KFuP7ccvHByq+oTcQ3i2vbnjF6HzQ8y5Nw/cf0vpv0O97HvaN4cd18tL6nmXrRm57d9DWOAY506nk7+q6Vnr3ya5M9u3qpkbtgMs9Peb1lxrzGF/A1YWxLiWqrfHeAt5/b16MBXrvjSS0AAAAAAAAAgLwFN7UAAAAAAAAAAPKWPSI/Hhtm6cg2U37s8GPs0ObwgLZXHdDdliV9Ti5hyWfc1dqZYou37whJxtbMSuUXFZKB+7uncv8M2UREyY9rfPv7x5ZDPPukWq0rDgZ4m50TWJqjH9QPLZTk9nWW/Ra9rv2KaM/hK0wYZLnxDpvPUhYo8977nt343ofajZ3C6Y2RY6Wo7hb/ckcDRe7dJqNNvzZl2ixLCQp7wh6UGGU7MqZcOrBtjPrvLgDsMawUn0/CXfoIbx/BbVVv8jk0sHSt8osdwnLIYFxvIyNUocXNfA7NRLRkrm8Ev65aLsJ+io0SMUFpi9IvCf29sUYhW32ftc7ly3QoS+c+HFKQLNPXCWXbOPQnn+XHTrGW5ibr+Ew7pYZLmy19q9J3G6FevQciHbw+Z8L8rCOQ0ePg2P3LTYNxQ8oqP2b5vE9EoQ2iHGNZmWfW/58O0UmfOpZfjKzTGzFLHOUZwScrPTs6W8s8oxa/lmV7zPI5tpIVGztZ7H/5FMscSjnUco9me/KVyiI/lkRF/1JG90bbPC8PLVuh2v72z3mePXGoyY8t64N/2a4xRduIXw0s7GxEub5HynTx9dGMpWNVW3ot75My8X7lv6r1Nhyenw0/5X7YlRXar4PHYsKVLPMPjqxXfsXvc+iBa4sjJKCPlthG7kfR80tVm9PdTR8GeFILAAAAAAAAACBvwU0tAAAAAAAAAIC8ZY/Ij2dHNnl2a6hdtR0RZUnF3+/Y4tlmXrapn3nDs88deZpqS7fw535Dk3z7YYVZfhwoEo/PU1oaaRXprJHe+xGdulFLT1vJj8V/neHZV335UdX2ToyzuzkDU18DAAAAO+AKTaFlquKEpjAjss6aMrDqZSx5bJvun9VfZsaN1+q2RA2fwYu28N/OZbZbIp0NOV3EEmMz627Ne3yudeIi436DIcPs4EuaUMyUYQ5MKjnUsTJabpsqEftNylD9L0mo5IFXfNv2yEXhfxiocLgqwjLl1cdMUW0jXu0y3fOKEb9kOWjvV/VF4OQQ/7ZOR4SnBfz3nKEYH/A+trPIxP22Vy0ei0Utewff7YRE29aMDtkKiDC+k4p1dZCfvj6EpeWuS9mDmHYNKTc2kXLjrNtobRuYX0fnf3cionRzy4D8TCLLV3n2nhpJPKkFAAAAAAAAAJC34KYWAAAAAAAAAEDegptaAAAAAAAAAAB5yx4Jn/jmhIM8u+NTB6u2RCUL+euXDyzl9a7qu2UMbCZLKRbq7d2l7fsx6ib+XadMvFy1TfkDx4o0vjqw3w8AAACYBLr7PNsJVqm2UDuf7ss3mFkrmPDjr3l2w4tlunHCaM/MlHBAbLJSxwLGqzmGLtpmlvPy+d5Ozq8RXL5RtWW29R8gGmnTcbIyttc2ysy4IhY3n7G79bVLfAYXAFzeyuVuyrb4j/EO8cUfcum73eXNVeM8u8oIznMifFzne9T0pf/6lHr96Ak3e3ZzplTY/tswS0/aIprRzhIDGrV4nibF866U6x8r+2LfCOGnbydCVv/zfkRQx/BXBvga+H/WHa/aSu73j/0GoD/wpBYAAAAAAAAAQN6yy09q3f/8ZS9NqZ1KAJZJ6r+WZhL8t7W0mzLdCw6nT//+dFq8HsDvT9MHPu6H+JfVXR1bsOtgXAsXjG3hMuTG1hFqJONc64iX6RQ/vcl23g24Sf2GyFyaSXNn5PY++G5btGV5rCS/Ky2+y9Hfm/HpYyZh/kbZJ/2kKC226bc9z3eojav8nJE9Vo5zJsZt6ZRxraF+c349qZXXTZmkPtbkNZSV59dQ5vVhTzf/1t7MwOZRyNL7Z6BPatPic3Ivplz/5999Yo6ljE2nfZ7Uxmz9O0Iik3OqV8/7nb0nGMpjC3aPgY6t5e7i6G/cuJHGjBnz3x3Bh8KGDRuosbHxQ9k2xjZ3YFwLF4xt4YKxLUwwroULxrZwwdgWLv9tbHf5ptZxHGpqaqKysjKyCqT+Wz7gui51d3dTQ0MDBQIfjnocY7vnwbgWLhjbwgVjW5hgXAsXjG3hgrEtXAY6trt8UwsAAAAAAAAAAOQaJIoCAAAAAAAAAJC34KYWAAAAAAAAAEDegptaAAAAAAAAAAB5C25qAQAAAAAAAADkLbipBQAAAAAAAACQt+CmFgAAAAAAAABA3oKbWgAAAAAAAAAAeQtuagEAAAAAAAAA5C24qQUAAAAAAAAAkLfgphYAAAAAAAAAQN4ybG5qu7u76Rvf+AYdd9xxVFdXR5Zl0XXXXZfrboHd5JlnniHLsvr9t3Dhwlx3DwwCL7zwAp144olUVVVFRUVFNGXKFPrud7+b626B3QDrceHS09NDl19+OTU0NFA0GqU5c+bQPffck+tugUEA87ZwwbwtbIbLddSwualtbW2l3/zmN5RIJOj000/PdXfAIPODH/yAXn75ZfVvr732ynW3wG5y11130ZFHHkkVFRX0xz/+kR599FH65je/Sa7r5rprYDfAely4nHnmmfSHP/yBrr32Wnrsscdo7ty5dN5559Fdd92V666B3QTztnDBvC1chtV1lDtMcBzHdRzHdV3X3bp1q0tE7rXXXpvbToHd5umnn3aJyP3LX/6S666AQWbjxo1uSUmJe/HFF+e6K2CQwXpcmDzyyCMuEbl33XWXev/YY491Gxoa3HQ6naOegcEA87YwwbwtXIbbddSweVK7XZIKAMgPbrvtNurt7aVvfvObue4KGGSwHhcmDz74IJWWltLZZ5+t3v/MZz5DTU1N9Morr+SoZ2AwwLwtTDBvC5fhdh01bG5qQWFzySWXUDAYpPLyclqwYAG98MILue4S2E2ee+45qq6upmXLltGcOXMoGAzSiBEj6KKLLqKurq5cdw8AYLB48WKaMWMGBYNB9f7s2bO9dgDA0ALztnAZbtdRuKkFeU1FRQVddtlldOutt9LTTz9NP//5z2nDhg00f/58euKJJ3LdPbAbbNq0iWKxGJ199tl07rnn0pNPPklXXHEF/fGPf6QTTzyxMONBAMhjWltbqbq6eof3t7/X2tq6p7sEAPgvYN4WLsPtOir4310AGLrsu+++tO+++3qvDz/8cDrjjDNo7733pm984xu0YMGCHPYO7A6O41A8Hqdrr72WvvWtbxER0fz58ykcDtPll19O//73v+kjH/lIjnsJAJBkk6dCugrA0ATztjAZbtdReFILCo7Kyko6+eST6Z133qG+vr5cdwfsIjU1NUREO/xh4oQTTiAiojfffHOP9wkA4E9NTU2/T3Xa2tqIiPp9GgQAyC2Yt4XLcLuOwk0tKEi2SyrwF8b8ZXs8j8n2sQ0EsHwBMJTYe++9aenSpZROp9X77777LhERyqwBMATBvC1chtt1VGH9GgCIqL29nR5++GGaM2cORaPRXHcH7CJnnXUWERE99thj6v1HH32UiIjmzZu3x/sEAPDnjDPOoJ6eHnrggQfU+3/4wx+ooaGBDjrooBz1DADgB+Zt4TLcrqOGVUztY489Rr29vdTd3U1EREuWLKH777+fiIhOPPFEKi4uzmX3wC5w/vnn09ixY+mAAw6g2tpaWrFiBd10003U0tJCd9xxR667B3aD4447jk455RS64YYbyHEcmjdvHr3++ut0/fXX08knn0yHHXZYrrsIdgOsx4XHCSecQMceeyxdfPHF1NXVRZMnT6a7776bHn/8cbrzzjvJtu1cdxHsJpi3hQfmbeEy3K6jLLfQUl9lYfz48bRu3bp+29asWUPjx4/fsx0Cu82NN95I9957L61Zs4Z6enqourqaDjvsMLryyitp7ty5ue4e2E36+vro+uuvp7vuuos2b95MDQ0N9PGPf5yuvfZaikQiue4e2A2wHhcmPT09dNVVV9F9991HbW1tNH36dLryyivpYx/7WK67BgYBzNvCBPO2cBlO11HD6qYWAAAAAAAAAEBhgZhaAAAAAAAAAAB5C25qAQAAAAAAAADkLbipBQAAAAAAAACQt+CmFgAAAAAAAABA3oKbWgAAAAAAAAAAecsu16l1HIeampqorKyMLMsazD6BLLiuS93d3dTQ0ECBwIfzNwmM7Z4H41q4YGwLF4xtYYJxLVwwtoULxrZwGejY7vJNbVNTE40ZM2ZXPw52kw0bNlBjY+OHsm2Mbe7AuBYuGNvCBWNbmGBcCxeMbeGCsS1c/tvY7vJNbVlZGRERHUYnUpBCu7qZQaHr3Llsjxd38EYF3lAP26kyYVc4ys/u47++BBJsF23VG6z5/au70NvdI00peoEe9fb/h8FQGtvhQt6Oq/xLZT6XvDb/4jqIvyVvx3aAOIfNVq/TV7R7dsbh9bgq2qf8lm+p9eyy4qRnz6huVn4rO9nPdcXa/Kca5Vfyt9d3ptuDwpAe22zHdMBm28nsUr8Sx+7n2akyW7WVruv17EwJ99kJ6b+wN88Ne3a4m9+v/+Uru9SnrL9rJ9aqIT2uu4hdVenZa748VbWVbBAvxG5KFetjqPGRzZ7t2ryv158+Qn+Zz+7tm5xQr6ddu8mzM1u29v+hQWbIje2HfA6V18fO2W38/tt6/ZzwyxWenWnjNdyKRJTflk/P8ez4oTxpKx4pUX7l9762ax3eDYbc2IJBY6Bju8s3tdsfuwcpREErtwNrh6NsR/xvau0U246Yp5movqkNiAsnW6zwdlhvMCe/+z9d+DBlD0NpbIcN+Tquqr8FdFM7mL8lX8d2gDjBqH6jhBdXS9zUhqL6JsMuFuu2uHgOl4aVXzDN23Pk2hzS34v1eIcPGm+IY9oSN3/Wrsn0MmL/uyF9UxsM8lhbQXFTG9TfZUd4rG3+u8auj2W237Uza9VQHtddxLZ4Xweieu7YcsqJn+xE9O8PBnguyptaO2KsAT67N1Bkbo+/2NpT83eoje2HfA6V18dWMY+feQz4jYU5Lup6uzjV7/tEWI/BIDPAsd3lm9qhxD5feduzJxdv8exjS5Yov7jLPzdk8Ul3ckhfbC1N8uQ+75kvenZfoz5J1hIAw5AB/mV53X17e/a4mnbV1noXy3cqV/Nf72Mj9A2N/l5hG18b7uY53HIAn2imHbNK+S1/cpJnj/nuS2J7xgYH4UnWcGHKT5eq11eMeNKz2xwez3HBlPJbPbb/sZ4YTKrX3aN4bEoCfBCs/Yn+/DX3z6VhT7YTvmzLckwHR4307JYTJ6i2tn35D8C/O+G3np0h/b3dTpFnVwZinl1tx5TfbHEh/LfeUs/++uhPKL/iJj73Nv6ej7dMu15Xss7VfFaSDAJdx/DT2fc/c4tq+1HrFM8eF97m2R8r0/t3wt6f5RdJHpM1p/xK+d3TXeXZ65J8pfTNmhXK7+i7P+fZoX9uoWHPABVDPefMU69Hf4X3630T/214L/Ks95Kslpm1b5F2u3CgnWQVxcY0yx8bDy3Vbj9m89cdoz37lt+eptxG/u9LlI9YwSBZVpDcTMZ4n68/VJu5Ng2Dawz5lN9NJIxGn+tI33OYNaC/+SD7MQAAAAAAAACAvAU3tQAAAAAAAAAA8hbc1AIAAAAAAAAAyFvyMqbWCupu14VZ159wWM/+r96Zyk/G0W6IV/f7GSKijhTHGlg9rHsvbtLJMOx6zviXaUE8CChQBhjns/GBWer17Pomz05m9Jw98KK3PPvFTRy3171Rz8VoC885kSOIEnU6BqVxKseBTYty3F5HQscNfeFjj3r2L6Yd5dmTP/GW8rNE7KbMuPufNwgwn619Tr1+Jc7x0lvT5Z69NqTj8+Iuj3VZgGO92owYpY5MsWdHAxyXe3pJDwGDbLFJoi1xAscfrz9XJ0ocNZLHKeTq81q9sC98/jOeHYzqeOmpIzmT7dyqdZ69NakzV77SMs6z29o5e6rdqGNvLz2J47R/f+zBnt2yQmfxnf4L/t7MitWqbTjEsGVFHBrf2zZdNS3r4TjqWAnHqv8kVa387p/PsbhrUxwr+4v2ccqvO8Ox0hsTHF/7o1bdpdgIPi9UZOt7ITPA80nTg3w9+/QBN6m2NjGFn+nTc6w1w7GuGbGXF/bpc2PISnt2uR337F5HZz9OueKaOMDbi1p6DQiL6+3Di1d69if+52fK78KzTvLszsOMA2QI42Yy5FqBHcbPTfN+sEQyNVcvs2oNChTzOW7LJ/dRbrM+/Z5nRwJ63Xr+cfatfZfbylZ2Kz+rj/NUWDEeW3J0p1Lj+Z5m43zu0+fOe1z5HVLMMdyfeOBSz552y2bll169lnwR+03e07npdH/eA54neFILAAAAAAAAACBvwU0tAAAAAAAAAIC8JS/lx+3n69INFcF/enZxgB+zvx8bqfwSDv/cl4TkcVK1ljzURLhw/PlHcLrxTfFK5bd8FctBSv8C+TEoTAJFWqbkxFga2HYhSwHPmPSC8nti4wzPri7ScsKUw7KcU8Yv9uyp07V8pSXN8qYKmyWqS2INyq+pj/1WtrEsriempVNPhrlPH53FkuN3K7X4LdPRyS8COuyA3GEoXTSwp3JppP0ji1Tb2hTvn2kRlqBLORqRlqsFLJZBdTu63mGDkC03parID+ewOby9Fxb5+hU0WSS27iEsVWu5UEjQenVppKaNLDm1wlqeFhYy42gpl2iI9+h59t4anp/Lm+s8O9Wp/awIb7+skteIrvZi5Xfjv07h31HG8rToKL2u9Pw/lqgVHW/Ir4ej5FjQMpefYXy28nXVdnPmMM+uCvL1j23U0Hiim8u0yVCAuBHCVRHkcenJ8JifUPau8vvNAcfwZ+7M3v/hSHACy7r/NOf3nv1krFH5yfXTHLNKm8dTSpFHG+EgSSErdsTzLlNWLLdnfpdElvlakeI14LW4ntt3jH/Ms4/4/GWqrea3L/OLAZYS3GNYgQ/+GdcDSnLsJ6Ulos5PcFmmyV9axp+Jr1d+S1v5PuaaaQ+rtms+88SAunpvF6/99UG+tqkJ6hCeMcEOz26w+Xe9nSxXft9bf7Jn187ikI/kb/W+WNsyx7Mn/a9xPnqN1wLXyTKe3rijpA8AAAAAAAAAgAIHN7UAAAAAAAAAAPKWvJQfd07Wr9/u4mybSSFrXNVeo/ymVHOG1KIwSyo6k1rutrSZczwGg/zIPNahZZg1lfw3gVICoDCRcmOTzuNYirSsu161jato8+yGok7VFrBYR7I1ybPnmeYjlN+0yv5l/Z0pPWfTYt5HQiz5SUW0dHhiKa8BUj7XM3+a8iv626ueLeVERETuMJcxEhE1HV/v2yazGpcQS1QzpKWsUp5GLq+lIUOmbIvPmW2S9Sfw+jz+BV+3gkZn29T7asUnWAZqpzhMx03pv22X17EkrautRLWlEiJLZYY/5zqG1DfBbak+MX/MhMziu7u2irOoZWQULeJjwLK5LW7ImbeIj5VeOE+11dw+hKWMe4B0OR8PHY4eczmvZHbbkAjnIiIqtnk+O2LOyveJdqwosZ22jJaeutXJfv3AB6z6Ecs+Q0JiLM9dREQBsUY6xrMquR5LKbF839xGRoytbel1O0R8rMiQkuKAPgbk8dHq8DpSF+xSfstTPP/Oveyfqu3J34pMzkNtnjoZIiuwQzUWJTkW68yK3++n/KaPY5nxkm18Pk2k9PYyYp29ftnJqu0jjcs9+9BStg+JblV+Tx810bOXfn+8Z685+bfK7999PE5vxvn+6bdrD1N+m5s5DChczHO4K6avy0bV8HVf5kYtxe7+Ha/PFX9eSL5sH3dkPwYAAAAAAAAAUOjgphYAAAAAAAAAQN6Cm1oAAAAAAAAAAHlLXsbUZib3qddXNnBK8B9tXuDZ0ZDWcE8rbfHs80ewhvsX649RfsVR1ojHkxx3EIgYsV6J/uNGAMh7BhhzNqGO42ZHRHV6+OoQx9tOjfqX6nm5jeM9uuM6Rq4kyHE6G2OVni3jdYiIGos7PLsqwjHAZcG48qsKcVvE4vWhZa6Omx3/N7bdFOK+THrGcpxVwtXxXRmXj52Q2Mdm+Qf5Wsb0ydISJmZ8l/reCX2+bcMFN8P7MThKl7SbPI3n4JpmLntlJfRcSsqYrqRuc+TuF+NMGSNYNjDA+De/4TRiPkmU/nHld6W1X1r0vXWuPl/X3C5eDLX4vD1AqJrXwk5Hr7OyFKKclyljLvZkdMxcf58n0iV+im1xPWXEcVZW9hLw54WDf+3Zq9Ncekuuq0REcce/LeP2/+wqYEw+ubbalhgzR5f8KhHx03e3ckk/xwiYn1HM683e0Q2ebZYIirs8Z48uWaraniqez9vPktsjJwRsIssmMnJukIipXfGLAz17rwnrlNv7zSM8W+buCdp6XIojvL/SGT2W9y3a37P/Vjzbs7+770PKr+VMTkQUKuc59zNx7UVE9JcN+3p2c3OlZ4eL9ZiNGMGxsn3iHslcVbd2cZ6EooheI8If5/wmwaf4XJXe3Kw3sr1Mnev4ny+k+393AQAAAAAAAAAAhia4qQUAAAAAAAAAkLfkpfz4in112u/LV53j2SvX8yP92rpu5fd081TPfr+UU2hLuSIR0doWTmWd7uZH60UbjRToqQE8CwcgH7HE37tc/zIqMypZKlJqlHWoD3Hq/pSrl5olPQ2evbSFpSfFUb2N8dFWz35t61jPbu3UpUaayzn1/6xq7tPM4iblV2azBG9RL2/vhONfU37LrmPJlSk/lin8Vfr+YUTRJB7bprRRykH8rVSNuyGL63V5H1daLB22DY2Reexspz2j1+3G2o7snR4OiDI+m87W0jKrh0MFiop5zPqatRQ13i1eGyE3lBBSO6E1s9JmrR5+7QbZ0TJL//jhmi/FeiQ3YWvHjOhf/dg21Sbl2DtI3IYBFaW89pkyYCkdDQgZqik/DoiBkWV8/Er4EGn5q/m9dSWQH0sCe01Xr9ucFz2722Hpd52tr22b3QoaTKTk2Az5kPL03gz7reqsVX5NMe7TxNEc+meW/okJKfy4oA4h2XrePp6tSnINAaxQkCwrSG5C/x5PLktEZY18ntzUVa7cbLv/+wdTwpsRa2aJIeEtHsWv27r5mujKV89Ufvt+YoVnr+/icjz/7835yi8U4XP06FHt3AdXr9uy7FAqzb9XyqiJiKKidKpZqqihnPfN1o9M8OzKPxlrs+vo//8LeFILAAAAAAAAACBvwU0tAAAAAAAAAIC8JX/kx/M4s1dP5gXVtOat0Z4dbGCJTV2JzsZaHORH9f875u+e/deeGcqvuZdlAps3iAyShi6gZDOyooICJYvUI3bmQZ7dl3nHs035cZnNUqKkISFd1MJztqaMJWiVUS0/2pSo9OzeBEudykp0VuOuGEuzNkb4M0dW6j6VCOnT+Chn3/tE+XLlt9+Pv+rZk7+6ULVBfkw0oozXVvNIkZmMzQybfn4hIXHLkJYwZcTfXuX2UjsItYCkaz997AdWVHr2fvNYjvb6pjLlJzMZWxE9fnKPW9LPzH7sMzTZ5MduwF+m7EqZsWyyjC8SmZxTRqbQtvnjPbv87uEnPy6N8PHQ4RSrtoBPxuNYRkvTZfhGWSDe72d22IaQspqZze2AnPdg1flV6nVdgA/2tULGHbWMShxKMu5/WZ9tPZYycZlB2TGefcmwkU/UvcR9qNNzcVliFG9PjG6JEYaSsviYsC097+MnsUSVbqehRSajw7T+g3vw3p49ppJl1xs6KpWflOo6Itu7uUIm0zyeGSMrfERUeKks5XAct0RvZXlrnWeHbP7emmp9jySzK8eSWUIKRD8csVY7ZtZ6Mb/NrM5p4bvlaL6XqvyT79cOCDypBQAAAAAAAACQt+CmFgAAAAAAAABA3oKbWgAAAAAAAAAAeUvexNSmSlnf/Y/Ne6u2TDlrxK0036dv7NRpzuc3rvTs/9lwimdfMurfyu8ud65np0ckhW30aRHvPh0pAkCe4/rHK37k2uc9+7Tytzx7U0bPt+khjln95vrTVdukam7rTnI8rIx7JyJa1cOxIAeNWu/ZCUfPuLeaGz27KsqxJW+Lsj1ERKdVvenZDUFOWf90X53yq1zqH/vnJFO+bcMFR6T4z+wQBST8xN9Nw0bUXLnFMX7VAY4N2mbEZ8bc/v/2mjGO0eIQHzvDNT7PnjHFs4vLddw5LY3QgBDleVwzZkzGsLoypjbL9mScnLmsiCYVl5ut8o8MzTJjeUVcbttWXUIjPIt9dcvwoCzM882Mbe0RsbOpNMfbjgp3Kr8KW5fR4vd1LoRFYj0Ni7ntGHM5iJhaxaFHL1avOxzeP2ExySoDOi51hYhbDhkxq+Ui9rlLlAXKVqpnoLG3kpKAXm9mRjd5dlyUfAoYi4AqEeTotitnPe7Zf6Qxvn3KBW46Ta6140K1/jieP3vZfK1gxsPKePJAwH9/y5hV1zVjatkOiW2kzNhbEb8rSwSZOQlk3Ksl2tJGfgL5KUe2BY1jysx5IIil+Jg9fDrneGgxHbef57Nck0rwpBYAAAAAAAAAQN6Cm1oAAAAAAAAAAHlL3siPM1GWy2zt1CUI7E6R8jrIj6jHV7Urv7SQ3HScxI/JD12i7+1TGfazuvzTWpcu2sDb9vUCoLDYq2ijZ69PcwmCuZEtyq9NSITfax6l2o4az3ITmW4+EtQzScpci2yWl27o1bEAsV6Wz3UJOXN1OKz8SizexrsJliw3JXUphfoX2zx7B1lclnJHw4VN2yo9u36GUfLB4bGQJZQOiLQpv29uWuDZT73DZdVWnnSr8ntElGuScuaQIf1KieNtuP61dtX5tZ5dGmpVbbEittd01Hi2a5TtCfTyftyhAk9YyNP6hCzOiL9RCsgsqjElW1b1gky//vXIOyghRekfq0d3KjyLpbR2Ha85ma1b/TtYQMi1VM5LIi0/7kjxgfLJ6peV32lPXurZVoiPhb8d+Svl92Qrz+eqMEuWA4bkVfZpuBIczyEyXx15n2rbKtZSKRlvy+jr0rjLr6MB/1KTcv2Mkn8YTUoE1EWtLH6ifFDSCMLrllJnMbkTxmIh+746rc/XZQEtax9SBGwiyyZy9BVCeB++74iJ3xM2rm1kqR4pRTaXy0zG/2yWSotzXhapb1CU8bFFmShz/kmZccbxD6qUpXvkNhzjhOGI75J9ICLKiM9tjnHoWnicDmNLr9tAO8NwPfcDAAAAAAAAACgAcFMLAAAAAAAAACBvwU0tAAAAAAAAAIC8JW9iauNVrO/u21qs2kJC8u+IlP6XNf5L+f3PzV/07PqOlzy7x9GpyLtFDFfpOr7v7xmn40HcviGs9x/KGLFwls1j66bzNzo5fvKB6nWyjI+d8rsX7unufGhcteg0zz5yPJfJqql9UfmNCXIs1ayRm1WbjH/s7eb5Fq3V8TtxETtUJNLjp4x4DyfF+1rGlhQZ8UVlAd6GjKNtTuoiH82HV3t23XukGWBq+YJmLa/BxUfoOKioiFuWpRxq7RLlt6qL4z/rn+PxtE/Wf2tV8WIivitqGTFcCY4/01E5w4e6t/kctammUrUFi/i4nd/AMe0PtO2r/AJtfFngFOlj3RLnVxkPu0NMrYiBtQYlBF2UG0mKOK16XWImnRL5NYzLG1fGj9VWsj1MYmo3d3MuEtuI3OvL8BzuSfE8GmPrwQs3i9IsYhxmHxtVfnLd7hO2+b29oqyHXkWGD+kRvFq1ZfS1rSyXdlC0y7MrAkWGH59fV6WM8nTB/sswZSvpkzIntPwuEcgu+2eWbJNU2z2e3WjEljZSt2eba/rWDMfBd3/sU55dds8QuJ5yMkRWgALFesxk6cFNIlY0aMyljCjXJMv9mJcX8rVtG/OnT8zbXj0H/XAHGMcuv9dN63OyJUv/yDwGRlyvvBaTuYqIiCqL+L6rIsz3Ulv3nqj8ooipBQAAAAAAAAAwXMBNLQAAAAAAAACAvCV/5Me14pF52JBNxPlnpMTT7+Z0pfKr/8VL1B+vJ7R8ICDSa8un6QFDGet0dhHYBQx9RVbJ8YF7s1+I5QvpIi1lKFrK8pvMNi5lYRklXQIVLDN1atjunaDLRFk+Sppgr25oncVSrc59tNQ10MV/M6p+fjT3feMmvdGA/UGZmDypFHP5Xk95tizdYCLn4rhiXc6lJcH7PiDkK7WRXuXX3MfjkhYSnZqo9lsX5hIlYTFRzTT3DULq3poq8fV78zu3ePaCX88hoAl38nocsvylatnY1sP7f+xb7b5+UsJcEuRSJBFLl7XoiUN+XHL/K5499X7dZpfznHvQPsizg6N1GI2aCRkzVKT/RcoNmJo58bkspXp8v9j0k1I4cbiVFevSNH1J7l/ZwxHVVn7vMs/OOP5SyUKlu4clq2aplO407ytZhqTK1tdGjU/zOS7YK0JFLtLfJct8JB3/y8wuMWdrfb0KnFff9cwfTpqtmqwg77ttF8z17K6PaEnxk4f+UrzScnpZWicgLjJMKbgqtySaMkbdLClblmuzWa5Jfm4fcRm2Ma2/95x3LuTP/FMfBQ1PtHh22fIhIDnuj8lj1cvV3Tw2ch6URfRaJcvxhMM8l3r69LoVCvFalU4P7FxryoAl2eTH6tJc2MGI/zW6LO9jRBZSKMh9t4zSRBGbt5kW4WTNB+vfOP5h36/uFzypBQAAAAAAAACQt+CmFgAAAAAAAABA3pI38mPyeSxOROQG+Y1ZE5o8+5Y1Ryq/Elrd76Yf6dxHvZaP00e+yJnZVp9ZqvwCZSyNzLT7y+eGDab2QCJ0DcHRDaopNX6EZycrtaQw0sqSjeBWHotQQkt95TbSs3j7qRIjS26I+5iOygyd+qBKlPMxkBRaxnSp3p4tVFzFq7XUeeQr3PcdJMeqUxkid+jK4bZ86RD1+uTSH3v2ir56z/57537K71NVL3t2eVBnGE8I2VKRkBAGjMkdFKEAPRkhVTNkynIbjpA9jQp3Kr97u8d79pgoS6LnF7+v/K7fqjPCAk3FKv/j1SGZHdNfBpVMiNNPU5Ovn0RK2kzZc2xTqek+7LBCvAa5Kb1GZro4XGbS11nKt+quOXojMsOm7T9+2TvCpiu3YZwiZJZkeaiYGZMDKfZz6vh3Be6rUX6j//gygf5JdfGxURnQUkgZ2lEe1mu1JLqEz2NOe4ev3+hibmvpY9l71MhGH0/q8z3QyNCsmttfFrb2+8QTn/Ts5/Z+ULXd080XMFGR/T9kaUlpRq7bYp2VnyHSGehbXV5zTTmzlCnLUJEvjZur/GppuXi1XLUN3asiZtv+Vep1fZCvOfrS/LvNkKmmdh6XSXXbPLuzW2e2DhXxOKVSuxbqI7PWB+2BVRiRMmXHkA6Xl7HEuqtbhyhIRpbyNfvKrVpaPrqY99Pqbl7Hi/favXspPKkFAAAAAAAAAJC34KYWAAAAAAAAAEDegptaAAAAAAAAAAB5S97E1EY6WBNuxbSuPNzB2u/xJRwn9+wj+ys/v5jadbFq9doWZQt6xnHMQKRdBwQVfBxtwCaybLJsQ8cfEPtBxKKaMVwSe9Y0z26Zp/d3pkho980QG5ffGPGGKOlTog/dVAn/fSbczZEYJRt0HEOgl2OJrB4OiI3NGqX8+mpEjNE6Ph5ajte/ceLPOP7IWbSEfAlw38396aZTRGTtECs+VOieqAPcwiJ2+sKaFz37jfgY5bcqJeIkbB3DVRIUsX8idqPI1vs3anP8joyVNUKgKd7H2wuLmJG4cUCdXLbKs2Oi1MR7SR3nvSom4z9Qusuk4j3/tU/GXIX8amMRUaaFY4eyraVhsY246x+DF4jjb7RqDQ4Y67YoYxNs5BJjRUVGnGNGxHQZu9QRMV1y65ZjlP6RS4ZYL3Ys/SP95BdpNxl7Gwynxfs6jwHwx+7mEYsa8zIcGFj0Ynpz84D8QuIAcMTAhowoyVQyby5Bc4PPdYN5rZUSMdEb0z2qLenyuayY9HnYD9sMapdtYtLKtbnD0bGgZQH/2Gw/rIguZ+OmRPynK0sODZ2LpdYD9L4qF3G0smxNRUjvj0yax2xu1TrPXrlFx57KZdE2chw4Yt31K7dm4jjZct/032Z+Jp3hY1HmMymP6uOrRuQ+WR3Q+Q8qQxyXG0uN9Ow59Tr/zMCybTC4CgAAAAAAAAAAkLfgphYAAAAAAAAAQN6SN9qPaAfLHAJJfS+e4so6tFfJRs9e8fw0GgjvbtbSQ6ls6Jy4aym0CwInQ2QFyHV2MbH6gXt7ZrySZSV1r2ipofMel1OJn6zTvUf/8Wq/m44csJfeRojTirfOYklaOqrlaUFRgifUzQNdd/fbym/k4zHqj/K79OuBCT5ISf/63Z9DSE5jUvO2lp78fsEcz24Ms9z/0KK1yi8iPrawZ7Jq605HPTshSrukXD3fIkIWlxbyY7P0TyYppOmO/9/qyiz+3JI0y2He7Bmn/A6pYJnyg1Tnu73hSmbZKt+2bJJjSfGmgf1NtdLmuZh0/dfjUG8WWdVwxM2yOolSIZmM/zjYxUbZj66BlWCRh4AcMlOm7Cc/3uEQEm0BIWHOhP3HXJY3IsoeHjMcsNJCBmzstp40n59HFXGpjdQAS83FHL1vI6IMTHGQ20xZq5Rggn6Q1woB/2O9eT2HdNmzdFvK3fnLfCkxNkv1BMQYyvW419HS4UmhVs/+TeekAX2vmzTm6BC+LtrOhGmb1euUkOYGxPVGfUSHMcl1tyLI57hIWK+54aC4djS+O5Xisc2IEA1TpizJtkv92mxjQU6lxW8U6/HsGi0W7knzGlxdoq+p5b6JJdivNqzl8y3/CV10Mwmipf5997b7310AAAAAAAAAAIChCW5qAQAAAAAAAADkLXkjP+6t58fdJRu1DKNrKj+uL7M5w1hg0XLl5yfGSmwuVq9HTd3q2Z0Wa5uFomZYERyt5dkU4sPGDQptWUD/jcSN8w4rWsqSY7dIy1TsmVM9+9lbf6PaTlx9rmdnhEzZNaQ4Jcv+f3vnGiRHdd3x26+Z2ZmdfWhX2tVj0QuBBAhEKASRMSnbFUMcyqESEyeYSpykKvGrAmWSVJGkUnlhKkVVUmXLDnE5ZZMqu/IgCUqCoXBMTCgLkIQRegVZCL12pZVWu9rd2Z2dmX7lg6w+59ydbrUWSWzP/n+fTs+9/Zi+fW/37f6fc86S/TLZ1bukBN3Pm8ymbRz82gZRz3ToavGn6P/mzsguk6vQNkxNOeNMkbyidJrkG4YWure0b1ipoK7UcTUvaXTKc93O+tj+KkVR3ZQfFPX6LFrv+IyMeJ03qc/mcnRuOrk+XFs+PE0y4LWlEVHPYtvgUZKP1eR+OUWDIvWdqnWKsuuLFOVz8LEtomzFE9tjt7lgYLI4X5O5OgaLPp0Qrbh4Op20zBQjd7z8ODcRWwQ0Qp9Fp9UlwWzR0aRwYZ3GbqEE15syTGFfCmw9g0uR5+gZsxDhyl9fa4eART3lY/ObjXQONv890yWWO2y6Rxxj7iC6lDWA/Dg9RsK54tJTQ/Zn7r6RFNWYw8dcM2EdHum+qsmPfTaQLHfGWMmSVMcw3zHL7co0cmpD52nx+/ZTq6gOk9gWtAlEZwe1yzKHno89zR0k71B/LDhyPG7w6OEicrHsZ4bR3M9DlxvLeoTvy/su815R/d2VyB5ryLlUG8tesaxd3qDrLPtEZZIiZ08y1zSllJpc33V+n24N8mMAAAAAAAAAAK0NJrUAAAAAAAAAADILJrUAAAAAAAAAADJLZnxqO4+QNruyXPppdS2nUNnfPnlHZAc1GV46jo5DUi/+obsPRfZ31ndTvTekz0CrM/bpzcrKFVTnJ4fE7zd2UQjz/9xxa2R37ZOXE3exsKt0HnXf5PIg/fDtSo8o+/y2bZF9oEb+m33286LerqnVkf3SM5QWKNBc+nhk8uoq2u9fbXlG1Bv3S5FdMutNbaWUGnK7Y8t4ahOL+agMsFD3Sin12a1fUH69ptRWNS/58G+8Jpb58Z9qdEV2TUu3MuKTk7Hul5O3yCmjq0h+s722Fs7d7YjsSVf6WnB4agi+L0fbb425jOyrDUT2rZ3Sofn+dhoDzj34PVH20hMlBYjJoCaWcwb5xyT51DrT6fy7cqwfVcP4Mbh0MnWCrYWB7oPH0rOE1eYpy5RSKshRJ9F9rsw6+WP5paDp77OISdsza5nV0zM3xbn1GbpzKN+cD4fbudBu0X3sQH15Qk3i60M/I5bvWXwgsr2ApzjRGhI+tZeHPIsBkpCzJSlVD+8t3PfW0qLR6Gn3LqD7jLostsUNzlm9enMSxqz5Ru2Odcq2C2qwekL83vDoOXi6Qef4SLVX1Lutj2KQPPbdX43szjUy5SX3y3U1f1ueTicI4sdt7mYd51/bbL0L5LTYCrVpSsHTX6L51+tvr5ErsngNn7htlyjaeZbSKBaK9Kw4VO0S9Ya3nN9GUDOU2qYuCkYUAAAAAAAAAACZBZNaAAAAAAAAAACZJTPyY69I8+/KKvnJfKB9OrIPDvVF9rUqnfy4/yn5WbzvM/Q5ffO6I5H940WLRT31lVSbzyyLvrVD2YajjG/Ky2T3fT8V2ctZ2pYJTXngMZVmdSn7vVtKGcYqtP2/3PMxUcZlpW6FJA9GXXsfwy6JToowLlLpKKWU20brLftfkst86482i3phjaWGKlGY8iO/tVbUq/cwaY52SEEbS+PD5EGGLeU81z21W3lhQ72t5g9WF6W4+cXu/xFly1iKAB7Sf299hai3Lkdpcdptme+ozeTSZNK81EJ5rS3NjUf27pC2r8uUb15JEvmcRed93G0T9Vx2oWwpksS4oaWKGWUpEl58+G5RZqs3FCCGNYUYT+nD0yvpWPV0+V34NZZE+cj0xSstJMJ4OXbYoHMaaJK2oJCQ7odLhJn0TU+xJkj76jxhE4bfvDAmA8V5Ev7/Qkc/MzylT69DY+uzp2/Vap5WzThwVKb9++X+nZFtJ+VdQhNdHvR+GgNPs6NLwXMxqlRdpix2yzq3qXRXH7qXd5nyma8VOLsxp6x8TvXZ8v7Uy+YjvF+tbz8l6v16557Ivnvilshuy2kybpZOx7HkOa6b6e6hnLi0PefLmv8++z5AyyMz7fS7Kwf7WzYci+xf6X5dlI01aILQkafn7SCU+7IHzp9PvyrdnOLAl1oAAAAAAAAAAJkFk1oAAAAAAAAAAJklM/LjiVV0qOXbZCS1a0oULexseQ6RSTWZEpdorCnSvgYrXZe+7RYg9KR0pO3ZHU3rZTkmbFKMvaBCeuaBx5vLr94LgVIqCNNJLK8W/vhEZA97XaKsEpCkt98iqf4NORm1760GRftzAynvXeS4rIzerU35MsJxn03HMV6j/U74UlbckaMIyjzaZkPbL4/IeHOOWv3J0Y2i3vUFkgr5bfLdX2YGzavEWCDbrGSQtHw0LmytSo5cGweXNuuYDWpPqBqTMRy6in09Am2enUdf9h+hdkv5SpzLlGfJiNliaFE9syHrxSnmjPkbHHXewc+h3nS2ST2m16Yx/a13BkS962Lkx+aojHJeYu4lfNuzSCmbBRchQYbqx+j6Z8mKecTjMF6mzKMfc8lxNZCR6buYm9J0C7oCDPzDIWWbObU/WC9+77+XoiE7THp/X/teUe/DO387stvO0O83LZIy5V2nqQ8WcvH3vzjpcHK9hOjx7BqwNNlzvkT9e3CEMoDcsfEdUW/id5ZE9gN/8BlRdu8GipC+/wT5Jy75rryOVv/bbqWUUl7YUO/GHi2BL7UAAAAAAAAAADILJrUAAAAAAAAAADILJrUAAAAAAAAAADJLZtzDchOk/b5vYJ8om/TIp8vVfIDSYHZ3i+WyORjZUxZt+9y09OPLsg8pAGn5+gmZ0ubjS9+K7NddSnH0h73SZ8Rhnsr5hJD+HuuztUD6ZnE/He79UTRliiCeOsZj9pQr/TOmWZqBgB1f2ZLh4ndOrY7sP/3y34uyJ567edZ/WMjsrUm/uzvbyPMlKaVPUgoXjsMcJ50E73djaia2bEFiaOc+ZCnGinQvMyzpV2UxH0h/Sj4ipPXbEuswv8nQTkgP4sT71Co2fPjMLzdIeIIxbDmWhG4jpuYCgbnFvTKzShR15cj/kfvDFk7kVBrKh+W1VmDb6HSoX6ZNzwUuDWOG7qGW1kn5GMzHT+4bq5T0neVjru57y1vQYus0wvhn78JcBg6l5IATXnoMhiuJPzqmDMNRy57cLgueZHXYz4+oLaLacrU/socfprJ2qy7q8WxpDW1+47D0hT5LzWYm+LHzdfT0ORyPbU9vPr59r0rPWJs7j4p6Lx6k9GDrfk2Ov4eZfa16M/Y4LuwpbdwZfKkFAAAAAAAAAJBZMKkFAAAAAAAAAJBZMiM/XvTNVyN78gsyhQSXUaxfTCHnp4tFUS+oVlUzjLyU2PBQ5BM+baNeSyfFAaCVeOrafxTL26Zuiuw60//tb0iJcS0k+V+gaU35egbLNaHLgAsmSU6suLweGr356cgemWkXZUddSjNUNih0/qlGp6i3sUQuCIutaVFW/7nbIzv//M5Ux9TK8DFSKaXyTLqmp4PgxKX0mQikjNhJK107M5quXiszB5mfbUtJt+fR/dRoaO+9+eYtnqon3b5mqdFjDlevJ1RyCZI5kI6S5r6xtEBpfLiktPvtdKlYFu+WY6TPGrA/T9t+t7FE1EvrggCSMbx0J5K3rZ7qx4lJ7zIr9U/KMv5c3mkWYutxDEvKa0N3HufsMi2lDGtWStC5yKQr65iMWPvWWGfjcTEn98Xlw3y3YcIY6accP/mtpFGXU8XOMt2jqx45YuqS9urHNkV227bmqUBn7deR86zQ/8m5CYNUufrwpRYAAAAAAAAAQGbBpBYAAAAAAAAAQGbJjPyY8+/7NonlR2//XmR32CRffO43PyjqLdmqRSm7gCXn9lyWUQ3oU3hwVkZSBaBVmXzwzsheZL0qyjYWTkT2sN0V2cc9GUXcZZGGTU2mNONTv+JR9vJmfIQ7LpuZ8GUkcsck+c6UR9s2Ncny/pkVkd1jUWS+D5YPinq3589E9sPHf0GUQXIs0aXbXGqeKF2rN9cSHfN0WVw6CWTYWODRbZWSGrQklZlP5zSfk24DAeuP+pkPeaRkLj8OtJ0JuXDM70qp0Gx+vKEWkZnLkYMg3bv4SLYGlFKyjQqa/Ji7fZis1TsOS1lxXG92jo2IZR61nkeqd3SdujW/ItpmldCJP49czsrHY70tHCZNdpOi1ot14rMacAm6Y1x6VpJ5TxgopYJZcmPDpuceMQYlyJJ5VPj/G+8XZXy8M7TnGR6p3mRjKbf1XfPtWQlRknmEY0Pb3qI2ctE8a9L9/4XhG0S9iVV0LuQTm3aeAtp+6GnPgBcOPkw3nuNLLQAAAAAAAACAzIJJLQAAAAAAAACAzIJJLQAAAAAAAACAzJJJn9oNf3xGLAcvNJ+br/3kj8VyZeul74uHqG4bxjsAsDDo2jMe2QddOUyssSciu5/5pY74JVHv5an1kT1cK4uyslOP7I4C2WcaHaJePaC0QAWb/HeOVHsSj/8C56rSk+P4zKLIvruXfL121KUfx94G+QevLI6Jsj2p9rxwGKx2ieViL/m+JPlcmY3mPjLDnrxW1jnnIttKSBEU1OuxZQsSPdUEh/l6teXktT8zQz7phi+dYMPL7RrHb6lJvrdsv/xvBQ5ywqSFhyvQfd25fyWPhWCdGRf14nqzd/KUWB71KZUaj5Ogp/wwnHT+8kAl9uewLd7f8KTbFdnLbTaWatcAXw6Yrcel4KvN8pFmuMoSSy1HGCqlwllp1EIv/p4XR66bfNrrvnzeyrHnnlltIQ6HjsM0ZbtwP9o5ZBxS+bx2j/DouczpoPvuVF3GHapcR8chPYU1f2Pj8s2tMEsDAAAAAAAAAJBZMKkFAAAAAAAAAJBZMik/9k4MiuWjNZIiDhRIKri2XUpddm/eSAs79pIdyO/xPBw9l1ewbEEAtDTBvrcjO6cl9jjpFyObpwtYZldEvUd63ojsgx1vibJVNkl/n8zdFdlLcxOiXtEkactdiw+z32VKCpPJUh9i+zrWJ+XHK+yZyH7HpWPfW1unbY/GhC/2viLKPq3uUoDImfEStCS5sHNqPLKTBFsWU3clyd3mpKtaqOTpHjcyKuXeBk/Vo51uv8S1v8zUUooYPC1TQqoeDk9rod2SldlgaaJsSFbnBGsHX9N38/F02KMUHf6QlBXHovW9oTq5b1yTH41sUxsPDAttmZYkWWtf/3hkT2udJxCpdWgbuhS8wDo7vz6KmgtJVciWqf0sTRpbY+kwn52mqYbh5ES90KVrL1NpuExLKcNSKtCOmcuRU96TVvXSvEWXH3NZcRDKfmuxVDuOQ+2kpz0LAi5NpnX8hPRoPN2P/i8mZgqR3VYgafJMwxH1ikunVCxccsyl9boUOWUqnwvgSy0AAAAAAAAAgMyCSS0AAAAAAAAAgMyCSS0AAAAAAAAAgMySGZ9aw6ZD1X0LXvnyHZH9ucf+NbLPmTLFyOEHKMz82h30e9gu/e5M5ifA/Q5CZA8ACwR7xfLIPsPSMyil1K7qmshelqMUAQNt74p6H3r8i5G9+G9fFWVW35LINtrIP+OAGhD1whz5aIQFsg1P88Vivis/qJPvvHf0hKh29C82R/a/fOpvVBwvnr0hss95chx59zubInvNg7tjt7FQ8EL5blT4wKp4f5hwstL0d5kKQr55tYR/N97JJpLgmxT2URyK9rIMFjFdZWkZdGeqXHOfWt1XNmQXgSjTU/XwlC457sMlrwF+7/VHabxwqvCjTk3CqeK+loMNSns2l/QkSsnUaTcWh2LrXcZMHguargLFinC1TtbnUJwKHpNgdlon6n/cp1avF0fBkGlfpplP7fo8+WbXPnqLqJd/bmdkG6aWHmc+u1wHfvMLmP+WNGdgvriHTvRF9uoVI6KaY1M9z5fjIvd7tdm50++6Fndf5Yeg+dSafHuWn6oeL2v4l6FDv8dGx5ACAAAAAAAAACCzYFILAAAAAAAAACCzZEZ+nBTqu/tpkjY+/dBPR/ZnV/5A1Pvr+5+O7K/+/nWRbdRkepASC2/fa1NI6sVv1RUAC4FTXyPJ8UeLUlZUDUlO9mZ1ZWRvykupb98PSZqsC0r802cuw1FeOqu2UX8uP0TSuv86c7Oot7w4HtmPLDogyv5u5CNX5uAyyqHRxWLZZQryWkiS8T0NKTc2ykzWPkopDaZZSjWllKqGXFZF72H9ea1Ne/8xLE3Cy+RuYZ7K2nLyvlaZJHccU5fPufSDwVJiWTVNnsaGjDDgUmS5OS5TVg3ahlnX3rdz+RxL/eMW8V4+LTybji4p5anTTtU6WUlCSo4ETs9Qmigubdb3a9kZSuEyj1mUr0Z2JZBpVRohPeaP+KxdNJGqG5IbwnRI0uGqIZ+PhzxK18RTtlWCgqhX8WkcKbFrYGy9PL6lz7EFbcxSc5S/XxUupPRJug+lvEfxMbJSl/e/ukvt53ra+WG4DZY2yZT75Wl8eHofHcOg7TcM2p6+js3SquVZKqFF5WlR7/RYR+y+Ys/Ne0zNhzsCAAAAAAAAAIDMgkktAAAAAAAAAIDMkhn5cdpP0vVvLI3s0uNSVvX8OR51jZU1pLxyI4vU9kqFZMr2Sz9KdQwAZJ3+R6lP3PjA50TZio8cj+wtvRTxeFNeymbeeZBkSmv2yO2bBZIqiQibmvzIMNKFHI/bRliXY8CR+0nyWmCbXlUaE/W2Ln89std/43dF2bo/kZGcFzrremS0xmtskp01wrORvSFXlCvGtO09xWGx7CguVyN5k2XIqNRAkuSyY42RrPQDfdJtYBu7TxZWS8l4bzud/3NVaud6Qz5KuHWWrYDJx4vtsj+W22pN67laFM3KFO2rq0jbcKpdKhbI0wVeGz1D6ZFqC0wvPlLn0e7nJj/uKdB1UmLSZt21oFiQ0lYwN+7t2RvZA7ZsW79wLLI356X0V8LvvX7M70opNdl0bTecEMvfn6Hxvs+ivpgbT3iWDzIUzTwM1GzHKpVeVmvSee3qoX5WsKXk2mFRiG9ffFzNBS+gfdUDGpvzZjp597SfE8s2k53vGiZ/o9HJS7gnv0eZcRz4UgsAAAAAAAAAILNgUgsAAAAAAAAAILNgUgsAAAAAAAAAILNkx6c2JeV/ei2yv3L4E6Is3LWv6Tre0Emx/PM//HxkG8fJl2d1CF86sDDwD5Gv7IovvSsLv0Tma+WeyL7p6U+JalaCu1RQqzUv0EL4z8nrIiENwMBmSkf01TFK//XyP98m6t3zJPmBrVTo90mc/fPVYvlnf++XInu6Qb44E3t6RL3VR5qf1w9sfVQsb/o4pVQq2dQu25+5VdRbpranPOIFQhDvU+sdIT+7/XdKf6nrBygVl99TFmUzfUsiu9un3ilS82hYDfK/Ml3pU2m45ONnMH86w5N+af2nRunYhyjmRdJ/nAX34b5C/lzzGbtK/3937RpRttgm3+lKg9pIXhnpOXyuN7LdJfSYWdV8aifOkQ/eEgXmyp+9QM+6/3HbO6LsR2+ujezQYde93mVZ2hd+47Um5TSBu2EG19B9PK/5R89MUVvfewON4X3fHxL1+N06KQ5AZogZWwxbnkceB2TJ/Qcj2169UtQLyhR/ZPdyec/j4y5PlxZq8SoMdkwBW8dqyGM1+VjtUZlVlc9UVoXuw0tPUXpGf1TGJkkkbjw2NR/uSxnjFb7UAgAAAAAAAADIMHP+Uhv+ZGbtKXeOn1OuPIYvvwaFoRtTUxJUaT2jRm8TvJTrX0k8df4Ywiv4pjkLbdtqZLVdzZDezvpVGdnUZ19j50PfUUopb5qOsV6gY/Lrcqy4nMeb1bZNi+fJcxewc+y77A1xLd051tvCnaZrrME+/1/JNktLK7StEcq3+mHA2s+X0VI9l+oa/EttEP+lNvT423/5BZZ/kU36UqvYMYl2DpPe4idETr9Ie7VCu+rw/lKbkl9eZljEVT5GmnPsU/xeUK1QG80Ecr/BzNW/R7Ri2/KxlY+XSslzHLKvb2m/1Bo1bZrAv9SyZ2U/kO0XzNBGGlN0TF4gnxNkf9b6fWL/ns1Vbdu46zXuS632exjyvsAaQzs/AYsE77na11427vJTl/illq/jymMyveZfakNdQedTexoBuydfUh+O+VIbcw2kbVsjnGPrDw4OqoGBgYtXBFeEEydOqBUrVlyRbaNt3z/Qrq0L2rZ1Qdu2JmjX1gVt27qgbVuXi7XtnCe1QRCokydPqnK5nDqXJHjvhGGoKpWKWrZsmTLNK6MeR9tefdCurQvatnVB27YmaNfWBW3buqBtW5e0bTvnSS0AAAAAAAAAAPB+g0BRAAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyCya1AAAAAAAAAAAyy/8DQrv5gorO350AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + " \n", + "def show_images(imgs, num_rows, num_cols, targets, scale=1.5):\n", + " figsize = (num_cols * scale, num_rows * scale)\n", + " _, axes = plt.subplots(num_rows, num_cols, figsize=figsize)\n", + " axes = axes.flatten()\n", + " for ax, img, target in zip(axes, imgs, targets):\n", + " if torch.is_tensor(img):\n", + " # 图片张量\n", + " ax.imshow(img.numpy())\n", + " else:\n", + " # PIL\n", + " ax.imshow(img)\n", + " # 设置坐标轴不可见\n", + " ax.axes.get_xaxis().set_visible(False)\n", + " ax.axes.get_yaxis().set_visible(False)\n", + " plt.subplots_adjust(hspace=0.35)\n", + " ax.set_title('{}'.format(target))\n", + " return axes\n", + " \n", + " \n", + " # 将dataloader转换成迭代器才可以使用next方法\n", + "X, y = next(iter(train_iter))\n", + "show_images(X.squeeze(), 3, 8, targets=y)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.构建CNN网络模型" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Net(\n", + " (conv1): Conv2d(1, 64, kernel_size=(1, 1), stride=(1, 1), padding=(1, 1))\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (pool1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu1): ReLU()\n", + " (conv3): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (conv4): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (pool2): MaxPool2d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu2): ReLU()\n", + " (fc5): Linear(in_features=8192, out_features=512, bias=True)\n", + " (drop1): Dropout(p=0.5, inplace=False)\n", + " (fc6): Linear(in_features=512, out_features=10, bias=True)\n", + ")\n" + ] + } + ], + "source": [ + "class Net(nn.Module):\n", + " def __init__(self):\n", + " super(Net, self).__init__()\n", + " self.conv1 = nn.Conv2d(1, 64, 1, padding=1)\n", + " self.conv2 = nn.Conv2d(64, 64, 3, padding=1)\n", + " self.pool1 = nn.MaxPool2d(2, 2)\n", + " self.bn1 = nn.BatchNorm2d(64)\n", + " self.relu1 = nn.ReLU()\n", + " \n", + " self.conv3 = nn.Conv2d(64, 128, 3, padding=1)\n", + " self.conv4 = nn.Conv2d(128, 128, 3, padding=1)\n", + " self.pool2 = nn.MaxPool2d(2, 2, padding=1)\n", + " self.bn2 = nn.BatchNorm2d(128)\n", + " self.relu2 = nn.ReLU()\n", + " \n", + " self.fc5 = nn.Linear(128 * 8 * 8, 512)\n", + " self.drop1 = nn.Dropout() # Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。\n", + " self.fc6 = nn.Linear(512, 10)\n", + " \n", + " def forward(self, x):\n", + " x = self.conv1(x)\n", + " x = self.conv2(x)\n", + " x = self.pool1(x)\n", + " x = self.bn1(x)\n", + " x = self.relu1(x)\n", + " \n", + " x = self.conv3(x)\n", + " x = self.conv4(x)\n", + " x = self.pool2(x)\n", + " x = self.bn2(x)\n", + " x = self.relu2(x)\n", + " \n", + " # print(\" x shape \",x.size())\n", + " x = x.view(-1, 128 * 8 * 8)\n", + " x = F.relu(self.fc5(x))\n", + " x = self.drop1(x)\n", + " x = self.fc6(x)\n", + " \n", + " return x\n", + "\n", + "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", + "model = Net()\n", + "model = model.to(device)\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "选择损失函数和优化器" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "import torch.optim as optim\n", + " \n", + "criterion = nn.CrossEntropyLoss() # 交叉熵损失\n", + "optimizer = optim.Adam(model.parameters(), lr=0.001) # lr->learning rate学习率" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "引入交叉熵损失函数:\n", + "![loss.png](images/loss.png)\n", + "\n", + "交叉熵刻画的是两个概率分布之间的距离, 通常用作分类模型的损失函数。\n", + "\n", + "训练和验证" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 1, Train Loss: 116.568001, Train Acc: 0.838664, Eval Loss: 79.558908, Eval Acc: 0.886914\n", + "epoch: 2, Train Loss: 74.341733, Train Acc: 0.892675, Eval Loss: 75.652881, Eval Acc: 0.887402\n", + "epoch: 3, Train Loss: 64.659075, Train Acc: 0.906555, Eval Loss: 75.196996, Eval Acc: 0.890332\n", + "epoch: 4, Train Loss: 57.744645, Train Acc: 0.916129, Eval Loss: 56.273264, Eval Acc: 0.920020\n", + "epoch: 5, Train Loss: 52.558216, Train Acc: 0.923088, Eval Loss: 59.876709, Eval Acc: 0.913184\n", + "epoch: 6, Train Loss: 47.428014, Train Acc: 0.931222, Eval Loss: 65.662161, Eval Acc: 0.907813\n", + "epoch: 7, Train Loss: 43.234852, Train Acc: 0.936264, Eval Loss: 55.222251, Eval Acc: 0.918945\n", + "epoch: 8, Train Loss: 39.767506, Train Acc: 0.940819, Eval Loss: 56.219621, Eval Acc: 0.921973\n", + "epoch: 9, Train Loss: 36.269612, Train Acc: 0.946559, Eval Loss: 52.689402, Eval Acc: 0.927734\n", + "epoch: 10, Train Loss: 33.258098, Train Acc: 0.950870, Eval Loss: 59.795824, Eval Acc: 0.919238\n", + "epoch: 11, Train Loss: 30.444373, Train Acc: 0.955225, Eval Loss: 59.884637, Eval Acc: 0.926562\n", + "epoch: 12, Train Loss: 27.483769, Train Acc: 0.958444, Eval Loss: 55.153226, Eval Acc: 0.930957\n", + "epoch: 13, Train Loss: 25.343694, Train Acc: 0.961974, Eval Loss: 59.775878, Eval Acc: 0.929004\n", + "epoch: 14, Train Loss: 23.015852, Train Acc: 0.964700, Eval Loss: 61.762659, Eval Acc: 0.928418\n", + "epoch: 15, Train Loss: 21.260556, Train Acc: 0.968772, Eval Loss: 64.819329, Eval Acc: 0.924023\n", + "epoch: 16, Train Loss: 19.781775, Train Acc: 0.969958, Eval Loss: 68.863604, Eval Acc: 0.926074\n", + "epoch: 17, Train Loss: 17.983666, Train Acc: 0.973144, Eval Loss: 67.878496, Eval Acc: 0.926855\n", + "epoch: 18, Train Loss: 16.717008, Train Acc: 0.974911, Eval Loss: 77.134951, Eval Acc: 0.913281\n", + "epoch: 19, Train Loss: 15.080171, Train Acc: 0.977648, Eval Loss: 70.881464, Eval Acc: 0.928613\n", + "epoch: 20, Train Loss: 14.862235, Train Acc: 0.978108, Eval Loss: 77.160358, Eval Acc: 0.929395\n", + "epoch: 21, Train Loss: 12.734360, Train Acc: 0.981976, Eval Loss: 74.630144, Eval Acc: 0.926758\n", + "epoch: 22, Train Loss: 12.591202, Train Acc: 0.981616, Eval Loss: 80.005537, Eval Acc: 0.922949\n", + "epoch: 23, Train Loss: 10.849321, Train Acc: 0.983766, Eval Loss: 74.993216, Eval Acc: 0.929492\n", + "epoch: 24, Train Loss: 10.858787, Train Acc: 0.984320, Eval Loss: 84.977518, Eval Acc: 0.926367\n", + "epoch: 25, Train Loss: 10.793279, Train Acc: 0.984497, Eval Loss: 86.774785, Eval Acc: 0.927246\n", + "epoch: 26, Train Loss: 11.411127, Train Acc: 0.983134, Eval Loss: 87.835250, Eval Acc: 0.930762\n", + "epoch: 27, Train Loss: 9.686472, Train Acc: 0.985511, Eval Loss: 84.375408, Eval Acc: 0.928125\n", + "epoch: 28, Train Loss: 9.319232, Train Acc: 0.986835, Eval Loss: 87.931099, Eval Acc: 0.928125\n", + "epoch: 29, Train Loss: 9.214815, Train Acc: 0.986613, Eval Loss: 88.753181, Eval Acc: 0.929102\n", + "epoch: 30, Train Loss: 7.825123, Train Acc: 0.988797, Eval Loss: 99.681157, Eval Acc: 0.930762\n", + "epoch: 31, Train Loss: 7.720167, Train Acc: 0.988730, Eval Loss: 90.650128, Eval Acc: 0.930469\n", + "epoch: 32, Train Loss: 7.511833, Train Acc: 0.988730, Eval Loss: 89.127966, Eval Acc: 0.925098\n", + "epoch: 33, Train Loss: 7.306731, Train Acc: 0.989268, Eval Loss: 99.198643, Eval Acc: 0.929688\n", + "epoch: 34, Train Loss: 8.329992, Train Acc: 0.987578, Eval Loss: 101.594429, Eval Acc: 0.927344\n", + "epoch: 35, Train Loss: 6.871579, Train Acc: 0.990259, Eval Loss: 111.201642, Eval Acc: 0.921582\n", + "epoch: 36, Train Loss: 6.912885, Train Acc: 0.989905, Eval Loss: 93.224741, Eval Acc: 0.928027\n", + "epoch: 37, Train Loss: 7.579764, Train Acc: 0.989794, Eval Loss: 99.386630, Eval Acc: 0.929199\n", + "epoch: 38, Train Loss: 6.206725, Train Acc: 0.990941, Eval Loss: 97.147580, Eval Acc: 0.928223\n", + "epoch: 39, Train Loss: 6.306162, Train Acc: 0.991312, Eval Loss: 101.139975, Eval Acc: 0.928516\n", + "epoch: 40, Train Loss: 6.665560, Train Acc: 0.990442, Eval Loss: 127.393374, Eval Acc: 0.924414\n" + ] + } + ], + "source": [ + "train_losses = []\n", + "train_acces = [] # 用数组保存每一轮迭代中,在测试数据上测试的损失值和精确度,也是为了通过画图展示出来。\n", + "eval_losses = []\n", + "eval_acces = []\n", + "\n", + "patience = 7\n", + "epochs = 40\n", + "for epoch in range(epochs):\n", + " # =====训练=====\n", + " train_loss = 0\n", + " train_acc = 0\n", + " model.train()\n", + " for data, label in train_iter:\n", + " data, label = data.cuda(), label.cuda()\n", + " output = model(data)\n", + " loss = criterion(output, label)\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " train_loss += loss.item()*data.size(0)\n", + " out_t = output.argmax(dim=1)\n", + " num_correct = (out_t == label).sum().item()\n", + " acc = num_correct / data.shape[0]\n", + " train_acc += acc\n", + " train_losses.append(train_loss / len(train_iter))\n", + " train_acces.append(train_acc / len(train_iter))\n", + "\n", + " # =====训练=====\n", + " eval_loss = 0\n", + " eval_acc = 0\n", + " model.eval()\n", + " for data, label in test_iter:\n", + " data, label = data.cuda(), label.cuda()\n", + " output = model(data)\n", + " loss = criterion(output, label)*data.size(0)\n", + " eval_loss += loss.item()\n", + " out_t = output.argmax(dim=1) # 取出预测的最大值的索引\n", + " num_correct = (out_t == label).sum().item() # 判断是否预测正确\n", + " acc = num_correct / data.shape[0] # 计算准确率\n", + " eval_acc += acc\n", + " eval_losses.append(eval_loss / len(test_iter))\n", + " eval_acces.append(eval_acc / len(test_iter))\n", + "\n", + " print('epoch: {}, Train Loss: {:.6f}, Train Acc: {:.6f}, Eval Loss: {:.6f}, Eval Acc: {:.6f}'\n", + " .format(epoch+1, train_loss / len(train_iter), train_acc / len(train_iter),\n", + " eval_loss / len(test_iter), eval_acc / len(test_iter)))\n", + "\n", + "torch.save(model, \"mymodel.pth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# 写成csv\n", + "model = torch.load(\"mymodel.pth\")\n", + "model = model.to(device)\n", + "id = 0\n", + "preds_list = []\n", + "with torch.no_grad():\n", + " for x, y in test_iter:\n", + " batch_pred = list(model(x.to(device)).argmax(dim=1).cpu().numpy())\n", + " for y_pred in batch_pred:\n", + " preds_list.append((id, y_pred))\n", + " id += 1\n", + "# print(batch_pred)\n", + " \n", + "with open('result.csv', 'w') as f:\n", + " f.write('Id,Category\\n')\n", + " for id, pred in preds_list:\n", + " f.write('{},{}\\n'.format(id, pred))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "绘制训练过程中的loss和acc的曲线,使得数据更直观\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "epoch_list = list(range(1,41))\n", + "plt.subplot(2, 1, 1) \n", + "plt.plot(epoch_list, eval_acces, 'o-') \n", + "plt.title('accuracy vs. epoches') \n", + "plt.ylabel('accuracy') \n", + "plt.subplot(2, 1, 2) \n", + "plt.plot(epoch_list, eval_losses, '.-') \n", + "plt.xlabel('loss vs. epoches') \n", + "plt.ylabel('loss') \n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.模型测试 \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在淘宝上爬取一些图片做测试:" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "请输入关键词:裤子\n", + "请输入要爬取的页数:2\n" + ] + } + ], + "source": [ + "import re\n", + "import requests \n", + "import time\n", + "import os\n", + " \n", + "def get_one_html(url): # 获取一个页面的html页面并返回\n", + " try:\n", + " # headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}\n", + " headers = {\n", + " 'authority': 's.taobao.com',\n", + " 'upgrade-insecure-requests': '1',\n", + " 'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',\n", + " 'sec-fetch-dest': 'document',\n", + " 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',\n", + " 'sec-fetch-site': 'same-origin',\n", + " 'sec-fetch-mode': 'navigate',\n", + " 'sec-fetch-user': '?1',\n", + " 'referer': 'https://s.taobao.com/search?q=%E4%B9%A6%E5%8C%85&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200312&ie=utf8',\n", + " 'accept-language': 'zh-CN,zh;q=0.9',\n", + " 'cookie': 'miid=253146491399089190; thw=cn; cna=o391FTBhsgUCAdrD5AnR+QjC; hng=CN%7Czh-CN%7CCNY%7C156; tracknick=%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu9896; tg=0; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; t=a7362f9a33953472d0663cbb296a53fd; enc=jXmwR%2BzLAdHsQMP0d%2F9pId1Dn%2BW%2FtphblF4%2FsFXBDkrBKBLkGD4tksHXhn5%2BPTVPEfnLekpkIzYNZENT3sCchA%3D%3D; _samesite_flag_=true; cookie2=1bb1c10d29aca83180c0390f0d1fb1fc; _tb_token_=33b66b43e3335; sgcookie=EBnq%2FRUJ6VqRYs7GbgSt0; unb=2269301708; uc3=id2=UUpngTzc2Y13gg%3D%3D&lg2=VT5L2FSpMGV7TQ%3D%3D&vt3=F8dBxd7CT335hOeshsM%3D&nk2=o688bJ2t2lOAtK8MXRkc9rS1xdZODw%3D%3D; csg=bb101fa2; lgc=%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu9896; cookie17=UUpngTzc2Y13gg%3D%3D; dnk=%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu9896; skt=d1b053176dd80fc6; existShop=MTU4Mzk4NzY5Ng%3D%3D; uc4=id4=0%40U2gtEEjyK2oSMoVT0y3FwsMQmuba&nk4=0%40ofkQgMIYV1w9DtinNnKgQnwEY%2B9mIA3bhXzykl%2Bh56ME; _cc_=UIHiLt3xSw%3D%3D; _l_g_=Ug%3D%3D; sg=%E9%A2%968e; _nk_=%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu5566%5Cu9896; cookie1=UNcJvhnwxmsnc%2BQXwkd900lS4%2BSdsCS20k5pE5xYJ2Q%3D; alitrackid=login.taobao.com; lastalitrackid=login.taobao.com; tfstk=cFMhBQjc8XPBkECPG6wIVOcoz-9AZZIURSFZQvf4ybSgh8kNiq5Nge_NRPune_1..; mt=ci=20_1; v=0; Hm_lvt_eaa57ca47dacb4ad4f5a257001a3457c=1583980126,1583987707; uc1=cookie16=Vq8l%2BKCLySLZMFWHxqs8fwqnEw%3D%3D&cookie21=VFC%2FuZ9aiKCaj7AzMHh1&cookie15=VFC%2FuZ9ayeYq2g%3D%3D&existShop=false&pas=0&cookie14=UoTUOafM2gaxgg%3D%3D&tag=8&lng=zh_CN; JSESSIONID=AF10B48836FA6F017CE4F6D93629F9C4; Hm_lpvt_eaa57ca47dacb4ad4f5a257001a3457c=1583989886; isg=BM3NGh5pr8U80wicTAKS00EO3OlHqgF8Ot6V2g9TpGTZBuy41_jeTHTUcJpgnhk0; l=dBEklFpHqPrWkOUQBOfNqASSiU_ONIdb8SFy7q0UFICPO7CHlfwOWZq1YKLMCnGVH6kWR3Rp9jjQBqLO1yCrnxv9-3k_J_DmndC..',\n", + " }\n", + " r = requests.get(url, headers=headers)\n", + " if r.status_code == 200:\n", + " r.encoding = r.apparent_encoding\n", + " return r.text\n", + " except Exception as er:\n", + " print(er)\n", + " \n", + "def get_pic_url(html): # 用正则提取每一页的关键信息返回\n", + " pic_urls = re.findall('\"pic_url\":\"(.*?)\"', html, re.S) #\"pic_url\":\"(.*?)\"\n", + " img_url = [] # 创建空列表,装每一页的所有图片的链接\n", + " for one_pic_url in pic_urls:\n", + " img_url.append('http:'+one_pic_url)\n", + " return img_url # 返回图片的链接的列表\n", + " \n", + "def write_to_file(page, img_urls): # 写入文件(下载)\n", + " i = page # 利用页码,防止后面的写入会覆盖之前的\n", + " n = 0\n", + " for pic_url in img_urls:\n", + " pic = requests.get(pic_url)\n", + " with open('C:/Users/20329/Desktop/课程/机器学习与人工智能/report/report_03_Fashion/data/picture/'+str(i)+str(n)+'.jpg', 'wb') as f:\n", + " f.write(pic.content)\n", + "# print('---第{}页第{}张图下载成功---'.format(str(i), str(n)))\n", + " n += 1\n", + "def main(keyword, page_num, url):\n", + " html = get_one_html(url) # 调用函数得到该页的html\n", + " # print(html)\n", + " img_urls = get_pic_url(html) # 调用函数得到该页的所有图片的链接\n", + "# print(img_urls)\n", + " write_to_file(page, img_urls) # 调用函数,写入即下载图片\n", + " \n", + "if __name__ == '__main__':\n", + " keyword = input('请输入关键词:')\n", + " page_num = eval(input('请输入要爬取的页数:'))\n", + " try:\n", + " if os.path.exists('C:/Users/20329/Desktop/课程/机器学习与人工智能/report/report_03_Fashion/data/picture/') == False:\n", + " os.mkdir('C:/Users/20329/Desktop/课程/机器学习与人工智能/report/report_03_Fashion/data/picture/')\n", + " for page in range(0, page_num):\n", + " # 裤子\n", + " url = \"https://s.taobao.com/search?q=%E8%A3%A4%E5%AD%90&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.jianhua.201856-taobao-item.2&ie=utf8&initiative_id=tbindexz_20170306\"\n", + " main(keyword, page_num, url)\n", + " if page % 2 == 0:\n", + " time.sleep(10) # 每爬取2页停留10秒\n", + " except Exception as err:\n", + " print(err)\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "将模型运用到自己爬取的图片上,一些爬取的数据如下图:\n", + "![kuzi.png](images/kuzi.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "数据处理
\n", + "将图片转为28x28的灰度图并构建标签,使用所训练的模型进行预测分类。
\n", + "![result.png](images/result.png)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 总结:\n", + "\n", + " 本次实验让我充分了解并掌握了神经网络的构建与学习,并且学会了如何进行简单的爬虫程序编写。在编写爬虫程序时遇到了许多问题,例如爬取淘宝网站时总是遇到需要登陆的情况,最终通过查阅资料解决了该问题。\n", + "本次实验任务提升了我自主解决问题的能力,使我受益匪浅!\n" + ] + } + ], + "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.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/report_03_Fashion/Report_03_Fashion.pdf b/report_03_Fashion/Report_03_Fashion.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a45638d9e485bb5948d34e19a81f54997621a443 Binary files /dev/null and b/report_03_Fashion/Report_03_Fashion.pdf differ diff --git a/report_03_Fashion/images/classification.png b/report_03_Fashion/images/classification.png new file mode 100644 index 0000000000000000000000000000000000000000..e429dde5eeb7681ded6234667292aef573407c1d Binary files /dev/null and b/report_03_Fashion/images/classification.png differ diff --git a/report_03_Fashion/images/kuzi.png b/report_03_Fashion/images/kuzi.png new file mode 100644 index 0000000000000000000000000000000000000000..371ee1e897e095aac6b0114d2f759b0bde477812 Binary files /dev/null and b/report_03_Fashion/images/kuzi.png differ diff --git a/report_03_Fashion/images/loss.png b/report_03_Fashion/images/loss.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c02b741a5c7ca66e93ec5ddc03b1869c20e65f Binary files /dev/null and b/report_03_Fashion/images/loss.png differ diff --git a/report_03_Fashion/images/result.png b/report_03_Fashion/images/result.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac6520bcd5aefdb919b8e15b6a8b9dfe8ea2b99 Binary files /dev/null and b/report_03_Fashion/images/result.png differ diff --git "a/report_03_Fashion/images/\346\265\201\347\250\213\345\233\276.png" "b/report_03_Fashion/images/\346\265\201\347\250\213\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..1d990d44f2cdff6b04283991f86f0aeb092cf251 Binary files /dev/null and "b/report_03_Fashion/images/\346\265\201\347\250\213\345\233\276.png" differ diff --git a/report_03_Fashion/result.csv b/report_03_Fashion/result.csv new file mode 100644 index 0000000000000000000000000000000000000000..9f33d96cb8ccad4a401149c3811aef8d3c25dfbe --- /dev/null +++ b/report_03_Fashion/result.csv @@ -0,0 +1,10001 @@ +Id,Category +0,9 +1,2 +2,1 +3,1 +4,6 +5,1 +6,4 +7,6 +8,5 +9,7 +10,4 +11,5 +12,7 +13,3 +14,4 +15,1 +16,2 +17,4 +18,8 +19,0 +20,2 +21,5 +22,7 +23,5 +24,1 +25,4 +26,6 +27,0 +28,9 +29,3 +30,8 +31,8 +32,3 +33,3 +34,8 +35,0 +36,7 +37,5 +38,7 +39,9 +40,6 +41,1 +42,6 +43,7 +44,6 +45,7 +46,2 +47,1 +48,6 +49,6 +50,4 +51,4 +52,5 +53,8 +54,2 +55,2 +56,8 +57,4 +58,8 +59,0 +60,7 +61,7 +62,8 +63,5 +64,1 +65,1 +66,2 +67,4 +68,7 +69,8 +70,7 +71,0 +72,2 +73,6 +74,2 +75,3 +76,1 +77,2 +78,8 +79,4 +80,1 +81,8 +82,5 +83,9 +84,5 +85,0 +86,3 +87,2 +88,0 +89,6 +90,5 +91,3 +92,6 +93,7 +94,1 +95,8 +96,0 +97,1 +98,4 +99,2 +100,3 +101,6 +102,7 +103,6 +104,7 +105,8 +106,5 +107,7 +108,9 +109,4 +110,2 +111,5 +112,7 +113,0 +114,5 +115,2 +116,8 +117,6 +118,7 +119,8 +120,0 +121,0 +122,9 +123,9 +124,3 +125,0 +126,8 +127,4 +128,1 +129,5 +130,4 +131,1 +132,9 +133,1 +134,8 +135,6 +136,2 +137,1 +138,2 +139,5 +140,1 +141,0 +142,0 +143,0 +144,1 +145,6 +146,1 +147,3 +148,2 +149,2 +150,3 +151,4 +152,1 +153,3 +154,5 +155,0 +156,4 +157,7 +158,9 +159,3 +160,5 +161,2 +162,3 +163,9 +164,0 +165,9 +166,4 +167,7 +168,4 +169,2 +170,6 +171,5 +172,6 +173,1 +174,2 +175,1 +176,3 +177,0 +178,9 +179,1 +180,0 +181,9 +182,3 +183,6 +184,7 +185,9 +186,9 +187,4 +188,4 +189,7 +190,1 +191,2 +192,1 +193,6 +194,3 +195,2 +196,8 +197,3 +198,6 +199,1 +200,1 +201,0 +202,2 +203,9 +204,2 +205,4 +206,0 +207,7 +208,9 +209,8 +210,4 +211,1 +212,8 +213,4 +214,1 +215,3 +216,1 +217,6 +218,7 +219,2 +220,8 +221,5 +222,2 +223,0 +224,7 +225,7 +226,6 +227,4 +228,7 +229,0 +230,7 +231,8 +232,9 +233,2 +234,9 +235,0 +236,5 +237,1 +238,4 +239,4 +240,5 +241,4 +242,9 +243,2 +244,2 +245,8 +246,6 +247,4 +248,2 +249,2 +250,9 +251,7 +252,6 +253,5 +254,5 +255,4 +256,8 +257,5 +258,4 +259,3 +260,0 +261,4 +262,8 +263,0 +264,0 +265,6 +266,3 +267,8 +268,9 +269,6 +270,1 +271,6 +272,0 +273,2 +274,3 +275,0 +276,8 +277,3 +278,7 +279,4 +280,0 +281,1 +282,6 +283,3 +284,0 +285,6 +286,6 +287,7 +288,5 +289,4 +290,5 +291,9 +292,5 +293,6 +294,5 +295,5 +296,1 +297,9 +298,8 +299,8 +300,3 +301,3 +302,6 +303,8 +304,0 +305,0 +306,2 +307,9 +308,7 +309,7 +310,1 +311,3 +312,8 +313,4 +314,2 +315,4 +316,7 +317,1 +318,6 +319,4 +320,8 +321,2 +322,6 +323,5 +324,6 +325,6 +326,7 +327,7 +328,7 +329,3 +330,3 +331,7 +332,0 +333,7 +334,1 +335,3 +336,7 +337,2 +338,2 +339,3 +340,4 +341,0 +342,3 +343,1 +344,6 +345,1 +346,9 +347,4 +348,9 +349,9 +350,1 +351,7 +352,0 +353,3 +354,6 +355,0 +356,2 +357,4 +358,8 +359,0 +360,1 +361,6 +362,2 +363,4 +364,4 +365,7 +366,3 +367,2 +368,6 +369,5 +370,0 +371,7 +372,9 +373,4 +374,0 +375,9 +376,3 +377,9 +378,3 +379,2 +380,5 +381,6 +382,0 +383,3 +384,5 +385,8 +386,1 +387,6 +388,2 +389,6 +390,6 +391,4 +392,9 +393,5 +394,6 +395,0 +396,4 +397,6 +398,1 +399,2 +400,0 +401,9 +402,7 +403,0 +404,4 +405,4 +406,6 +407,6 +408,2 +409,1 +410,6 +411,6 +412,7 +413,2 +414,9 +415,4 +416,2 +417,1 +418,5 +419,4 +420,5 +421,3 +422,8 +423,5 +424,8 +425,4 +426,4 +427,8 +428,9 +429,8 +430,6 +431,2 +432,4 +433,4 +434,2 +435,4 +436,1 +437,4 +438,1 +439,3 +440,0 +441,7 +442,8 +443,8 +444,6 +445,5 +446,3 +447,1 +448,9 +449,5 +450,3 +451,3 +452,6 +453,1 +454,6 +455,2 +456,9 +457,2 +458,0 +459,6 +460,0 +461,4 +462,2 +463,0 +464,0 +465,3 +466,3 +467,8 +468,2 +469,8 +470,9 +471,4 +472,0 +473,7 +474,0 +475,4 +476,4 +477,9 +478,2 +479,9 +480,5 +481,9 +482,3 +483,7 +484,5 +485,7 +486,8 +487,1 +488,0 +489,0 +490,3 +491,6 +492,8 +493,9 +494,7 +495,9 +496,1 +497,2 +498,7 +499,0 +500,2 +501,0 +502,5 +503,7 +504,1 +505,8 +506,2 +507,2 +508,2 +509,2 +510,4 +511,6 +512,6 +513,1 +514,9 +515,8 +516,5 +517,1 +518,9 +519,1 +520,2 +521,8 +522,3 +523,8 +524,9 +525,2 +526,4 +527,2 +528,8 +529,6 +530,2 +531,0 +532,5 +533,8 +534,8 +535,5 +536,3 +537,9 +538,4 +539,3 +540,4 +541,4 +542,5 +543,1 +544,0 +545,1 +546,2 +547,0 +548,6 +549,9 +550,6 +551,1 +552,5 +553,1 +554,1 +555,1 +556,9 +557,3 +558,4 +559,5 +560,3 +561,6 +562,6 +563,6 +564,4 +565,6 +566,0 +567,5 +568,8 +569,3 +570,3 +571,4 +572,6 +573,7 +574,7 +575,8 +576,9 +577,0 +578,6 +579,8 +580,7 +581,6 +582,7 +583,9 +584,3 +585,4 +586,6 +587,3 +588,5 +589,0 +590,1 +591,1 +592,5 +593,9 +594,3 +595,6 +596,5 +597,7 +598,8 +599,1 +600,2 +601,9 +602,7 +603,7 +604,1 +605,0 +606,9 +607,6 +608,2 +609,9 +610,0 +611,7 +612,6 +613,8 +614,2 +615,7 +616,6 +617,2 +618,3 +619,8 +620,2 +621,2 +622,6 +623,9 +624,3 +625,0 +626,7 +627,8 +628,6 +629,6 +630,9 +631,4 +632,2 +633,6 +634,6 +635,8 +636,0 +637,4 +638,4 +639,4 +640,7 +641,5 +642,8 +643,4 +644,9 +645,1 +646,0 +647,5 +648,4 +649,4 +650,4 +651,0 +652,0 +653,4 +654,5 +655,6 +656,0 +657,4 +658,5 +659,2 +660,1 +661,3 +662,1 +663,1 +664,6 +665,4 +666,3 +667,8 +668,2 +669,8 +670,6 +671,7 +672,0 +673,4 +674,6 +675,8 +676,5 +677,0 +678,8 +679,2 +680,9 +681,0 +682,8 +683,9 +684,6 +685,4 +686,2 +687,9 +688,3 +689,4 +690,5 +691,0 +692,9 +693,5 +694,3 +695,6 +696,6 +697,8 +698,3 +699,3 +700,8 +701,1 +702,4 +703,0 +704,9 +705,7 +706,9 +707,4 +708,8 +709,9 +710,1 +711,3 +712,7 +713,3 +714,0 +715,4 +716,4 +717,7 +718,1 +719,0 +720,0 +721,8 +722,5 +723,2 +724,6 +725,6 +726,6 +727,4 +728,1 +729,5 +730,9 +731,0 +732,0 +733,1 +734,6 +735,5 +736,0 +737,0 +738,3 +739,3 +740,3 +741,8 +742,1 +743,1 +744,8 +745,5 +746,7 +747,7 +748,8 +749,7 +750,2 +751,0 +752,7 +753,0 +754,8 +755,0 +756,9 +757,7 +758,6 +759,1 +760,6 +761,6 +762,4 +763,8 +764,0 +765,6 +766,3 +767,6 +768,8 +769,4 +770,0 +771,8 +772,9 +773,2 +774,4 +775,5 +776,9 +777,1 +778,4 +779,4 +780,9 +781,2 +782,1 +783,7 +784,9 +785,5 +786,8 +787,3 +788,7 +789,7 +790,1 +791,1 +792,1 +793,6 +794,9 +795,5 +796,3 +797,8 +798,4 +799,2 +800,7 +801,4 +802,8 +803,3 +804,2 +805,4 +806,4 +807,7 +808,1 +809,4 +810,9 +811,3 +812,5 +813,8 +814,5 +815,4 +816,7 +817,2 +818,8 +819,5 +820,9 +821,3 +822,3 +823,6 +824,7 +825,1 +826,7 +827,3 +828,5 +829,4 +830,4 +831,5 +832,8 +833,3 +834,7 +835,1 +836,2 +837,6 +838,1 +839,9 +840,8 +841,2 +842,7 +843,1 +844,3 +845,7 +846,5 +847,9 +848,9 +849,1 +850,8 +851,4 +852,5 +853,7 +854,1 +855,9 +856,8 +857,1 +858,0 +859,0 +860,6 +861,1 +862,7 +863,1 +864,1 +865,5 +866,7 +867,1 +868,5 +869,2 +870,6 +871,3 +872,3 +873,1 +874,1 +875,4 +876,9 +877,4 +878,3 +879,7 +880,7 +881,6 +882,8 +883,9 +884,9 +885,6 +886,1 +887,3 +888,4 +889,0 +890,3 +891,5 +892,9 +893,4 +894,0 +895,5 +896,5 +897,1 +898,5 +899,7 +900,8 +901,7 +902,5 +903,3 +904,6 +905,2 +906,0 +907,4 +908,0 +909,2 +910,0 +911,2 +912,5 +913,5 +914,1 +915,2 +916,0 +917,9 +918,3 +919,7 +920,8 +921,4 +922,8 +923,3 +924,4 +925,7 +926,0 +927,7 +928,4 +929,8 +930,6 +931,3 +932,4 +933,4 +934,3 +935,4 +936,9 +937,6 +938,6 +939,3 +940,9 +941,1 +942,8 +943,1 +944,7 +945,5 +946,5 +947,6 +948,0 +949,2 +950,1 +951,0 +952,5 +953,4 +954,0 +955,0 +956,6 +957,7 +958,5 +959,0 +960,2 +961,5 +962,9 +963,6 +964,8 +965,6 +966,6 +967,4 +968,6 +969,2 +970,9 +971,0 +972,7 +973,7 +974,1 +975,4 +976,4 +977,6 +978,5 +979,0 +980,9 +981,9 +982,8 +983,8 +984,3 +985,0 +986,2 +987,4 +988,6 +989,6 +990,3 +991,2 +992,3 +993,5 +994,6 +995,9 +996,3 +997,4 +998,7 +999,7 +1000,6 +1001,3 +1002,5 +1003,5 +1004,6 +1005,6 +1006,5 +1007,9 +1008,6 +1009,3 +1010,7 +1011,5 +1012,1 +1013,9 +1014,8 +1015,8 +1016,9 +1017,9 +1018,2 +1019,7 +1020,2 +1021,2 +1022,3 +1023,8 +1024,7 +1025,4 +1026,4 +1027,5 +1028,4 +1029,3 +1030,6 +1031,1 +1032,4 +1033,9 +1034,3 +1035,1 +1036,6 +1037,5 +1038,0 +1039,5 +1040,7 +1041,5 +1042,2 +1043,3 +1044,3 +1045,9 +1046,6 +1047,3 +1048,6 +1049,0 +1050,4 +1051,5 +1052,0 +1053,4 +1054,9 +1055,6 +1056,6 +1057,3 +1058,6 +1059,7 +1060,0 +1061,2 +1062,1 +1063,1 +1064,4 +1065,4 +1066,8 +1067,5 +1068,9 +1069,0 +1070,1 +1071,6 +1072,5 +1073,1 +1074,4 +1075,4 +1076,8 +1077,4 +1078,5 +1079,7 +1080,3 +1081,8 +1082,1 +1083,1 +1084,9 +1085,8 +1086,1 +1087,3 +1088,3 +1089,7 +1090,5 +1091,1 +1092,5 +1093,7 +1094,8 +1095,9 +1096,6 +1097,3 +1098,5 +1099,8 +1100,4 +1101,4 +1102,3 +1103,8 +1104,6 +1105,5 +1106,5 +1107,6 +1108,7 +1109,1 +1110,5 +1111,3 +1112,5 +1113,4 +1114,8 +1115,6 +1116,2 +1117,1 +1118,1 +1119,7 +1120,9 +1121,6 +1122,2 +1123,7 +1124,0 +1125,4 +1126,8 +1127,2 +1128,2 +1129,0 +1130,6 +1131,4 +1132,4 +1133,9 +1134,6 +1135,8 +1136,4 +1137,5 +1138,9 +1139,6 +1140,3 +1141,9 +1142,6 +1143,9 +1144,8 +1145,7 +1146,4 +1147,4 +1148,2 +1149,5 +1150,3 +1151,7 +1152,6 +1153,7 +1154,2 +1155,9 +1156,3 +1157,7 +1158,0 +1159,9 +1160,3 +1161,8 +1162,4 +1163,4 +1164,7 +1165,2 +1166,4 +1167,6 +1168,2 +1169,0 +1170,7 +1171,8 +1172,4 +1173,2 +1174,6 +1175,5 +1176,5 +1177,6 +1178,4 +1179,5 +1180,5 +1181,8 +1182,1 +1183,1 +1184,7 +1185,4 +1186,6 +1187,9 +1188,6 +1189,8 +1190,7 +1191,2 +1192,2 +1193,1 +1194,2 +1195,7 +1196,7 +1197,4 +1198,9 +1199,8 +1200,5 +1201,1 +1202,1 +1203,0 +1204,2 +1205,0 +1206,9 +1207,0 +1208,1 +1209,9 +1210,3 +1211,5 +1212,5 +1213,2 +1214,0 +1215,7 +1216,0 +1217,2 +1218,3 +1219,1 +1220,3 +1221,1 +1222,3 +1223,4 +1224,9 +1225,2 +1226,4 +1227,9 +1228,5 +1229,2 +1230,9 +1231,6 +1232,3 +1233,4 +1234,4 +1235,6 +1236,6 +1237,5 +1238,2 +1239,2 +1240,5 +1241,6 +1242,1 +1243,4 +1244,2 +1245,5 +1246,4 +1247,4 +1248,8 +1249,0 +1250,2 +1251,4 +1252,0 +1253,6 +1254,6 +1255,6 +1256,8 +1257,3 +1258,8 +1259,2 +1260,0 +1261,4 +1262,4 +1263,8 +1264,8 +1265,4 +1266,5 +1267,2 +1268,2 +1269,3 +1270,0 +1271,1 +1272,9 +1273,0 +1274,9 +1275,1 +1276,9 +1277,6 +1278,5 +1279,2 +1280,4 +1281,7 +1282,3 +1283,8 +1284,5 +1285,0 +1286,8 +1287,0 +1288,7 +1289,5 +1290,5 +1291,9 +1292,5 +1293,0 +1294,6 +1295,0 +1296,3 +1297,4 +1298,4 +1299,4 +1300,5 +1301,7 +1302,1 +1303,3 +1304,4 +1305,6 +1306,6 +1307,5 +1308,1 +1309,6 +1310,7 +1311,3 +1312,4 +1313,8 +1314,8 +1315,2 +1316,8 +1317,9 +1318,4 +1319,1 +1320,6 +1321,5 +1322,4 +1323,7 +1324,8 +1325,5 +1326,6 +1327,8 +1328,5 +1329,4 +1330,2 +1331,8 +1332,9 +1333,8 +1334,4 +1335,4 +1336,6 +1337,8 +1338,8 +1339,2 +1340,0 +1341,9 +1342,4 +1343,4 +1344,8 +1345,1 +1346,3 +1347,6 +1348,1 +1349,9 +1350,2 +1351,1 +1352,6 +1353,2 +1354,7 +1355,9 +1356,4 +1357,6 +1358,0 +1359,4 +1360,4 +1361,2 +1362,4 +1363,5 +1364,0 +1365,2 +1366,8 +1367,3 +1368,7 +1369,6 +1370,4 +1371,0 +1372,0 +1373,5 +1374,4 +1375,8 +1376,4 +1377,4 +1378,3 +1379,0 +1380,2 +1381,1 +1382,7 +1383,7 +1384,5 +1385,4 +1386,7 +1387,2 +1388,6 +1389,7 +1390,1 +1391,3 +1392,1 +1393,3 +1394,3 +1395,6 +1396,6 +1397,1 +1398,7 +1399,0 +1400,4 +1401,7 +1402,1 +1403,0 +1404,6 +1405,5 +1406,8 +1407,4 +1408,6 +1409,7 +1410,9 +1411,5 +1412,0 +1413,7 +1414,9 +1415,5 +1416,1 +1417,2 +1418,9 +1419,5 +1420,5 +1421,3 +1422,9 +1423,9 +1424,1 +1425,6 +1426,7 +1427,8 +1428,0 +1429,1 +1430,7 +1431,2 +1432,7 +1433,1 +1434,1 +1435,5 +1436,5 +1437,6 +1438,4 +1439,5 +1440,9 +1441,5 +1442,5 +1443,2 +1444,3 +1445,9 +1446,3 +1447,8 +1448,5 +1449,4 +1450,0 +1451,0 +1452,6 +1453,5 +1454,7 +1455,8 +1456,5 +1457,2 +1458,0 +1459,4 +1460,4 +1461,7 +1462,6 +1463,0 +1464,5 +1465,1 +1466,7 +1467,2 +1468,3 +1469,6 +1470,8 +1471,9 +1472,8 +1473,7 +1474,1 +1475,2 +1476,3 +1477,2 +1478,9 +1479,7 +1480,5 +1481,6 +1482,1 +1483,0 +1484,7 +1485,1 +1486,2 +1487,4 +1488,9 +1489,3 +1490,6 +1491,4 +1492,4 +1493,3 +1494,0 +1495,0 +1496,2 +1497,3 +1498,6 +1499,1 +1500,3 +1501,5 +1502,6 +1503,5 +1504,0 +1505,9 +1506,1 +1507,1 +1508,8 +1509,0 +1510,9 +1511,5 +1512,0 +1513,5 +1514,4 +1515,6 +1516,7 +1517,1 +1518,1 +1519,5 +1520,3 +1521,8 +1522,9 +1523,8 +1524,3 +1525,8 +1526,9 +1527,2 +1528,2 +1529,1 +1530,1 +1531,3 +1532,5 +1533,6 +1534,7 +1535,1 +1536,9 +1537,9 +1538,2 +1539,2 +1540,7 +1541,0 +1542,1 +1543,3 +1544,9 +1545,6 +1546,3 +1547,7 +1548,2 +1549,8 +1550,1 +1551,8 +1552,0 +1553,7 +1554,9 +1555,8 +1556,5 +1557,8 +1558,2 +1559,6 +1560,4 +1561,0 +1562,6 +1563,5 +1564,8 +1565,3 +1566,8 +1567,5 +1568,5 +1569,7 +1570,3 +1571,7 +1572,6 +1573,7 +1574,0 +1575,2 +1576,2 +1577,5 +1578,3 +1579,5 +1580,1 +1581,1 +1582,7 +1583,7 +1584,6 +1585,3 +1586,6 +1587,4 +1588,2 +1589,8 +1590,6 +1591,3 +1592,1 +1593,4 +1594,9 +1595,9 +1596,4 +1597,5 +1598,2 +1599,2 +1600,7 +1601,8 +1602,0 +1603,7 +1604,9 +1605,1 +1606,2 +1607,9 +1608,4 +1609,7 +1610,3 +1611,4 +1612,3 +1613,3 +1614,1 +1615,8 +1616,8 +1617,5 +1618,3 +1619,8 +1620,0 +1621,3 +1622,4 +1623,3 +1624,2 +1625,0 +1626,4 +1627,7 +1628,3 +1629,6 +1630,8 +1631,3 +1632,7 +1633,7 +1634,3 +1635,1 +1636,7 +1637,5 +1638,8 +1639,8 +1640,2 +1641,0 +1642,0 +1643,4 +1644,4 +1645,8 +1646,5 +1647,7 +1648,0 +1649,6 +1650,0 +1651,7 +1652,7 +1653,3 +1654,9 +1655,2 +1656,5 +1657,9 +1658,7 +1659,1 +1660,7 +1661,2 +1662,4 +1663,5 +1664,1 +1665,6 +1666,5 +1667,4 +1668,5 +1669,0 +1670,4 +1671,4 +1672,1 +1673,4 +1674,4 +1675,8 +1676,4 +1677,5 +1678,9 +1679,4 +1680,1 +1681,1 +1682,5 +1683,2 +1684,3 +1685,5 +1686,6 +1687,3 +1688,9 +1689,7 +1690,5 +1691,3 +1692,8 +1693,8 +1694,8 +1695,9 +1696,1 +1697,1 +1698,6 +1699,3 +1700,1 +1701,6 +1702,3 +1703,4 +1704,9 +1705,9 +1706,6 +1707,0 +1708,6 +1709,9 +1710,4 +1711,9 +1712,6 +1713,6 +1714,1 +1715,8 +1716,9 +1717,2 +1718,9 +1719,4 +1720,8 +1721,0 +1722,7 +1723,2 +1724,3 +1725,6 +1726,2 +1727,5 +1728,6 +1729,1 +1730,9 +1731,6 +1732,2 +1733,2 +1734,9 +1735,9 +1736,6 +1737,8 +1738,3 +1739,6 +1740,6 +1741,6 +1742,0 +1743,4 +1744,2 +1745,6 +1746,6 +1747,5 +1748,0 +1749,2 +1750,7 +1751,8 +1752,7 +1753,4 +1754,6 +1755,6 +1756,6 +1757,5 +1758,2 +1759,4 +1760,2 +1761,9 +1762,5 +1763,6 +1764,6 +1765,7 +1766,0 +1767,1 +1768,9 +1769,5 +1770,5 +1771,0 +1772,7 +1773,7 +1774,5 +1775,0 +1776,5 +1777,0 +1778,8 +1779,4 +1780,7 +1781,9 +1782,8 +1783,2 +1784,4 +1785,7 +1786,3 +1787,3 +1788,7 +1789,7 +1790,7 +1791,8 +1792,4 +1793,9 +1794,5 +1795,7 +1796,6 +1797,5 +1798,7 +1799,5 +1800,1 +1801,3 +1802,0 +1803,4 +1804,9 +1805,9 +1806,8 +1807,3 +1808,7 +1809,0 +1810,3 +1811,4 +1812,9 +1813,3 +1814,3 +1815,1 +1816,7 +1817,9 +1818,1 +1819,5 +1820,7 +1821,2 +1822,7 +1823,6 +1824,5 +1825,5 +1826,3 +1827,7 +1828,5 +1829,5 +1830,4 +1831,0 +1832,7 +1833,3 +1834,3 +1835,2 +1836,6 +1837,2 +1838,9 +1839,9 +1840,0 +1841,3 +1842,0 +1843,8 +1844,3 +1845,8 +1846,8 +1847,4 +1848,4 +1849,1 +1850,8 +1851,2 +1852,3 +1853,5 +1854,0 +1855,4 +1856,4 +1857,3 +1858,0 +1859,0 +1860,1 +1861,0 +1862,8 +1863,4 +1864,9 +1865,0 +1866,7 +1867,0 +1868,7 +1869,7 +1870,1 +1871,5 +1872,8 +1873,7 +1874,2 +1875,9 +1876,9 +1877,1 +1878,2 +1879,4 +1880,1 +1881,1 +1882,1 +1883,8 +1884,8 +1885,1 +1886,3 +1887,7 +1888,5 +1889,2 +1890,0 +1891,8 +1892,4 +1893,8 +1894,9 +1895,4 +1896,1 +1897,3 +1898,1 +1899,9 +1900,8 +1901,1 +1902,1 +1903,1 +1904,8 +1905,0 +1906,9 +1907,9 +1908,7 +1909,6 +1910,0 +1911,4 +1912,2 +1913,1 +1914,1 +1915,7 +1916,9 +1917,6 +1918,2 +1919,0 +1920,3 +1921,6 +1922,6 +1923,8 +1924,1 +1925,7 +1926,2 +1927,4 +1928,2 +1929,2 +1930,6 +1931,8 +1932,7 +1933,1 +1934,8 +1935,5 +1936,5 +1937,7 +1938,7 +1939,6 +1940,6 +1941,2 +1942,7 +1943,0 +1944,6 +1945,0 +1946,5 +1947,5 +1948,0 +1949,6 +1950,1 +1951,0 +1952,3 +1953,7 +1954,7 +1955,1 +1956,7 +1957,2 +1958,5 +1959,7 +1960,9 +1961,8 +1962,9 +1963,1 +1964,4 +1965,8 +1966,3 +1967,2 +1968,3 +1969,6 +1970,0 +1971,8 +1972,3 +1973,8 +1974,6 +1975,8 +1976,6 +1977,0 +1978,8 +1979,8 +1980,8 +1981,2 +1982,9 +1983,3 +1984,2 +1985,0 +1986,8 +1987,5 +1988,7 +1989,0 +1990,1 +1991,1 +1992,1 +1993,9 +1994,5 +1995,1 +1996,3 +1997,3 +1998,6 +1999,0 +2000,8 +2001,4 +2002,1 +2003,3 +2004,8 +2005,8 +2006,0 +2007,7 +2008,5 +2009,6 +2010,6 +2011,7 +2012,3 +2013,3 +2014,2 +2015,4 +2016,6 +2017,5 +2018,5 +2019,4 +2020,2 +2021,3 +2022,9 +2023,1 +2024,1 +2025,7 +2026,3 +2027,8 +2028,7 +2029,2 +2030,2 +2031,9 +2032,3 +2033,9 +2034,9 +2035,0 +2036,1 +2037,7 +2038,1 +2039,2 +2040,8 +2041,1 +2042,4 +2043,9 +2044,3 +2045,4 +2046,0 +2047,0 +2048,7 +2049,6 +2050,9 +2051,9 +2052,5 +2053,5 +2054,7 +2055,0 +2056,9 +2057,3 +2058,3 +2059,6 +2060,9 +2061,8 +2062,4 +2063,2 +2064,6 +2065,3 +2066,9 +2067,4 +2068,3 +2069,6 +2070,7 +2071,3 +2072,0 +2073,4 +2074,8 +2075,1 +2076,8 +2077,7 +2078,3 +2079,4 +2080,5 +2081,2 +2082,2 +2083,9 +2084,1 +2085,9 +2086,4 +2087,9 +2088,1 +2089,6 +2090,2 +2091,8 +2092,8 +2093,7 +2094,7 +2095,7 +2096,7 +2097,2 +2098,6 +2099,0 +2100,7 +2101,5 +2102,8 +2103,5 +2104,3 +2105,0 +2106,2 +2107,4 +2108,9 +2109,2 +2110,4 +2111,1 +2112,1 +2113,9 +2114,3 +2115,1 +2116,2 +2117,2 +2118,2 +2119,3 +2120,7 +2121,5 +2122,7 +2123,4 +2124,4 +2125,4 +2126,1 +2127,2 +2128,3 +2129,5 +2130,4 +2131,2 +2132,9 +2133,1 +2134,5 +2135,9 +2136,3 +2137,6 +2138,6 +2139,4 +2140,0 +2141,1 +2142,7 +2143,7 +2144,4 +2145,6 +2146,7 +2147,7 +2148,6 +2149,0 +2150,4 +2151,3 +2152,2 +2153,7 +2154,8 +2155,7 +2156,2 +2157,8 +2158,0 +2159,8 +2160,7 +2161,4 +2162,4 +2163,2 +2164,7 +2165,0 +2166,9 +2167,9 +2168,3 +2169,1 +2170,5 +2171,9 +2172,3 +2173,1 +2174,1 +2175,3 +2176,3 +2177,5 +2178,9 +2179,7 +2180,9 +2181,8 +2182,4 +2183,5 +2184,9 +2185,3 +2186,7 +2187,9 +2188,3 +2189,4 +2190,6 +2191,6 +2192,5 +2193,7 +2194,7 +2195,2 +2196,3 +2197,5 +2198,3 +2199,1 +2200,1 +2201,9 +2202,4 +2203,3 +2204,9 +2205,5 +2206,5 +2207,7 +2208,2 +2209,4 +2210,9 +2211,0 +2212,2 +2213,1 +2214,9 +2215,7 +2216,1 +2217,5 +2218,0 +2219,5 +2220,5 +2221,0 +2222,3 +2223,5 +2224,0 +2225,3 +2226,3 +2227,7 +2228,4 +2229,2 +2230,6 +2231,8 +2232,5 +2233,9 +2234,2 +2235,1 +2236,0 +2237,5 +2238,5 +2239,8 +2240,5 +2241,3 +2242,7 +2243,4 +2244,4 +2245,3 +2246,9 +2247,6 +2248,0 +2249,0 +2250,9 +2251,1 +2252,4 +2253,3 +2254,1 +2255,5 +2256,3 +2257,8 +2258,5 +2259,1 +2260,1 +2261,2 +2262,9 +2263,4 +2264,0 +2265,5 +2266,2 +2267,8 +2268,0 +2269,2 +2270,9 +2271,8 +2272,6 +2273,4 +2274,8 +2275,3 +2276,8 +2277,0 +2278,4 +2279,0 +2280,6 +2281,4 +2282,8 +2283,5 +2284,4 +2285,9 +2286,0 +2287,9 +2288,5 +2289,8 +2290,6 +2291,9 +2292,1 +2293,2 +2294,7 +2295,2 +2296,1 +2297,6 +2298,6 +2299,0 +2300,6 +2301,5 +2302,0 +2303,4 +2304,8 +2305,5 +2306,5 +2307,2 +2308,0 +2309,3 +2310,8 +2311,3 +2312,6 +2313,1 +2314,9 +2315,2 +2316,9 +2317,7 +2318,2 +2319,6 +2320,4 +2321,8 +2322,3 +2323,4 +2324,8 +2325,5 +2326,6 +2327,8 +2328,3 +2329,3 +2330,1 +2331,4 +2332,2 +2333,0 +2334,4 +2335,9 +2336,0 +2337,4 +2338,1 +2339,9 +2340,9 +2341,8 +2342,1 +2343,6 +2344,8 +2345,3 +2346,3 +2347,3 +2348,8 +2349,5 +2350,9 +2351,6 +2352,6 +2353,8 +2354,7 +2355,0 +2356,3 +2357,0 +2358,0 +2359,0 +2360,5 +2361,7 +2362,5 +2363,0 +2364,7 +2365,9 +2366,1 +2367,6 +2368,4 +2369,8 +2370,9 +2371,3 +2372,5 +2373,2 +2374,0 +2375,4 +2376,4 +2377,7 +2378,8 +2379,9 +2380,1 +2381,8 +2382,2 +2383,5 +2384,5 +2385,3 +2386,1 +2387,1 +2388,8 +2389,8 +2390,3 +2391,0 +2392,7 +2393,0 +2394,1 +2395,8 +2396,1 +2397,0 +2398,4 +2399,9 +2400,8 +2401,9 +2402,8 +2403,8 +2404,6 +2405,9 +2406,1 +2407,8 +2408,4 +2409,2 +2410,7 +2411,7 +2412,0 +2413,5 +2414,1 +2415,1 +2416,0 +2417,6 +2418,4 +2419,3 +2420,0 +2421,4 +2422,3 +2423,5 +2424,1 +2425,6 +2426,3 +2427,3 +2428,4 +2429,4 +2430,5 +2431,0 +2432,9 +2433,8 +2434,3 +2435,3 +2436,1 +2437,0 +2438,2 +2439,1 +2440,4 +2441,4 +2442,4 +2443,8 +2444,4 +2445,9 +2446,0 +2447,9 +2448,9 +2449,5 +2450,0 +2451,6 +2452,0 +2453,5 +2454,0 +2455,3 +2456,9 +2457,8 +2458,3 +2459,6 +2460,1 +2461,9 +2462,4 +2463,1 +2464,0 +2465,4 +2466,5 +2467,4 +2468,1 +2469,4 +2470,8 +2471,5 +2472,9 +2473,4 +2474,5 +2475,3 +2476,4 +2477,8 +2478,1 +2479,6 +2480,6 +2481,8 +2482,9 +2483,0 +2484,5 +2485,0 +2486,2 +2487,4 +2488,9 +2489,3 +2490,2 +2491,6 +2492,8 +2493,5 +2494,9 +2495,6 +2496,3 +2497,1 +2498,6 +2499,3 +2500,6 +2501,2 +2502,7 +2503,2 +2504,1 +2505,2 +2506,6 +2507,4 +2508,0 +2509,4 +2510,8 +2511,5 +2512,0 +2513,8 +2514,5 +2515,6 +2516,7 +2517,8 +2518,1 +2519,5 +2520,9 +2521,8 +2522,0 +2523,9 +2524,0 +2525,9 +2526,3 +2527,9 +2528,5 +2529,7 +2530,9 +2531,6 +2532,0 +2533,7 +2534,1 +2535,5 +2536,5 +2537,9 +2538,5 +2539,4 +2540,4 +2541,2 +2542,4 +2543,5 +2544,9 +2545,7 +2546,4 +2547,2 +2548,6 +2549,9 +2550,9 +2551,4 +2552,2 +2553,1 +2554,3 +2555,7 +2556,1 +2557,8 +2558,7 +2559,9 +2560,1 +2561,8 +2562,9 +2563,3 +2564,7 +2565,7 +2566,7 +2567,1 +2568,7 +2569,4 +2570,4 +2571,6 +2572,2 +2573,4 +2574,5 +2575,2 +2576,8 +2577,9 +2578,6 +2579,8 +2580,0 +2581,0 +2582,7 +2583,7 +2584,5 +2585,0 +2586,1 +2587,9 +2588,6 +2589,6 +2590,4 +2591,9 +2592,6 +2593,6 +2594,6 +2595,7 +2596,1 +2597,0 +2598,5 +2599,8 +2600,7 +2601,2 +2602,8 +2603,6 +2604,3 +2605,6 +2606,1 +2607,7 +2608,4 +2609,8 +2610,7 +2611,4 +2612,1 +2613,7 +2614,8 +2615,2 +2616,4 +2617,4 +2618,4 +2619,4 +2620,1 +2621,8 +2622,6 +2623,7 +2624,2 +2625,9 +2626,4 +2627,5 +2628,2 +2629,6 +2630,3 +2631,8 +2632,8 +2633,2 +2634,0 +2635,7 +2636,2 +2637,4 +2638,0 +2639,3 +2640,1 +2641,0 +2642,8 +2643,1 +2644,7 +2645,7 +2646,2 +2647,6 +2648,3 +2649,1 +2650,2 +2651,7 +2652,0 +2653,0 +2654,0 +2655,6 +2656,2 +2657,7 +2658,2 +2659,8 +2660,3 +2661,6 +2662,3 +2663,0 +2664,9 +2665,7 +2666,3 +2667,5 +2668,4 +2669,9 +2670,6 +2671,4 +2672,5 +2673,0 +2674,6 +2675,8 +2676,4 +2677,0 +2678,4 +2679,4 +2680,0 +2681,6 +2682,1 +2683,6 +2684,6 +2685,3 +2686,7 +2687,1 +2688,3 +2689,6 +2690,4 +2691,1 +2692,1 +2693,5 +2694,6 +2695,3 +2696,8 +2697,3 +2698,4 +2699,1 +2700,7 +2701,4 +2702,9 +2703,8 +2704,8 +2705,4 +2706,5 +2707,5 +2708,6 +2709,7 +2710,3 +2711,9 +2712,1 +2713,6 +2714,5 +2715,3 +2716,7 +2717,2 +2718,1 +2719,1 +2720,8 +2721,6 +2722,2 +2723,0 +2724,5 +2725,9 +2726,6 +2727,3 +2728,8 +2729,1 +2730,0 +2731,4 +2732,6 +2733,2 +2734,4 +2735,8 +2736,3 +2737,4 +2738,2 +2739,1 +2740,9 +2741,1 +2742,7 +2743,9 +2744,5 +2745,7 +2746,6 +2747,1 +2748,5 +2749,8 +2750,8 +2751,2 +2752,6 +2753,4 +2754,6 +2755,3 +2756,1 +2757,6 +2758,4 +2759,0 +2760,3 +2761,9 +2762,8 +2763,4 +2764,6 +2765,8 +2766,4 +2767,3 +2768,9 +2769,7 +2770,1 +2771,1 +2772,7 +2773,5 +2774,1 +2775,9 +2776,4 +2777,4 +2778,2 +2779,3 +2780,8 +2781,6 +2782,7 +2783,1 +2784,3 +2785,0 +2786,7 +2787,3 +2788,5 +2789,8 +2790,1 +2791,4 +2792,2 +2793,3 +2794,4 +2795,8 +2796,8 +2797,8 +2798,4 +2799,8 +2800,1 +2801,8 +2802,9 +2803,3 +2804,0 +2805,6 +2806,0 +2807,2 +2808,9 +2809,7 +2810,3 +2811,7 +2812,0 +2813,1 +2814,3 +2815,5 +2816,9 +2817,0 +2818,0 +2819,5 +2820,0 +2821,5 +2822,8 +2823,5 +2824,3 +2825,6 +2826,2 +2827,8 +2828,0 +2829,0 +2830,9 +2831,3 +2832,0 +2833,5 +2834,8 +2835,1 +2836,1 +2837,6 +2838,6 +2839,0 +2840,0 +2841,8 +2842,4 +2843,6 +2844,3 +2845,3 +2846,9 +2847,5 +2848,4 +2849,3 +2850,3 +2851,1 +2852,8 +2853,1 +2854,5 +2855,2 +2856,0 +2857,0 +2858,7 +2859,9 +2860,3 +2861,2 +2862,7 +2863,1 +2864,7 +2865,4 +2866,1 +2867,6 +2868,2 +2869,6 +2870,6 +2871,7 +2872,0 +2873,4 +2874,9 +2875,3 +2876,2 +2877,5 +2878,0 +2879,8 +2880,6 +2881,2 +2882,6 +2883,7 +2884,4 +2885,2 +2886,1 +2887,1 +2888,0 +2889,3 +2890,5 +2891,5 +2892,2 +2893,6 +2894,4 +2895,1 +2896,8 +2897,8 +2898,4 +2899,4 +2900,3 +2901,4 +2902,2 +2903,9 +2904,2 +2905,1 +2906,9 +2907,6 +2908,2 +2909,6 +2910,6 +2911,4 +2912,5 +2913,4 +2914,9 +2915,8 +2916,1 +2917,6 +2918,4 +2919,6 +2920,4 +2921,9 +2922,4 +2923,3 +2924,5 +2925,1 +2926,4 +2927,6 +2928,0 +2929,1 +2930,1 +2931,0 +2932,2 +2933,6 +2934,9 +2935,9 +2936,0 +2937,1 +2938,2 +2939,4 +2940,6 +2941,7 +2942,4 +2943,1 +2944,1 +2945,7 +2946,7 +2947,8 +2948,7 +2949,6 +2950,5 +2951,3 +2952,7 +2953,2 +2954,0 +2955,9 +2956,2 +2957,1 +2958,6 +2959,2 +2960,2 +2961,5 +2962,8 +2963,5 +2964,2 +2965,7 +2966,8 +2967,4 +2968,0 +2969,9 +2970,0 +2971,8 +2972,1 +2973,3 +2974,8 +2975,2 +2976,8 +2977,2 +2978,0 +2979,0 +2980,3 +2981,8 +2982,7 +2983,8 +2984,2 +2985,2 +2986,0 +2987,6 +2988,0 +2989,4 +2990,5 +2991,3 +2992,4 +2993,1 +2994,1 +2995,9 +2996,7 +2997,0 +2998,6 +2999,2 +3000,1 +3001,4 +3002,2 +3003,7 +3004,7 +3005,1 +3006,8 +3007,3 +3008,3 +3009,7 +3010,9 +3011,8 +3012,7 +3013,2 +3014,7 +3015,9 +3016,7 +3017,2 +3018,2 +3019,2 +3020,6 +3021,3 +3022,3 +3023,9 +3024,1 +3025,1 +3026,4 +3027,8 +3028,0 +3029,9 +3030,7 +3031,5 +3032,2 +3033,8 +3034,8 +3035,3 +3036,6 +3037,3 +3038,6 +3039,8 +3040,6 +3041,6 +3042,5 +3043,9 +3044,2 +3045,3 +3046,8 +3047,4 +3048,2 +3049,8 +3050,3 +3051,0 +3052,1 +3053,1 +3054,3 +3055,0 +3056,1 +3057,8 +3058,4 +3059,1 +3060,5 +3061,8 +3062,1 +3063,5 +3064,8 +3065,0 +3066,7 +3067,8 +3068,7 +3069,5 +3070,9 +3071,5 +3072,5 +3073,3 +3074,6 +3075,7 +3076,8 +3077,4 +3078,5 +3079,1 +3080,6 +3081,4 +3082,2 +3083,4 +3084,3 +3085,7 +3086,7 +3087,9 +3088,5 +3089,2 +3090,5 +3091,8 +3092,5 +3093,8 +3094,5 +3095,3 +3096,6 +3097,9 +3098,7 +3099,2 +3100,0 +3101,6 +3102,8 +3103,4 +3104,0 +3105,7 +3106,3 +3107,7 +3108,6 +3109,8 +3110,4 +3111,7 +3112,0 +3113,0 +3114,4 +3115,0 +3116,4 +3117,7 +3118,8 +3119,1 +3120,3 +3121,8 +3122,1 +3123,7 +3124,3 +3125,6 +3126,1 +3127,1 +3128,6 +3129,6 +3130,9 +3131,8 +3132,2 +3133,8 +3134,2 +3135,7 +3136,7 +3137,1 +3138,3 +3139,0 +3140,3 +3141,0 +3142,7 +3143,8 +3144,7 +3145,6 +3146,5 +3147,2 +3148,6 +3149,7 +3150,5 +3151,5 +3152,8 +3153,9 +3154,7 +3155,3 +3156,2 +3157,4 +3158,8 +3159,3 +3160,9 +3161,5 +3162,7 +3163,6 +3164,6 +3165,4 +3166,7 +3167,3 +3168,8 +3169,5 +3170,1 +3171,8 +3172,9 +3173,2 +3174,6 +3175,1 +3176,6 +3177,2 +3178,7 +3179,4 +3180,0 +3181,4 +3182,4 +3183,8 +3184,9 +3185,7 +3186,9 +3187,4 +3188,2 +3189,8 +3190,2 +3191,6 +3192,0 +3193,6 +3194,3 +3195,4 +3196,1 +3197,5 +3198,4 +3199,7 +3200,5 +3201,0 +3202,7 +3203,6 +3204,2 +3205,3 +3206,5 +3207,1 +3208,1 +3209,2 +3210,7 +3211,3 +3212,8 +3213,8 +3214,7 +3215,5 +3216,9 +3217,9 +3218,5 +3219,5 +3220,3 +3221,0 +3222,7 +3223,1 +3224,4 +3225,6 +3226,0 +3227,9 +3228,9 +3229,6 +3230,6 +3231,8 +3232,0 +3233,5 +3234,7 +3235,8 +3236,0 +3237,2 +3238,7 +3239,6 +3240,6 +3241,4 +3242,8 +3243,1 +3244,0 +3245,4 +3246,8 +3247,0 +3248,7 +3249,5 +3250,8 +3251,7 +3252,7 +3253,5 +3254,5 +3255,0 +3256,7 +3257,6 +3258,4 +3259,2 +3260,0 +3261,3 +3262,6 +3263,2 +3264,0 +3265,3 +3266,9 +3267,4 +3268,5 +3269,4 +3270,4 +3271,1 +3272,2 +3273,5 +3274,7 +3275,0 +3276,5 +3277,0 +3278,2 +3279,5 +3280,0 +3281,4 +3282,8 +3283,0 +3284,4 +3285,7 +3286,2 +3287,7 +3288,4 +3289,3 +3290,4 +3291,7 +3292,1 +3293,2 +3294,3 +3295,4 +3296,2 +3297,4 +3298,3 +3299,9 +3300,9 +3301,2 +3302,8 +3303,0 +3304,4 +3305,0 +3306,0 +3307,1 +3308,9 +3309,3 +3310,9 +3311,2 +3312,8 +3313,3 +3314,9 +3315,4 +3316,7 +3317,9 +3318,1 +3319,5 +3320,8 +3321,1 +3322,3 +3323,6 +3324,2 +3325,4 +3326,8 +3327,6 +3328,3 +3329,3 +3330,0 +3331,0 +3332,0 +3333,3 +3334,3 +3335,1 +3336,6 +3337,8 +3338,6 +3339,7 +3340,3 +3341,0 +3342,6 +3343,5 +3344,8 +3345,8 +3346,8 +3347,6 +3348,1 +3349,0 +3350,8 +3351,9 +3352,8 +3353,5 +3354,8 +3355,7 +3356,6 +3357,7 +3358,2 +3359,7 +3360,1 +3361,5 +3362,5 +3363,8 +3364,3 +3365,2 +3366,8 +3367,5 +3368,9 +3369,9 +3370,4 +3371,0 +3372,6 +3373,7 +3374,1 +3375,8 +3376,8 +3377,8 +3378,7 +3379,2 +3380,0 +3381,9 +3382,7 +3383,9 +3384,6 +3385,9 +3386,4 +3387,1 +3388,4 +3389,7 +3390,2 +3391,5 +3392,2 +3393,6 +3394,2 +3395,9 +3396,0 +3397,7 +3398,1 +3399,9 +3400,7 +3401,6 +3402,5 +3403,3 +3404,8 +3405,4 +3406,9 +3407,3 +3408,9 +3409,5 +3410,7 +3411,5 +3412,1 +3413,3 +3414,3 +3415,6 +3416,0 +3417,7 +3418,5 +3419,3 +3420,5 +3421,5 +3422,8 +3423,7 +3424,7 +3425,4 +3426,6 +3427,5 +3428,5 +3429,0 +3430,4 +3431,8 +3432,3 +3433,0 +3434,9 +3435,2 +3436,6 +3437,2 +3438,2 +3439,7 +3440,4 +3441,0 +3442,7 +3443,1 +3444,4 +3445,8 +3446,1 +3447,4 +3448,7 +3449,8 +3450,4 +3451,6 +3452,7 +3453,6 +3454,0 +3455,2 +3456,2 +3457,3 +3458,6 +3459,3 +3460,0 +3461,5 +3462,2 +3463,3 +3464,2 +3465,8 +3466,5 +3467,0 +3468,8 +3469,4 +3470,6 +3471,4 +3472,8 +3473,3 +3474,5 +3475,1 +3476,3 +3477,9 +3478,1 +3479,4 +3480,9 +3481,6 +3482,7 +3483,4 +3484,0 +3485,0 +3486,2 +3487,5 +3488,0 +3489,3 +3490,5 +3491,6 +3492,5 +3493,1 +3494,7 +3495,9 +3496,4 +3497,6 +3498,7 +3499,4 +3500,0 +3501,2 +3502,8 +3503,1 +3504,0 +3505,9 +3506,9 +3507,7 +3508,8 +3509,4 +3510,6 +3511,9 +3512,7 +3513,7 +3514,5 +3515,8 +3516,8 +3517,7 +3518,5 +3519,3 +3520,5 +3521,5 +3522,0 +3523,8 +3524,9 +3525,7 +3526,2 +3527,1 +3528,4 +3529,7 +3530,1 +3531,3 +3532,6 +3533,3 +3534,4 +3535,2 +3536,9 +3537,4 +3538,7 +3539,7 +3540,6 +3541,5 +3542,0 +3543,8 +3544,8 +3545,6 +3546,8 +3547,5 +3548,6 +3549,0 +3550,7 +3551,3 +3552,0 +3553,0 +3554,4 +3555,5 +3556,2 +3557,0 +3558,7 +3559,7 +3560,7 +3561,1 +3562,5 +3563,2 +3564,1 +3565,8 +3566,5 +3567,2 +3568,6 +3569,8 +3570,7 +3571,7 +3572,6 +3573,7 +3574,1 +3575,0 +3576,9 +3577,5 +3578,3 +3579,9 +3580,3 +3581,5 +3582,0 +3583,7 +3584,4 +3585,6 +3586,0 +3587,1 +3588,6 +3589,5 +3590,9 +3591,3 +3592,2 +3593,8 +3594,5 +3595,7 +3596,3 +3597,1 +3598,2 +3599,0 +3600,8 +3601,1 +3602,8 +3603,5 +3604,6 +3605,9 +3606,3 +3607,3 +3608,8 +3609,0 +3610,4 +3611,2 +3612,0 +3613,0 +3614,4 +3615,2 +3616,3 +3617,4 +3618,5 +3619,9 +3620,1 +3621,1 +3622,9 +3623,4 +3624,7 +3625,0 +3626,3 +3627,1 +3628,0 +3629,0 +3630,7 +3631,7 +3632,0 +3633,7 +3634,8 +3635,0 +3636,5 +3637,6 +3638,4 +3639,4 +3640,8 +3641,9 +3642,7 +3643,4 +3644,9 +3645,5 +3646,3 +3647,9 +3648,2 +3649,4 +3650,1 +3651,9 +3652,7 +3653,8 +3654,1 +3655,3 +3656,9 +3657,3 +3658,4 +3659,7 +3660,8 +3661,6 +3662,5 +3663,6 +3664,7 +3665,9 +3666,9 +3667,7 +3668,0 +3669,4 +3670,2 +3671,3 +3672,4 +3673,2 +3674,9 +3675,5 +3676,3 +3677,9 +3678,2 +3679,8 +3680,8 +3681,0 +3682,0 +3683,4 +3684,1 +3685,9 +3686,3 +3687,3 +3688,5 +3689,1 +3690,5 +3691,5 +3692,9 +3693,2 +3694,8 +3695,5 +3696,5 +3697,9 +3698,5 +3699,4 +3700,6 +3701,7 +3702,3 +3703,5 +3704,4 +3705,2 +3706,4 +3707,9 +3708,4 +3709,8 +3710,1 +3711,9 +3712,2 +3713,6 +3714,2 +3715,4 +3716,8 +3717,8 +3718,7 +3719,7 +3720,3 +3721,9 +3722,3 +3723,9 +3724,0 +3725,8 +3726,2 +3727,6 +3728,9 +3729,0 +3730,4 +3731,4 +3732,5 +3733,7 +3734,0 +3735,4 +3736,6 +3737,4 +3738,1 +3739,3 +3740,1 +3741,8 +3742,7 +3743,8 +3744,8 +3745,7 +3746,7 +3747,0 +3748,5 +3749,7 +3750,3 +3751,6 +3752,0 +3753,4 +3754,0 +3755,3 +3756,6 +3757,8 +3758,8 +3759,8 +3760,6 +3761,2 +3762,3 +3763,2 +3764,8 +3765,8 +3766,1 +3767,4 +3768,1 +3769,1 +3770,6 +3771,3 +3772,6 +3773,2 +3774,8 +3775,0 +3776,0 +3777,4 +3778,1 +3779,3 +3780,2 +3781,7 +3782,0 +3783,6 +3784,7 +3785,9 +3786,9 +3787,6 +3788,7 +3789,6 +3790,9 +3791,9 +3792,8 +3793,4 +3794,8 +3795,3 +3796,4 +3797,0 +3798,9 +3799,6 +3800,2 +3801,4 +3802,3 +3803,8 +3804,3 +3805,0 +3806,6 +3807,9 +3808,6 +3809,4 +3810,7 +3811,3 +3812,7 +3813,8 +3814,8 +3815,2 +3816,4 +3817,8 +3818,8 +3819,0 +3820,1 +3821,5 +3822,8 +3823,9 +3824,8 +3825,7 +3826,1 +3827,0 +3828,3 +3829,3 +3830,3 +3831,0 +3832,9 +3833,3 +3834,9 +3835,9 +3836,1 +3837,5 +3838,9 +3839,4 +3840,1 +3841,7 +3842,6 +3843,1 +3844,0 +3845,5 +3846,3 +3847,8 +3848,8 +3849,4 +3850,1 +3851,7 +3852,0 +3853,5 +3854,0 +3855,4 +3856,1 +3857,7 +3858,1 +3859,7 +3860,9 +3861,6 +3862,3 +3863,9 +3864,2 +3865,4 +3866,5 +3867,3 +3868,5 +3869,8 +3870,8 +3871,4 +3872,4 +3873,7 +3874,7 +3875,4 +3876,6 +3877,0 +3878,5 +3879,5 +3880,1 +3881,6 +3882,2 +3883,5 +3884,4 +3885,8 +3886,5 +3887,6 +3888,9 +3889,1 +3890,3 +3891,1 +3892,4 +3893,5 +3894,9 +3895,0 +3896,7 +3897,0 +3898,3 +3899,5 +3900,6 +3901,1 +3902,5 +3903,8 +3904,5 +3905,6 +3906,6 +3907,9 +3908,1 +3909,7 +3910,1 +3911,7 +3912,1 +3913,8 +3914,0 +3915,3 +3916,4 +3917,0 +3918,2 +3919,8 +3920,3 +3921,3 +3922,8 +3923,8 +3924,0 +3925,3 +3926,6 +3927,8 +3928,1 +3929,1 +3930,3 +3931,3 +3932,4 +3933,2 +3934,1 +3935,8 +3936,3 +3937,4 +3938,6 +3939,6 +3940,6 +3941,2 +3942,3 +3943,9 +3944,2 +3945,3 +3946,0 +3947,4 +3948,5 +3949,7 +3950,1 +3951,6 +3952,1 +3953,4 +3954,0 +3955,3 +3956,8 +3957,5 +3958,1 +3959,6 +3960,5 +3961,4 +3962,8 +3963,1 +3964,7 +3965,1 +3966,6 +3967,4 +3968,9 +3969,4 +3970,2 +3971,1 +3972,5 +3973,3 +3974,1 +3975,5 +3976,8 +3977,7 +3978,7 +3979,7 +3980,2 +3981,7 +3982,5 +3983,4 +3984,4 +3985,2 +3986,0 +3987,4 +3988,8 +3989,9 +3990,9 +3991,5 +3992,8 +3993,0 +3994,4 +3995,4 +3996,1 +3997,3 +3998,7 +3999,5 +4000,0 +4001,0 +4002,9 +4003,8 +4004,5 +4005,3 +4006,0 +4007,7 +4008,1 +4009,9 +4010,7 +4011,8 +4012,4 +4013,0 +4014,9 +4015,9 +4016,1 +4017,2 +4018,0 +4019,6 +4020,2 +4021,4 +4022,5 +4023,1 +4024,0 +4025,4 +4026,8 +4027,3 +4028,4 +4029,8 +4030,3 +4031,4 +4032,0 +4033,0 +4034,3 +4035,6 +4036,7 +4037,4 +4038,4 +4039,1 +4040,5 +4041,3 +4042,0 +4043,7 +4044,9 +4045,9 +4046,1 +4047,5 +4048,5 +4049,9 +4050,1 +4051,4 +4052,6 +4053,1 +4054,2 +4055,8 +4056,3 +4057,5 +4058,7 +4059,8 +4060,0 +4061,4 +4062,2 +4063,7 +4064,2 +4065,9 +4066,5 +4067,6 +4068,8 +4069,7 +4070,8 +4071,8 +4072,4 +4073,9 +4074,2 +4075,5 +4076,5 +4077,9 +4078,9 +4079,4 +4080,4 +4081,2 +4082,0 +4083,6 +4084,6 +4085,8 +4086,7 +4087,6 +4088,6 +4089,7 +4090,5 +4091,4 +4092,9 +4093,0 +4094,3 +4095,4 +4096,4 +4097,8 +4098,4 +4099,0 +4100,6 +4101,7 +4102,0 +4103,5 +4104,3 +4105,6 +4106,4 +4107,8 +4108,0 +4109,6 +4110,2 +4111,3 +4112,2 +4113,5 +4114,5 +4115,8 +4116,0 +4117,7 +4118,0 +4119,8 +4120,9 +4121,0 +4122,2 +4123,1 +4124,2 +4125,5 +4126,1 +4127,0 +4128,6 +4129,9 +4130,6 +4131,4 +4132,9 +4133,9 +4134,1 +4135,4 +4136,3 +4137,1 +4138,6 +4139,8 +4140,0 +4141,3 +4142,0 +4143,6 +4144,2 +4145,0 +4146,2 +4147,3 +4148,6 +4149,5 +4150,2 +4151,3 +4152,6 +4153,0 +4154,8 +4155,5 +4156,4 +4157,0 +4158,1 +4159,0 +4160,2 +4161,2 +4162,6 +4163,7 +4164,9 +4165,6 +4166,2 +4167,3 +4168,3 +4169,6 +4170,8 +4171,5 +4172,4 +4173,4 +4174,0 +4175,3 +4176,3 +4177,5 +4178,2 +4179,5 +4180,1 +4181,5 +4182,5 +4183,1 +4184,7 +4185,5 +4186,2 +4187,1 +4188,8 +4189,8 +4190,0 +4191,9 +4192,0 +4193,0 +4194,6 +4195,3 +4196,6 +4197,1 +4198,8 +4199,3 +4200,4 +4201,2 +4202,1 +4203,2 +4204,0 +4205,3 +4206,0 +4207,8 +4208,5 +4209,1 +4210,5 +4211,0 +4212,2 +4213,6 +4214,3 +4215,9 +4216,8 +4217,2 +4218,8 +4219,1 +4220,0 +4221,2 +4222,6 +4223,2 +4224,6 +4225,3 +4226,7 +4227,5 +4228,0 +4229,6 +4230,2 +4231,0 +4232,8 +4233,6 +4234,2 +4235,1 +4236,8 +4237,6 +4238,8 +4239,2 +4240,9 +4241,2 +4242,6 +4243,8 +4244,5 +4245,4 +4246,7 +4247,3 +4248,2 +4249,2 +4250,6 +4251,6 +4252,6 +4253,8 +4254,5 +4255,2 +4256,1 +4257,5 +4258,2 +4259,8 +4260,2 +4261,9 +4262,0 +4263,6 +4264,3 +4265,6 +4266,4 +4267,6 +4268,7 +4269,7 +4270,9 +4271,6 +4272,6 +4273,9 +4274,8 +4275,0 +4276,5 +4277,8 +4278,7 +4279,7 +4280,0 +4281,7 +4282,7 +4283,0 +4284,7 +4285,7 +4286,2 +4287,9 +4288,7 +4289,4 +4290,2 +4291,2 +4292,3 +4293,8 +4294,0 +4295,1 +4296,9 +4297,8 +4298,0 +4299,6 +4300,2 +4301,8 +4302,3 +4303,8 +4304,0 +4305,7 +4306,6 +4307,3 +4308,3 +4309,8 +4310,1 +4311,3 +4312,8 +4313,7 +4314,3 +4315,0 +4316,3 +4317,4 +4318,8 +4319,8 +4320,9 +4321,1 +4322,3 +4323,2 +4324,1 +4325,4 +4326,8 +4327,6 +4328,4 +4329,6 +4330,7 +4331,3 +4332,9 +4333,4 +4334,9 +4335,0 +4336,4 +4337,6 +4338,5 +4339,7 +4340,0 +4341,8 +4342,1 +4343,7 +4344,5 +4345,4 +4346,9 +4347,5 +4348,7 +4349,3 +4350,2 +4351,0 +4352,9 +4353,8 +4354,7 +4355,3 +4356,7 +4357,7 +4358,4 +4359,7 +4360,5 +4361,8 +4362,5 +4363,2 +4364,4 +4365,6 +4366,2 +4367,3 +4368,8 +4369,9 +4370,7 +4371,1 +4372,3 +4373,4 +4374,2 +4375,9 +4376,7 +4377,1 +4378,2 +4379,2 +4380,6 +4381,0 +4382,5 +4383,5 +4384,4 +4385,5 +4386,2 +4387,8 +4388,9 +4389,4 +4390,9 +4391,9 +4392,1 +4393,4 +4394,3 +4395,1 +4396,5 +4397,5 +4398,5 +4399,6 +4400,8 +4401,1 +4402,5 +4403,5 +4404,9 +4405,5 +4406,9 +4407,8 +4408,3 +4409,1 +4410,1 +4411,4 +4412,6 +4413,6 +4414,9 +4415,3 +4416,6 +4417,4 +4418,4 +4419,8 +4420,6 +4421,5 +4422,6 +4423,9 +4424,0 +4425,2 +4426,8 +4427,4 +4428,8 +4429,6 +4430,3 +4431,6 +4432,1 +4433,2 +4434,3 +4435,3 +4436,8 +4437,4 +4438,9 +4439,9 +4440,0 +4441,7 +4442,9 +4443,5 +4444,3 +4445,1 +4446,7 +4447,2 +4448,8 +4449,4 +4450,9 +4451,0 +4452,1 +4453,6 +4454,0 +4455,5 +4456,8 +4457,1 +4458,9 +4459,3 +4460,6 +4461,8 +4462,1 +4463,8 +4464,4 +4465,2 +4466,5 +4467,6 +4468,9 +4469,6 +4470,1 +4471,4 +4472,0 +4473,7 +4474,9 +4475,0 +4476,1 +4477,3 +4478,9 +4479,5 +4480,1 +4481,4 +4482,1 +4483,1 +4484,4 +4485,8 +4486,3 +4487,9 +4488,5 +4489,4 +4490,4 +4491,3 +4492,7 +4493,7 +4494,7 +4495,2 +4496,3 +4497,9 +4498,1 +4499,9 +4500,4 +4501,4 +4502,0 +4503,7 +4504,6 +4505,0 +4506,7 +4507,9 +4508,0 +4509,6 +4510,4 +4511,9 +4512,0 +4513,4 +4514,0 +4515,2 +4516,7 +4517,9 +4518,6 +4519,1 +4520,1 +4521,2 +4522,0 +4523,8 +4524,8 +4525,7 +4526,6 +4527,2 +4528,7 +4529,5 +4530,7 +4531,6 +4532,1 +4533,8 +4534,1 +4535,4 +4536,9 +4537,8 +4538,9 +4539,0 +4540,1 +4541,0 +4542,6 +4543,0 +4544,3 +4545,0 +4546,6 +4547,4 +4548,1 +4549,9 +4550,7 +4551,1 +4552,2 +4553,2 +4554,5 +4555,3 +4556,4 +4557,1 +4558,7 +4559,6 +4560,7 +4561,6 +4562,2 +4563,8 +4564,8 +4565,1 +4566,4 +4567,9 +4568,7 +4569,6 +4570,3 +4571,4 +4572,9 +4573,3 +4574,9 +4575,8 +4576,5 +4577,3 +4578,8 +4579,4 +4580,7 +4581,1 +4582,4 +4583,1 +4584,9 +4585,6 +4586,8 +4587,3 +4588,2 +4589,4 +4590,8 +4591,1 +4592,1 +4593,5 +4594,8 +4595,6 +4596,1 +4597,6 +4598,2 +4599,9 +4600,0 +4601,9 +4602,5 +4603,3 +4604,5 +4605,0 +4606,6 +4607,5 +4608,4 +4609,8 +4610,3 +4611,8 +4612,0 +4613,2 +4614,9 +4615,9 +4616,1 +4617,5 +4618,3 +4619,2 +4620,6 +4621,5 +4622,3 +4623,0 +4624,3 +4625,0 +4626,7 +4627,4 +4628,0 +4629,4 +4630,1 +4631,9 +4632,5 +4633,1 +4634,7 +4635,5 +4636,5 +4637,5 +4638,9 +4639,6 +4640,8 +4641,4 +4642,6 +4643,6 +4644,4 +4645,6 +4646,4 +4647,1 +4648,1 +4649,2 +4650,2 +4651,8 +4652,4 +4653,9 +4654,0 +4655,5 +4656,8 +4657,1 +4658,0 +4659,8 +4660,3 +4661,2 +4662,4 +4663,8 +4664,3 +4665,0 +4666,9 +4667,3 +4668,6 +4669,9 +4670,7 +4671,2 +4672,2 +4673,2 +4674,6 +4675,8 +4676,9 +4677,6 +4678,1 +4679,4 +4680,7 +4681,7 +4682,9 +4683,7 +4684,3 +4685,6 +4686,7 +4687,2 +4688,7 +4689,3 +4690,0 +4691,2 +4692,6 +4693,9 +4694,4 +4695,3 +4696,3 +4697,1 +4698,9 +4699,5 +4700,8 +4701,2 +4702,3 +4703,5 +4704,0 +4705,0 +4706,4 +4707,5 +4708,0 +4709,3 +4710,5 +4711,0 +4712,7 +4713,7 +4714,6 +4715,0 +4716,9 +4717,5 +4718,1 +4719,4 +4720,4 +4721,5 +4722,3 +4723,0 +4724,6 +4725,1 +4726,4 +4727,6 +4728,5 +4729,4 +4730,8 +4731,5 +4732,7 +4733,3 +4734,0 +4735,8 +4736,3 +4737,5 +4738,4 +4739,4 +4740,9 +4741,8 +4742,5 +4743,9 +4744,8 +4745,1 +4746,5 +4747,5 +4748,0 +4749,1 +4750,5 +4751,3 +4752,3 +4753,3 +4754,3 +4755,4 +4756,4 +4757,3 +4758,6 +4759,7 +4760,8 +4761,0 +4762,9 +4763,6 +4764,6 +4765,0 +4766,4 +4767,2 +4768,7 +4769,3 +4770,5 +4771,7 +4772,3 +4773,7 +4774,8 +4775,4 +4776,6 +4777,2 +4778,2 +4779,3 +4780,1 +4781,0 +4782,7 +4783,5 +4784,0 +4785,6 +4786,4 +4787,1 +4788,1 +4789,4 +4790,7 +4791,2 +4792,3 +4793,5 +4794,5 +4795,0 +4796,4 +4797,4 +4798,4 +4799,8 +4800,9 +4801,9 +4802,2 +4803,0 +4804,9 +4805,8 +4806,3 +4807,5 +4808,3 +4809,1 +4810,4 +4811,5 +4812,0 +4813,1 +4814,8 +4815,5 +4816,8 +4817,4 +4818,0 +4819,7 +4820,8 +4821,9 +4822,2 +4823,4 +4824,6 +4825,3 +4826,6 +4827,2 +4828,6 +4829,7 +4830,9 +4831,1 +4832,9 +4833,7 +4834,4 +4835,5 +4836,6 +4837,3 +4838,2 +4839,4 +4840,5 +4841,6 +4842,6 +4843,5 +4844,8 +4845,6 +4846,4 +4847,2 +4848,9 +4849,4 +4850,7 +4851,8 +4852,3 +4853,0 +4854,2 +4855,7 +4856,7 +4857,5 +4858,9 +4859,7 +4860,7 +4861,3 +4862,8 +4863,7 +4864,5 +4865,9 +4866,9 +4867,8 +4868,2 +4869,1 +4870,0 +4871,8 +4872,0 +4873,2 +4874,6 +4875,7 +4876,9 +4877,4 +4878,2 +4879,5 +4880,4 +4881,3 +4882,4 +4883,1 +4884,1 +4885,9 +4886,0 +4887,5 +4888,5 +4889,4 +4890,9 +4891,8 +4892,9 +4893,3 +4894,5 +4895,4 +4896,6 +4897,6 +4898,5 +4899,7 +4900,8 +4901,4 +4902,8 +4903,8 +4904,7 +4905,6 +4906,9 +4907,4 +4908,9 +4909,6 +4910,9 +4911,7 +4912,3 +4913,9 +4914,7 +4915,3 +4916,0 +4917,0 +4918,2 +4919,8 +4920,9 +4921,9 +4922,3 +4923,0 +4924,6 +4925,4 +4926,1 +4927,0 +4928,3 +4929,8 +4930,4 +4931,8 +4932,4 +4933,4 +4934,2 +4935,3 +4936,5 +4937,7 +4938,7 +4939,8 +4940,5 +4941,6 +4942,3 +4943,2 +4944,1 +4945,8 +4946,3 +4947,8 +4948,5 +4949,4 +4950,2 +4951,3 +4952,0 +4953,8 +4954,3 +4955,3 +4956,2 +4957,9 +4958,0 +4959,9 +4960,9 +4961,0 +4962,1 +4963,8 +4964,3 +4965,6 +4966,3 +4967,8 +4968,6 +4969,8 +4970,5 +4971,1 +4972,3 +4973,0 +4974,1 +4975,9 +4976,3 +4977,5 +4978,0 +4979,6 +4980,2 +4981,3 +4982,1 +4983,5 +4984,3 +4985,2 +4986,8 +4987,5 +4988,7 +4989,8 +4990,0 +4991,1 +4992,1 +4993,0 +4994,6 +4995,4 +4996,5 +4997,9 +4998,0 +4999,7 +5000,2 +5001,3 +5002,6 +5003,4 +5004,4 +5005,3 +5006,3 +5007,9 +5008,4 +5009,9 +5010,0 +5011,8 +5012,3 +5013,5 +5014,6 +5015,2 +5016,0 +5017,1 +5018,3 +5019,9 +5020,4 +5021,2 +5022,5 +5023,0 +5024,5 +5025,3 +5026,4 +5027,5 +5028,6 +5029,0 +5030,0 +5031,0 +5032,6 +5033,9 +5034,1 +5035,3 +5036,4 +5037,6 +5038,5 +5039,5 +5040,4 +5041,6 +5042,1 +5043,4 +5044,9 +5045,7 +5046,4 +5047,4 +5048,7 +5049,5 +5050,7 +5051,1 +5052,6 +5053,8 +5054,7 +5055,9 +5056,5 +5057,7 +5058,0 +5059,2 +5060,9 +5061,2 +5062,5 +5063,0 +5064,7 +5065,8 +5066,2 +5067,5 +5068,2 +5069,9 +5070,3 +5071,3 +5072,2 +5073,5 +5074,9 +5075,2 +5076,5 +5077,9 +5078,7 +5079,3 +5080,8 +5081,3 +5082,5 +5083,6 +5084,5 +5085,3 +5086,0 +5087,7 +5088,6 +5089,9 +5090,5 +5091,1 +5092,3 +5093,6 +5094,9 +5095,3 +5096,6 +5097,2 +5098,5 +5099,3 +5100,4 +5101,7 +5102,9 +5103,1 +5104,2 +5105,2 +5106,2 +5107,4 +5108,3 +5109,8 +5110,7 +5111,9 +5112,9 +5113,4 +5114,8 +5115,8 +5116,9 +5117,0 +5118,7 +5119,6 +5120,4 +5121,3 +5122,8 +5123,6 +5124,4 +5125,2 +5126,0 +5127,1 +5128,4 +5129,0 +5130,6 +5131,1 +5132,5 +5133,4 +5134,6 +5135,6 +5136,0 +5137,3 +5138,4 +5139,5 +5140,6 +5141,8 +5142,7 +5143,6 +5144,6 +5145,3 +5146,1 +5147,8 +5148,4 +5149,8 +5150,9 +5151,9 +5152,5 +5153,5 +5154,8 +5155,2 +5156,5 +5157,4 +5158,4 +5159,2 +5160,5 +5161,6 +5162,9 +5163,2 +5164,9 +5165,1 +5166,0 +5167,2 +5168,6 +5169,6 +5170,9 +5171,8 +5172,3 +5173,4 +5174,9 +5175,1 +5176,9 +5177,4 +5178,7 +5179,3 +5180,5 +5181,4 +5182,3 +5183,4 +5184,6 +5185,1 +5186,0 +5187,2 +5188,4 +5189,3 +5190,7 +5191,8 +5192,4 +5193,5 +5194,5 +5195,9 +5196,0 +5197,4 +5198,3 +5199,4 +5200,5 +5201,5 +5202,5 +5203,7 +5204,3 +5205,1 +5206,3 +5207,3 +5208,7 +5209,0 +5210,7 +5211,7 +5212,6 +5213,8 +5214,3 +5215,5 +5216,5 +5217,8 +5218,1 +5219,9 +5220,4 +5221,0 +5222,4 +5223,2 +5224,1 +5225,6 +5226,0 +5227,1 +5228,6 +5229,5 +5230,0 +5231,8 +5232,1 +5233,1 +5234,7 +5235,5 +5236,6 +5237,5 +5238,9 +5239,0 +5240,8 +5241,1 +5242,4 +5243,4 +5244,2 +5245,7 +5246,0 +5247,7 +5248,3 +5249,3 +5250,2 +5251,3 +5252,7 +5253,1 +5254,6 +5255,4 +5256,3 +5257,3 +5258,0 +5259,6 +5260,6 +5261,4 +5262,8 +5263,7 +5264,0 +5265,3 +5266,0 +5267,4 +5268,7 +5269,3 +5270,3 +5271,6 +5272,0 +5273,2 +5274,4 +5275,4 +5276,1 +5277,8 +5278,1 +5279,9 +5280,1 +5281,2 +5282,6 +5283,4 +5284,6 +5285,5 +5286,3 +5287,3 +5288,5 +5289,3 +5290,5 +5291,8 +5292,3 +5293,9 +5294,7 +5295,3 +5296,0 +5297,6 +5298,1 +5299,0 +5300,1 +5301,0 +5302,7 +5303,7 +5304,4 +5305,8 +5306,9 +5307,0 +5308,1 +5309,5 +5310,4 +5311,9 +5312,4 +5313,7 +5314,9 +5315,9 +5316,9 +5317,0 +5318,1 +5319,0 +5320,9 +5321,9 +5322,5 +5323,1 +5324,7 +5325,2 +5326,9 +5327,1 +5328,5 +5329,6 +5330,8 +5331,1 +5332,7 +5333,3 +5334,3 +5335,8 +5336,4 +5337,7 +5338,0 +5339,8 +5340,9 +5341,8 +5342,8 +5343,4 +5344,5 +5345,6 +5346,4 +5347,5 +5348,9 +5349,0 +5350,0 +5351,5 +5352,3 +5353,7 +5354,7 +5355,4 +5356,4 +5357,7 +5358,4 +5359,5 +5360,8 +5361,3 +5362,7 +5363,2 +5364,7 +5365,3 +5366,8 +5367,8 +5368,8 +5369,7 +5370,8 +5371,6 +5372,0 +5373,5 +5374,7 +5375,9 +5376,8 +5377,5 +5378,6 +5379,0 +5380,6 +5381,2 +5382,4 +5383,2 +5384,8 +5385,9 +5386,9 +5387,1 +5388,9 +5389,5 +5390,8 +5391,4 +5392,4 +5393,8 +5394,4 +5395,8 +5396,7 +5397,6 +5398,8 +5399,3 +5400,0 +5401,7 +5402,8 +5403,8 +5404,3 +5405,9 +5406,9 +5407,5 +5408,9 +5409,2 +5410,6 +5411,9 +5412,7 +5413,5 +5414,7 +5415,4 +5416,9 +5417,9 +5418,2 +5419,3 +5420,9 +5421,5 +5422,3 +5423,5 +5424,3 +5425,1 +5426,2 +5427,9 +5428,1 +5429,4 +5430,8 +5431,5 +5432,1 +5433,7 +5434,9 +5435,6 +5436,3 +5437,1 +5438,6 +5439,9 +5440,0 +5441,4 +5442,6 +5443,0 +5444,0 +5445,6 +5446,9 +5447,7 +5448,1 +5449,9 +5450,8 +5451,5 +5452,6 +5453,8 +5454,5 +5455,9 +5456,5 +5457,2 +5458,4 +5459,2 +5460,5 +5461,2 +5462,2 +5463,5 +5464,4 +5465,2 +5466,7 +5467,1 +5468,0 +5469,6 +5470,6 +5471,6 +5472,5 +5473,6 +5474,4 +5475,6 +5476,9 +5477,5 +5478,5 +5479,1 +5480,5 +5481,2 +5482,4 +5483,4 +5484,4 +5485,4 +5486,1 +5487,9 +5488,3 +5489,7 +5490,2 +5491,7 +5492,4 +5493,2 +5494,9 +5495,7 +5496,4 +5497,4 +5498,6 +5499,1 +5500,7 +5501,1 +5502,4 +5503,7 +5504,6 +5505,1 +5506,7 +5507,3 +5508,0 +5509,3 +5510,6 +5511,6 +5512,6 +5513,0 +5514,4 +5515,1 +5516,7 +5517,9 +5518,0 +5519,2 +5520,9 +5521,6 +5522,0 +5523,7 +5524,1 +5525,9 +5526,5 +5527,2 +5528,9 +5529,8 +5530,6 +5531,4 +5532,0 +5533,1 +5534,3 +5535,2 +5536,2 +5537,8 +5538,1 +5539,0 +5540,8 +5541,1 +5542,8 +5543,1 +5544,0 +5545,1 +5546,6 +5547,7 +5548,3 +5549,7 +5550,7 +5551,3 +5552,3 +5553,9 +5554,9 +5555,0 +5556,8 +5557,2 +5558,5 +5559,8 +5560,9 +5561,5 +5562,3 +5563,5 +5564,4 +5565,1 +5566,6 +5567,9 +5568,4 +5569,4 +5570,2 +5571,6 +5572,1 +5573,8 +5574,1 +5575,3 +5576,3 +5577,0 +5578,2 +5579,1 +5580,7 +5581,0 +5582,5 +5583,4 +5584,5 +5585,3 +5586,6 +5587,4 +5588,1 +5589,6 +5590,0 +5591,7 +5592,4 +5593,6 +5594,4 +5595,3 +5596,6 +5597,4 +5598,5 +5599,2 +5600,9 +5601,6 +5602,8 +5603,0 +5604,4 +5605,4 +5606,0 +5607,1 +5608,7 +5609,5 +5610,3 +5611,3 +5612,3 +5613,2 +5614,0 +5615,3 +5616,5 +5617,2 +5618,6 +5619,2 +5620,5 +5621,1 +5622,4 +5623,6 +5624,2 +5625,1 +5626,9 +5627,3 +5628,4 +5629,6 +5630,9 +5631,5 +5632,8 +5633,0 +5634,6 +5635,3 +5636,6 +5637,0 +5638,8 +5639,1 +5640,2 +5641,3 +5642,3 +5643,1 +5644,5 +5645,5 +5646,3 +5647,2 +5648,6 +5649,7 +5650,1 +5651,3 +5652,2 +5653,3 +5654,6 +5655,0 +5656,2 +5657,2 +5658,8 +5659,6 +5660,8 +5661,4 +5662,7 +5663,0 +5664,3 +5665,1 +5666,3 +5667,8 +5668,3 +5669,4 +5670,1 +5671,2 +5672,6 +5673,3 +5674,6 +5675,7 +5676,7 +5677,8 +5678,3 +5679,0 +5680,9 +5681,5 +5682,6 +5683,6 +5684,9 +5685,5 +5686,4 +5687,3 +5688,8 +5689,5 +5690,3 +5691,8 +5692,3 +5693,7 +5694,9 +5695,0 +5696,2 +5697,5 +5698,1 +5699,0 +5700,5 +5701,6 +5702,3 +5703,5 +5704,7 +5705,9 +5706,6 +5707,0 +5708,7 +5709,1 +5710,2 +5711,0 +5712,8 +5713,0 +5714,2 +5715,2 +5716,7 +5717,8 +5718,0 +5719,4 +5720,4 +5721,4 +5722,9 +5723,7 +5724,3 +5725,2 +5726,5 +5727,4 +5728,5 +5729,1 +5730,9 +5731,5 +5732,0 +5733,5 +5734,0 +5735,4 +5736,1 +5737,7 +5738,9 +5739,0 +5740,3 +5741,3 +5742,4 +5743,9 +5744,1 +5745,0 +5746,1 +5747,9 +5748,5 +5749,6 +5750,8 +5751,2 +5752,2 +5753,1 +5754,4 +5755,0 +5756,6 +5757,7 +5758,9 +5759,0 +5760,6 +5761,1 +5762,4 +5763,3 +5764,6 +5765,9 +5766,8 +5767,1 +5768,3 +5769,7 +5770,3 +5771,9 +5772,9 +5773,5 +5774,4 +5775,2 +5776,3 +5777,6 +5778,8 +5779,8 +5780,5 +5781,5 +5782,1 +5783,8 +5784,8 +5785,5 +5786,7 +5787,9 +5788,9 +5789,3 +5790,4 +5791,4 +5792,2 +5793,7 +5794,9 +5795,6 +5796,6 +5797,7 +5798,5 +5799,4 +5800,7 +5801,6 +5802,1 +5803,4 +5804,2 +5805,2 +5806,0 +5807,9 +5808,0 +5809,0 +5810,5 +5811,1 +5812,1 +5813,7 +5814,8 +5815,3 +5816,6 +5817,6 +5818,2 +5819,0 +5820,6 +5821,4 +5822,9 +5823,5 +5824,2 +5825,4 +5826,6 +5827,4 +5828,6 +5829,1 +5830,5 +5831,2 +5832,7 +5833,8 +5834,6 +5835,7 +5836,7 +5837,0 +5838,8 +5839,4 +5840,3 +5841,6 +5842,9 +5843,1 +5844,2 +5845,1 +5846,7 +5847,4 +5848,3 +5849,4 +5850,9 +5851,9 +5852,6 +5853,6 +5854,4 +5855,3 +5856,0 +5857,5 +5858,7 +5859,5 +5860,6 +5861,7 +5862,8 +5863,9 +5864,9 +5865,2 +5866,7 +5867,8 +5868,7 +5869,7 +5870,5 +5871,8 +5872,7 +5873,6 +5874,6 +5875,9 +5876,0 +5877,1 +5878,8 +5879,7 +5880,5 +5881,4 +5882,5 +5883,3 +5884,7 +5885,6 +5886,6 +5887,5 +5888,5 +5889,6 +5890,9 +5891,9 +5892,1 +5893,9 +5894,5 +5895,9 +5896,4 +5897,4 +5898,1 +5899,5 +5900,8 +5901,3 +5902,5 +5903,1 +5904,8 +5905,6 +5906,5 +5907,0 +5908,2 +5909,3 +5910,7 +5911,1 +5912,1 +5913,1 +5914,8 +5915,7 +5916,5 +5917,6 +5918,3 +5919,4 +5920,7 +5921,0 +5922,0 +5923,5 +5924,3 +5925,4 +5926,8 +5927,6 +5928,5 +5929,2 +5930,7 +5931,3 +5932,2 +5933,3 +5934,2 +5935,7 +5936,8 +5937,0 +5938,7 +5939,6 +5940,9 +5941,5 +5942,8 +5943,0 +5944,7 +5945,3 +5946,5 +5947,0 +5948,9 +5949,7 +5950,3 +5951,0 +5952,6 +5953,5 +5954,7 +5955,8 +5956,2 +5957,3 +5958,1 +5959,9 +5960,0 +5961,2 +5962,9 +5963,1 +5964,3 +5965,4 +5966,0 +5967,4 +5968,3 +5969,6 +5970,2 +5971,3 +5972,8 +5973,6 +5974,4 +5975,9 +5976,5 +5977,6 +5978,1 +5979,8 +5980,2 +5981,6 +5982,1 +5983,6 +5984,2 +5985,9 +5986,4 +5987,3 +5988,7 +5989,9 +5990,6 +5991,3 +5992,5 +5993,4 +5994,5 +5995,9 +5996,8 +5997,5 +5998,3 +5999,0 +6000,1 +6001,2 +6002,6 +6003,4 +6004,1 +6005,9 +6006,4 +6007,4 +6008,0 +6009,5 +6010,5 +6011,4 +6012,3 +6013,2 +6014,0 +6015,1 +6016,4 +6017,9 +6018,9 +6019,7 +6020,0 +6021,1 +6022,2 +6023,6 +6024,6 +6025,4 +6026,6 +6027,2 +6028,5 +6029,9 +6030,4 +6031,8 +6032,2 +6033,6 +6034,1 +6035,5 +6036,9 +6037,6 +6038,1 +6039,8 +6040,9 +6041,3 +6042,1 +6043,7 +6044,1 +6045,1 +6046,1 +6047,9 +6048,1 +6049,3 +6050,8 +6051,9 +6052,9 +6053,1 +6054,9 +6055,6 +6056,0 +6057,5 +6058,8 +6059,5 +6060,5 +6061,9 +6062,3 +6063,8 +6064,9 +6065,0 +6066,7 +6067,8 +6068,2 +6069,9 +6070,2 +6071,0 +6072,1 +6073,5 +6074,0 +6075,7 +6076,8 +6077,6 +6078,0 +6079,9 +6080,1 +6081,1 +6082,8 +6083,2 +6084,8 +6085,7 +6086,2 +6087,0 +6088,7 +6089,2 +6090,0 +6091,0 +6092,5 +6093,1 +6094,6 +6095,8 +6096,6 +6097,3 +6098,7 +6099,2 +6100,1 +6101,9 +6102,7 +6103,6 +6104,1 +6105,3 +6106,9 +6107,2 +6108,4 +6109,0 +6110,3 +6111,7 +6112,5 +6113,1 +6114,1 +6115,9 +6116,5 +6117,1 +6118,5 +6119,4 +6120,6 +6121,6 +6122,1 +6123,5 +6124,2 +6125,1 +6126,6 +6127,2 +6128,5 +6129,7 +6130,9 +6131,4 +6132,3 +6133,4 +6134,1 +6135,7 +6136,9 +6137,0 +6138,5 +6139,7 +6140,3 +6141,3 +6142,8 +6143,4 +6144,1 +6145,8 +6146,2 +6147,7 +6148,4 +6149,4 +6150,8 +6151,9 +6152,2 +6153,9 +6154,3 +6155,2 +6156,6 +6157,1 +6158,1 +6159,6 +6160,6 +6161,1 +6162,6 +6163,9 +6164,8 +6165,5 +6166,9 +6167,1 +6168,5 +6169,6 +6170,9 +6171,3 +6172,2 +6173,1 +6174,7 +6175,2 +6176,9 +6177,8 +6178,8 +6179,9 +6180,5 +6181,5 +6182,3 +6183,8 +6184,6 +6185,0 +6186,3 +6187,6 +6188,1 +6189,1 +6190,9 +6191,0 +6192,9 +6193,7 +6194,5 +6195,3 +6196,2 +6197,9 +6198,5 +6199,5 +6200,4 +6201,6 +6202,9 +6203,9 +6204,3 +6205,0 +6206,6 +6207,4 +6208,1 +6209,7 +6210,4 +6211,9 +6212,2 +6213,8 +6214,5 +6215,8 +6216,6 +6217,0 +6218,1 +6219,3 +6220,6 +6221,2 +6222,3 +6223,6 +6224,6 +6225,0 +6226,2 +6227,8 +6228,3 +6229,2 +6230,8 +6231,6 +6232,1 +6233,8 +6234,4 +6235,5 +6236,4 +6237,2 +6238,3 +6239,9 +6240,0 +6241,4 +6242,4 +6243,2 +6244,5 +6245,4 +6246,2 +6247,7 +6248,3 +6249,7 +6250,3 +6251,3 +6252,6 +6253,9 +6254,4 +6255,8 +6256,5 +6257,6 +6258,0 +6259,3 +6260,6 +6261,7 +6262,4 +6263,5 +6264,3 +6265,1 +6266,1 +6267,9 +6268,7 +6269,5 +6270,4 +6271,2 +6272,1 +6273,6 +6274,4 +6275,5 +6276,9 +6277,2 +6278,5 +6279,5 +6280,3 +6281,3 +6282,0 +6283,9 +6284,2 +6285,2 +6286,2 +6287,3 +6288,2 +6289,4 +6290,9 +6291,2 +6292,3 +6293,6 +6294,4 +6295,2 +6296,0 +6297,4 +6298,1 +6299,3 +6300,9 +6301,2 +6302,4 +6303,2 +6304,2 +6305,3 +6306,2 +6307,3 +6308,0 +6309,8 +6310,3 +6311,5 +6312,1 +6313,6 +6314,1 +6315,8 +6316,2 +6317,1 +6318,2 +6319,1 +6320,1 +6321,9 +6322,6 +6323,5 +6324,9 +6325,6 +6326,8 +6327,0 +6328,3 +6329,6 +6330,3 +6331,8 +6332,3 +6333,7 +6334,5 +6335,6 +6336,1 +6337,1 +6338,2 +6339,0 +6340,5 +6341,5 +6342,0 +6343,1 +6344,6 +6345,5 +6346,2 +6347,8 +6348,9 +6349,7 +6350,9 +6351,1 +6352,1 +6353,3 +6354,3 +6355,5 +6356,6 +6357,7 +6358,5 +6359,9 +6360,4 +6361,9 +6362,3 +6363,6 +6364,6 +6365,2 +6366,8 +6367,5 +6368,6 +6369,5 +6370,9 +6371,8 +6372,3 +6373,8 +6374,1 +6375,3 +6376,1 +6377,4 +6378,5 +6379,6 +6380,5 +6381,4 +6382,4 +6383,9 +6384,8 +6385,7 +6386,1 +6387,4 +6388,8 +6389,3 +6390,7 +6391,7 +6392,6 +6393,7 +6394,9 +6395,4 +6396,7 +6397,7 +6398,0 +6399,1 +6400,4 +6401,1 +6402,4 +6403,8 +6404,4 +6405,4 +6406,7 +6407,6 +6408,7 +6409,1 +6410,8 +6411,7 +6412,5 +6413,1 +6414,3 +6415,1 +6416,0 +6417,3 +6418,4 +6419,5 +6420,4 +6421,8 +6422,6 +6423,3 +6424,4 +6425,9 +6426,3 +6427,1 +6428,5 +6429,3 +6430,0 +6431,7 +6432,0 +6433,3 +6434,4 +6435,5 +6436,1 +6437,6 +6438,6 +6439,2 +6440,8 +6441,3 +6442,9 +6443,8 +6444,0 +6445,7 +6446,2 +6447,4 +6448,2 +6449,5 +6450,1 +6451,9 +6452,6 +6453,3 +6454,8 +6455,7 +6456,1 +6457,8 +6458,1 +6459,2 +6460,0 +6461,9 +6462,2 +6463,4 +6464,3 +6465,4 +6466,6 +6467,1 +6468,3 +6469,5 +6470,2 +6471,9 +6472,5 +6473,5 +6474,4 +6475,7 +6476,5 +6477,5 +6478,6 +6479,4 +6480,8 +6481,0 +6482,7 +6483,0 +6484,8 +6485,4 +6486,2 +6487,1 +6488,9 +6489,7 +6490,7 +6491,3 +6492,8 +6493,0 +6494,3 +6495,0 +6496,9 +6497,8 +6498,5 +6499,6 +6500,4 +6501,8 +6502,1 +6503,5 +6504,5 +6505,7 +6506,0 +6507,1 +6508,6 +6509,1 +6510,3 +6511,2 +6512,6 +6513,4 +6514,6 +6515,1 +6516,7 +6517,6 +6518,2 +6519,2 +6520,6 +6521,1 +6522,8 +6523,2 +6524,2 +6525,4 +6526,1 +6527,0 +6528,8 +6529,8 +6530,4 +6531,4 +6532,2 +6533,0 +6534,7 +6535,0 +6536,8 +6537,9 +6538,1 +6539,6 +6540,6 +6541,7 +6542,6 +6543,8 +6544,1 +6545,8 +6546,2 +6547,4 +6548,6 +6549,7 +6550,5 +6551,7 +6552,9 +6553,9 +6554,3 +6555,9 +6556,4 +6557,4 +6558,0 +6559,4 +6560,1 +6561,4 +6562,8 +6563,4 +6564,6 +6565,8 +6566,6 +6567,2 +6568,2 +6569,9 +6570,1 +6571,8 +6572,0 +6573,6 +6574,2 +6575,6 +6576,0 +6577,3 +6578,6 +6579,6 +6580,1 +6581,3 +6582,6 +6583,3 +6584,4 +6585,1 +6586,7 +6587,8 +6588,1 +6589,0 +6590,7 +6591,6 +6592,5 +6593,6 +6594,8 +6595,2 +6596,8 +6597,5 +6598,8 +6599,7 +6600,8 +6601,4 +6602,5 +6603,9 +6604,5 +6605,5 +6606,1 +6607,2 +6608,4 +6609,7 +6610,2 +6611,9 +6612,7 +6613,8 +6614,6 +6615,7 +6616,4 +6617,6 +6618,3 +6619,8 +6620,8 +6621,4 +6622,5 +6623,1 +6624,8 +6625,6 +6626,4 +6627,2 +6628,2 +6629,9 +6630,8 +6631,9 +6632,0 +6633,2 +6634,5 +6635,9 +6636,3 +6637,5 +6638,9 +6639,8 +6640,4 +6641,3 +6642,9 +6643,5 +6644,9 +6645,3 +6646,0 +6647,8 +6648,6 +6649,3 +6650,6 +6651,3 +6652,5 +6653,8 +6654,6 +6655,6 +6656,1 +6657,8 +6658,6 +6659,9 +6660,0 +6661,0 +6662,7 +6663,6 +6664,6 +6665,8 +6666,7 +6667,4 +6668,8 +6669,8 +6670,2 +6671,0 +6672,3 +6673,6 +6674,7 +6675,1 +6676,1 +6677,7 +6678,4 +6679,6 +6680,7 +6681,1 +6682,6 +6683,5 +6684,2 +6685,0 +6686,7 +6687,9 +6688,6 +6689,6 +6690,8 +6691,2 +6692,1 +6693,1 +6694,8 +6695,8 +6696,3 +6697,5 +6698,7 +6699,5 +6700,6 +6701,9 +6702,4 +6703,3 +6704,9 +6705,3 +6706,8 +6707,9 +6708,0 +6709,4 +6710,0 +6711,4 +6712,5 +6713,7 +6714,0 +6715,4 +6716,3 +6717,9 +6718,5 +6719,7 +6720,2 +6721,2 +6722,5 +6723,8 +6724,3 +6725,1 +6726,3 +6727,5 +6728,4 +6729,9 +6730,4 +6731,3 +6732,9 +6733,7 +6734,2 +6735,0 +6736,8 +6737,0 +6738,9 +6739,1 +6740,9 +6741,9 +6742,0 +6743,7 +6744,1 +6745,4 +6746,5 +6747,0 +6748,3 +6749,8 +6750,7 +6751,4 +6752,5 +6753,5 +6754,9 +6755,3 +6756,2 +6757,0 +6758,0 +6759,9 +6760,0 +6761,5 +6762,6 +6763,1 +6764,3 +6765,7 +6766,9 +6767,1 +6768,5 +6769,9 +6770,6 +6771,0 +6772,9 +6773,7 +6774,2 +6775,9 +6776,2 +6777,1 +6778,2 +6779,7 +6780,5 +6781,1 +6782,0 +6783,7 +6784,3 +6785,4 +6786,7 +6787,6 +6788,4 +6789,6 +6790,8 +6791,5 +6792,7 +6793,9 +6794,5 +6795,7 +6796,3 +6797,6 +6798,3 +6799,9 +6800,3 +6801,4 +6802,1 +6803,5 +6804,6 +6805,9 +6806,7 +6807,4 +6808,0 +6809,2 +6810,5 +6811,8 +6812,0 +6813,7 +6814,7 +6815,3 +6816,2 +6817,0 +6818,4 +6819,8 +6820,2 +6821,0 +6822,6 +6823,9 +6824,8 +6825,9 +6826,0 +6827,5 +6828,0 +6829,6 +6830,0 +6831,2 +6832,4 +6833,3 +6834,1 +6835,8 +6836,7 +6837,4 +6838,1 +6839,9 +6840,1 +6841,2 +6842,8 +6843,5 +6844,6 +6845,3 +6846,0 +6847,0 +6848,2 +6849,6 +6850,0 +6851,7 +6852,2 +6853,1 +6854,8 +6855,4 +6856,8 +6857,7 +6858,9 +6859,4 +6860,1 +6861,3 +6862,5 +6863,7 +6864,7 +6865,3 +6866,6 +6867,5 +6868,7 +6869,3 +6870,6 +6871,7 +6872,3 +6873,2 +6874,6 +6875,9 +6876,6 +6877,7 +6878,3 +6879,9 +6880,1 +6881,2 +6882,1 +6883,9 +6884,7 +6885,2 +6886,3 +6887,3 +6888,8 +6889,1 +6890,8 +6891,3 +6892,5 +6893,0 +6894,5 +6895,3 +6896,8 +6897,5 +6898,7 +6899,4 +6900,9 +6901,0 +6902,6 +6903,8 +6904,3 +6905,2 +6906,3 +6907,3 +6908,4 +6909,3 +6910,7 +6911,8 +6912,7 +6913,1 +6914,3 +6915,7 +6916,8 +6917,9 +6918,5 +6919,5 +6920,2 +6921,2 +6922,4 +6923,5 +6924,0 +6925,8 +6926,6 +6927,3 +6928,4 +6929,0 +6930,8 +6931,8 +6932,9 +6933,6 +6934,9 +6935,1 +6936,5 +6937,1 +6938,2 +6939,1 +6940,3 +6941,2 +6942,2 +6943,2 +6944,4 +6945,5 +6946,7 +6947,5 +6948,9 +6949,2 +6950,0 +6951,5 +6952,7 +6953,0 +6954,5 +6955,6 +6956,5 +6957,4 +6958,0 +6959,4 +6960,0 +6961,7 +6962,1 +6963,5 +6964,4 +6965,9 +6966,8 +6967,1 +6968,7 +6969,6 +6970,4 +6971,4 +6972,0 +6973,7 +6974,1 +6975,8 +6976,5 +6977,7 +6978,8 +6979,5 +6980,5 +6981,1 +6982,8 +6983,5 +6984,7 +6985,7 +6986,7 +6987,6 +6988,5 +6989,2 +6990,4 +6991,1 +6992,2 +6993,4 +6994,4 +6995,1 +6996,6 +6997,6 +6998,9 +6999,1 +7000,8 +7001,2 +7002,3 +7003,7 +7004,4 +7005,9 +7006,5 +7007,7 +7008,4 +7009,3 +7010,9 +7011,5 +7012,6 +7013,4 +7014,0 +7015,7 +7016,3 +7017,9 +7018,3 +7019,0 +7020,5 +7021,9 +7022,0 +7023,9 +7024,6 +7025,6 +7026,4 +7027,5 +7028,7 +7029,1 +7030,6 +7031,5 +7032,2 +7033,0 +7034,2 +7035,3 +7036,1 +7037,1 +7038,1 +7039,7 +7040,6 +7041,2 +7042,6 +7043,5 +7044,9 +7045,8 +7046,7 +7047,9 +7048,3 +7049,4 +7050,7 +7051,9 +7052,2 +7053,0 +7054,1 +7055,1 +7056,1 +7057,4 +7058,8 +7059,0 +7060,8 +7061,0 +7062,9 +7063,5 +7064,6 +7065,7 +7066,0 +7067,8 +7068,4 +7069,4 +7070,4 +7071,2 +7072,2 +7073,2 +7074,5 +7075,7 +7076,2 +7077,9 +7078,9 +7079,2 +7080,2 +7081,2 +7082,0 +7083,7 +7084,4 +7085,5 +7086,2 +7087,3 +7088,3 +7089,1 +7090,9 +7091,8 +7092,1 +7093,8 +7094,6 +7095,6 +7096,3 +7097,9 +7098,1 +7099,9 +7100,7 +7101,2 +7102,9 +7103,6 +7104,9 +7105,3 +7106,0 +7107,4 +7108,2 +7109,3 +7110,4 +7111,6 +7112,6 +7113,9 +7114,6 +7115,1 +7116,1 +7117,0 +7118,5 +7119,6 +7120,7 +7121,0 +7122,4 +7123,1 +7124,1 +7125,9 +7126,0 +7127,0 +7128,1 +7129,9 +7130,4 +7131,7 +7132,3 +7133,5 +7134,4 +7135,1 +7136,2 +7137,0 +7138,4 +7139,0 +7140,3 +7141,0 +7142,2 +7143,3 +7144,5 +7145,9 +7146,5 +7147,8 +7148,9 +7149,3 +7150,1 +7151,7 +7152,8 +7153,9 +7154,4 +7155,1 +7156,1 +7157,9 +7158,0 +7159,7 +7160,0 +7161,0 +7162,9 +7163,6 +7164,0 +7165,2 +7166,9 +7167,3 +7168,8 +7169,5 +7170,5 +7171,9 +7172,3 +7173,3 +7174,5 +7175,7 +7176,1 +7177,3 +7178,3 +7179,3 +7180,5 +7181,6 +7182,0 +7183,4 +7184,1 +7185,1 +7186,9 +7187,1 +7188,4 +7189,0 +7190,6 +7191,2 +7192,2 +7193,6 +7194,6 +7195,0 +7196,3 +7197,5 +7198,0 +7199,3 +7200,0 +7201,5 +7202,1 +7203,1 +7204,8 +7205,2 +7206,5 +7207,3 +7208,5 +7209,1 +7210,4 +7211,4 +7212,3 +7213,1 +7214,6 +7215,7 +7216,9 +7217,6 +7218,3 +7219,8 +7220,5 +7221,6 +7222,4 +7223,9 +7224,1 +7225,5 +7226,7 +7227,7 +7228,6 +7229,2 +7230,2 +7231,7 +7232,5 +7233,6 +7234,1 +7235,5 +7236,7 +7237,9 +7238,8 +7239,2 +7240,8 +7241,3 +7242,7 +7243,6 +7244,6 +7245,2 +7246,9 +7247,9 +7248,0 +7249,0 +7250,7 +7251,3 +7252,1 +7253,0 +7254,8 +7255,2 +7256,4 +7257,4 +7258,4 +7259,7 +7260,1 +7261,8 +7262,6 +7263,0 +7264,3 +7265,4 +7266,0 +7267,3 +7268,9 +7269,8 +7270,0 +7271,0 +7272,8 +7273,3 +7274,9 +7275,2 +7276,1 +7277,5 +7278,6 +7279,5 +7280,0 +7281,8 +7282,4 +7283,4 +7284,5 +7285,9 +7286,3 +7287,0 +7288,2 +7289,7 +7290,8 +7291,5 +7292,9 +7293,5 +7294,0 +7295,0 +7296,4 +7297,9 +7298,7 +7299,2 +7300,9 +7301,2 +7302,2 +7303,6 +7304,4 +7305,0 +7306,1 +7307,4 +7308,3 +7309,9 +7310,4 +7311,0 +7312,3 +7313,4 +7314,4 +7315,6 +7316,9 +7317,4 +7318,7 +7319,2 +7320,5 +7321,4 +7322,3 +7323,4 +7324,5 +7325,7 +7326,0 +7327,2 +7328,1 +7329,1 +7330,8 +7331,7 +7332,1 +7333,2 +7334,6 +7335,5 +7336,2 +7337,3 +7338,8 +7339,8 +7340,8 +7341,9 +7342,3 +7343,0 +7344,9 +7345,6 +7346,0 +7347,3 +7348,6 +7349,4 +7350,4 +7351,8 +7352,8 +7353,5 +7354,9 +7355,6 +7356,7 +7357,1 +7358,9 +7359,0 +7360,3 +7361,3 +7362,3 +7363,2 +7364,3 +7365,9 +7366,9 +7367,5 +7368,4 +7369,0 +7370,4 +7371,2 +7372,4 +7373,6 +7374,4 +7375,5 +7376,3 +7377,4 +7378,9 +7379,8 +7380,5 +7381,8 +7382,3 +7383,4 +7384,1 +7385,4 +7386,8 +7387,9 +7388,2 +7389,6 +7390,2 +7391,3 +7392,5 +7393,0 +7394,3 +7395,5 +7396,2 +7397,5 +7398,3 +7399,9 +7400,1 +7401,2 +7402,9 +7403,8 +7404,9 +7405,3 +7406,8 +7407,8 +7408,5 +7409,5 +7410,8 +7411,4 +7412,4 +7413,0 +7414,8 +7415,3 +7416,0 +7417,4 +7418,9 +7419,6 +7420,1 +7421,0 +7422,5 +7423,1 +7424,4 +7425,3 +7426,9 +7427,2 +7428,6 +7429,3 +7430,6 +7431,7 +7432,4 +7433,6 +7434,4 +7435,3 +7436,8 +7437,5 +7438,1 +7439,8 +7440,3 +7441,4 +7442,4 +7443,5 +7444,6 +7445,0 +7446,5 +7447,8 +7448,7 +7449,4 +7450,4 +7451,2 +7452,2 +7453,9 +7454,3 +7455,5 +7456,0 +7457,9 +7458,9 +7459,0 +7460,1 +7461,3 +7462,7 +7463,1 +7464,9 +7465,6 +7466,5 +7467,2 +7468,6 +7469,9 +7470,5 +7471,7 +7472,7 +7473,4 +7474,2 +7475,8 +7476,3 +7477,1 +7478,7 +7479,8 +7480,8 +7481,6 +7482,8 +7483,0 +7484,5 +7485,5 +7486,7 +7487,1 +7488,9 +7489,6 +7490,2 +7491,1 +7492,5 +7493,1 +7494,9 +7495,6 +7496,1 +7497,6 +7498,3 +7499,2 +7500,5 +7501,3 +7502,9 +7503,3 +7504,5 +7505,4 +7506,0 +7507,6 +7508,9 +7509,5 +7510,4 +7511,2 +7512,3 +7513,8 +7514,5 +7515,8 +7516,3 +7517,6 +7518,4 +7519,1 +7520,4 +7521,9 +7522,5 +7523,8 +7524,9 +7525,7 +7526,6 +7527,6 +7528,9 +7529,5 +7530,9 +7531,1 +7532,1 +7533,6 +7534,8 +7535,4 +7536,1 +7537,4 +7538,6 +7539,9 +7540,9 +7541,8 +7542,9 +7543,7 +7544,4 +7545,6 +7546,1 +7547,9 +7548,9 +7549,1 +7550,9 +7551,3 +7552,2 +7553,3 +7554,7 +7555,1 +7556,1 +7557,3 +7558,6 +7559,8 +7560,3 +7561,4 +7562,3 +7563,3 +7564,8 +7565,3 +7566,7 +7567,1 +7568,0 +7569,3 +7570,8 +7571,3 +7572,7 +7573,9 +7574,8 +7575,0 +7576,3 +7577,0 +7578,4 +7579,5 +7580,7 +7581,6 +7582,7 +7583,3 +7584,5 +7585,0 +7586,2 +7587,6 +7588,3 +7589,3 +7590,0 +7591,0 +7592,4 +7593,4 +7594,4 +7595,4 +7596,6 +7597,9 +7598,9 +7599,6 +7600,7 +7601,4 +7602,0 +7603,2 +7604,2 +7605,1 +7606,9 +7607,5 +7608,9 +7609,9 +7610,0 +7611,5 +7612,8 +7613,6 +7614,7 +7615,3 +7616,9 +7617,5 +7618,2 +7619,8 +7620,9 +7621,5 +7622,8 +7623,0 +7624,0 +7625,6 +7626,0 +7627,6 +7628,3 +7629,7 +7630,8 +7631,0 +7632,1 +7633,2 +7634,2 +7635,3 +7636,1 +7637,1 +7638,3 +7639,2 +7640,2 +7641,5 +7642,4 +7643,3 +7644,9 +7645,3 +7646,4 +7647,2 +7648,3 +7649,7 +7650,2 +7651,9 +7652,2 +7653,1 +7654,4 +7655,7 +7656,5 +7657,5 +7658,9 +7659,4 +7660,6 +7661,9 +7662,7 +7663,9 +7664,7 +7665,4 +7666,1 +7667,8 +7668,3 +7669,3 +7670,8 +7671,0 +7672,8 +7673,7 +7674,0 +7675,7 +7676,7 +7677,9 +7678,6 +7679,3 +7680,0 +7681,3 +7682,7 +7683,6 +7684,1 +7685,5 +7686,2 +7687,0 +7688,5 +7689,8 +7690,6 +7691,7 +7692,0 +7693,1 +7694,0 +7695,5 +7696,6 +7697,2 +7698,1 +7699,4 +7700,1 +7701,8 +7702,7 +7703,9 +7704,9 +7705,7 +7706,3 +7707,2 +7708,2 +7709,4 +7710,7 +7711,6 +7712,3 +7713,9 +7714,4 +7715,3 +7716,9 +7717,5 +7718,1 +7719,6 +7720,9 +7721,2 +7722,7 +7723,4 +7724,3 +7725,5 +7726,7 +7727,2 +7728,7 +7729,2 +7730,8 +7731,7 +7732,5 +7733,4 +7734,5 +7735,9 +7736,4 +7737,3 +7738,5 +7739,0 +7740,2 +7741,5 +7742,5 +7743,3 +7744,1 +7745,9 +7746,3 +7747,7 +7748,1 +7749,0 +7750,3 +7751,4 +7752,4 +7753,2 +7754,5 +7755,9 +7756,2 +7757,1 +7758,1 +7759,7 +7760,7 +7761,9 +7762,0 +7763,1 +7764,6 +7765,8 +7766,5 +7767,2 +7768,5 +7769,3 +7770,7 +7771,8 +7772,7 +7773,7 +7774,0 +7775,8 +7776,5 +7777,6 +7778,0 +7779,5 +7780,5 +7781,6 +7782,7 +7783,7 +7784,9 +7785,7 +7786,1 +7787,0 +7788,0 +7789,8 +7790,0 +7791,4 +7792,0 +7793,6 +7794,4 +7795,5 +7796,5 +7797,0 +7798,5 +7799,3 +7800,0 +7801,4 +7802,5 +7803,0 +7804,7 +7805,1 +7806,8 +7807,7 +7808,1 +7809,2 +7810,2 +7811,0 +7812,6 +7813,7 +7814,3 +7815,7 +7816,4 +7817,8 +7818,6 +7819,3 +7820,9 +7821,4 +7822,0 +7823,3 +7824,0 +7825,8 +7826,7 +7827,3 +7828,3 +7829,6 +7830,5 +7831,6 +7832,1 +7833,5 +7834,0 +7835,9 +7836,9 +7837,1 +7838,3 +7839,0 +7840,6 +7841,1 +7842,6 +7843,6 +7844,5 +7845,7 +7846,2 +7847,4 +7848,0 +7849,9 +7850,2 +7851,6 +7852,8 +7853,2 +7854,8 +7855,3 +7856,7 +7857,7 +7858,3 +7859,3 +7860,9 +7861,5 +7862,7 +7863,6 +7864,0 +7865,9 +7866,4 +7867,5 +7868,0 +7869,7 +7870,2 +7871,9 +7872,5 +7873,5 +7874,8 +7875,7 +7876,4 +7877,9 +7878,5 +7879,6 +7880,3 +7881,6 +7882,3 +7883,6 +7884,2 +7885,7 +7886,6 +7887,4 +7888,2 +7889,5 +7890,4 +7891,1 +7892,5 +7893,7 +7894,9 +7895,7 +7896,3 +7897,9 +7898,8 +7899,8 +7900,5 +7901,1 +7902,9 +7903,6 +7904,1 +7905,6 +7906,4 +7907,8 +7908,0 +7909,7 +7910,6 +7911,9 +7912,8 +7913,8 +7914,3 +7915,4 +7916,4 +7917,1 +7918,7 +7919,7 +7920,1 +7921,1 +7922,6 +7923,7 +7924,0 +7925,3 +7926,2 +7927,8 +7928,7 +7929,8 +7930,7 +7931,9 +7932,1 +7933,1 +7934,3 +7935,8 +7936,9 +7937,5 +7938,9 +7939,1 +7940,0 +7941,0 +7942,3 +7943,4 +7944,4 +7945,4 +7946,7 +7947,1 +7948,2 +7949,0 +7950,1 +7951,5 +7952,4 +7953,4 +7954,9 +7955,2 +7956,4 +7957,2 +7958,4 +7959,0 +7960,7 +7961,7 +7962,4 +7963,7 +7964,1 +7965,4 +7966,0 +7967,8 +7968,3 +7969,3 +7970,5 +7971,4 +7972,0 +7973,8 +7974,3 +7975,0 +7976,4 +7977,0 +7978,1 +7979,8 +7980,4 +7981,0 +7982,2 +7983,9 +7984,5 +7985,4 +7986,3 +7987,5 +7988,2 +7989,1 +7990,6 +7991,4 +7992,4 +7993,5 +7994,8 +7995,0 +7996,7 +7997,3 +7998,0 +7999,6 +8000,7 +8001,6 +8002,2 +8003,3 +8004,6 +8005,6 +8006,2 +8007,0 +8008,3 +8009,4 +8010,5 +8011,1 +8012,7 +8013,5 +8014,2 +8015,5 +8016,7 +8017,7 +8018,9 +8019,9 +8020,9 +8021,2 +8022,0 +8023,9 +8024,2 +8025,0 +8026,5 +8027,5 +8028,5 +8029,0 +8030,5 +8031,6 +8032,6 +8033,6 +8034,0 +8035,6 +8036,9 +8037,9 +8038,2 +8039,4 +8040,5 +8041,4 +8042,0 +8043,1 +8044,0 +8045,8 +8046,9 +8047,5 +8048,7 +8049,3 +8050,0 +8051,6 +8052,4 +8053,1 +8054,6 +8055,8 +8056,1 +8057,8 +8058,2 +8059,0 +8060,6 +8061,9 +8062,8 +8063,5 +8064,1 +8065,2 +8066,4 +8067,0 +8068,9 +8069,0 +8070,8 +8071,8 +8072,0 +8073,7 +8074,1 +8075,6 +8076,9 +8077,8 +8078,9 +8079,9 +8080,4 +8081,9 +8082,6 +8083,3 +8084,3 +8085,4 +8086,5 +8087,0 +8088,8 +8089,0 +8090,4 +8091,0 +8092,3 +8093,0 +8094,0 +8095,0 +8096,3 +8097,3 +8098,5 +8099,9 +8100,4 +8101,7 +8102,1 +8103,5 +8104,4 +8105,1 +8106,6 +8107,1 +8108,7 +8109,9 +8110,4 +8111,3 +8112,4 +8113,5 +8114,2 +8115,9 +8116,4 +8117,9 +8118,8 +8119,8 +8120,7 +8121,4 +8122,2 +8123,3 +8124,9 +8125,3 +8126,6 +8127,7 +8128,6 +8129,4 +8130,7 +8131,0 +8132,6 +8133,1 +8134,0 +8135,5 +8136,7 +8137,3 +8138,5 +8139,9 +8140,2 +8141,3 +8142,2 +8143,8 +8144,5 +8145,8 +8146,1 +8147,9 +8148,6 +8149,7 +8150,6 +8151,7 +8152,3 +8153,6 +8154,4 +8155,5 +8156,8 +8157,8 +8158,8 +8159,8 +8160,7 +8161,4 +8162,6 +8163,5 +8164,1 +8165,5 +8166,9 +8167,6 +8168,0 +8169,9 +8170,5 +8171,8 +8172,5 +8173,7 +8174,3 +8175,9 +8176,8 +8177,3 +8178,4 +8179,6 +8180,5 +8181,7 +8182,5 +8183,1 +8184,1 +8185,5 +8186,4 +8187,1 +8188,8 +8189,5 +8190,8 +8191,2 +8192,9 +8193,6 +8194,3 +8195,3 +8196,4 +8197,0 +8198,2 +8199,4 +8200,1 +8201,1 +8202,6 +8203,7 +8204,3 +8205,9 +8206,0 +8207,2 +8208,8 +8209,8 +8210,8 +8211,8 +8212,7 +8213,7 +8214,1 +8215,2 +8216,6 +8217,6 +8218,1 +8219,6 +8220,0 +8221,2 +8222,5 +8223,8 +8224,2 +8225,4 +8226,2 +8227,3 +8228,1 +8229,5 +8230,5 +8231,4 +8232,4 +8233,0 +8234,5 +8235,4 +8236,7 +8237,6 +8238,3 +8239,4 +8240,5 +8241,5 +8242,7 +8243,5 +8244,7 +8245,0 +8246,1 +8247,1 +8248,9 +8249,7 +8250,5 +8251,0 +8252,1 +8253,9 +8254,6 +8255,3 +8256,6 +8257,5 +8258,4 +8259,6 +8260,4 +8261,5 +8262,7 +8263,2 +8264,2 +8265,2 +8266,0 +8267,5 +8268,6 +8269,6 +8270,3 +8271,7 +8272,8 +8273,6 +8274,2 +8275,6 +8276,1 +8277,1 +8278,7 +8279,5 +8280,2 +8281,5 +8282,3 +8283,4 +8284,8 +8285,5 +8286,8 +8287,8 +8288,6 +8289,1 +8290,2 +8291,3 +8292,5 +8293,6 +8294,9 +8295,0 +8296,4 +8297,5 +8298,6 +8299,3 +8300,4 +8301,9 +8302,5 +8303,5 +8304,9 +8305,4 +8306,6 +8307,4 +8308,1 +8309,1 +8310,8 +8311,9 +8312,4 +8313,4 +8314,2 +8315,3 +8316,3 +8317,0 +8318,7 +8319,1 +8320,8 +8321,8 +8322,5 +8323,0 +8324,0 +8325,7 +8326,7 +8327,1 +8328,0 +8329,1 +8330,4 +8331,1 +8332,9 +8333,0 +8334,4 +8335,1 +8336,1 +8337,0 +8338,7 +8339,3 +8340,7 +8341,3 +8342,9 +8343,0 +8344,1 +8345,8 +8346,9 +8347,0 +8348,6 +8349,6 +8350,0 +8351,9 +8352,1 +8353,6 +8354,1 +8355,2 +8356,7 +8357,8 +8358,0 +8359,5 +8360,6 +8361,8 +8362,2 +8363,5 +8364,5 +8365,1 +8366,5 +8367,9 +8368,1 +8369,8 +8370,5 +8371,3 +8372,1 +8373,6 +8374,6 +8375,0 +8376,7 +8377,3 +8378,5 +8379,4 +8380,8 +8381,0 +8382,7 +8383,1 +8384,4 +8385,3 +8386,9 +8387,8 +8388,3 +8389,8 +8390,7 +8391,7 +8392,9 +8393,7 +8394,0 +8395,9 +8396,4 +8397,0 +8398,9 +8399,6 +8400,1 +8401,9 +8402,8 +8403,6 +8404,3 +8405,7 +8406,4 +8407,9 +8408,5 +8409,4 +8410,7 +8411,1 +8412,2 +8413,1 +8414,2 +8415,3 +8416,9 +8417,2 +8418,0 +8419,5 +8420,0 +8421,0 +8422,5 +8423,5 +8424,4 +8425,0 +8426,9 +8427,9 +8428,1 +8429,6 +8430,7 +8431,7 +8432,7 +8433,4 +8434,5 +8435,1 +8436,2 +8437,0 +8438,6 +8439,3 +8440,8 +8441,9 +8442,8 +8443,4 +8444,1 +8445,0 +8446,8 +8447,3 +8448,9 +8449,8 +8450,8 +8451,7 +8452,8 +8453,3 +8454,6 +8455,0 +8456,7 +8457,4 +8458,8 +8459,6 +8460,9 +8461,9 +8462,4 +8463,5 +8464,7 +8465,6 +8466,2 +8467,1 +8468,5 +8469,3 +8470,4 +8471,3 +8472,5 +8473,5 +8474,0 +8475,8 +8476,4 +8477,7 +8478,8 +8479,9 +8480,4 +8481,2 +8482,1 +8483,7 +8484,4 +8485,4 +8486,4 +8487,9 +8488,4 +8489,3 +8490,6 +8491,0 +8492,7 +8493,7 +8494,8 +8495,0 +8496,9 +8497,1 +8498,2 +8499,6 +8500,2 +8501,9 +8502,7 +8503,1 +8504,9 +8505,7 +8506,3 +8507,3 +8508,1 +8509,2 +8510,3 +8511,5 +8512,4 +8513,3 +8514,7 +8515,4 +8516,1 +8517,4 +8518,6 +8519,6 +8520,7 +8521,5 +8522,4 +8523,6 +8524,7 +8525,5 +8526,8 +8527,1 +8528,8 +8529,1 +8530,2 +8531,2 +8532,7 +8533,5 +8534,6 +8535,1 +8536,4 +8537,6 +8538,0 +8539,1 +8540,2 +8541,0 +8542,7 +8543,6 +8544,8 +8545,8 +8546,2 +8547,8 +8548,4 +8549,5 +8550,0 +8551,0 +8552,1 +8553,7 +8554,9 +8555,7 +8556,4 +8557,9 +8558,4 +8559,6 +8560,2 +8561,8 +8562,7 +8563,1 +8564,0 +8565,8 +8566,7 +8567,6 +8568,8 +8569,6 +8570,8 +8571,2 +8572,8 +8573,0 +8574,1 +8575,5 +8576,3 +8577,8 +8578,1 +8579,7 +8580,6 +8581,9 +8582,3 +8583,7 +8584,9 +8585,5 +8586,1 +8587,8 +8588,3 +8589,0 +8590,9 +8591,3 +8592,6 +8593,2 +8594,4 +8595,2 +8596,7 +8597,6 +8598,6 +8599,9 +8600,8 +8601,8 +8602,1 +8603,5 +8604,7 +8605,7 +8606,1 +8607,9 +8608,5 +8609,4 +8610,1 +8611,0 +8612,7 +8613,8 +8614,7 +8615,3 +8616,7 +8617,0 +8618,6 +8619,5 +8620,5 +8621,4 +8622,6 +8623,7 +8624,2 +8625,6 +8626,3 +8627,2 +8628,0 +8629,4 +8630,7 +8631,8 +8632,6 +8633,4 +8634,0 +8635,1 +8636,5 +8637,3 +8638,8 +8639,3 +8640,7 +8641,7 +8642,1 +8643,7 +8644,1 +8645,0 +8646,3 +8647,8 +8648,5 +8649,0 +8650,0 +8651,6 +8652,4 +8653,1 +8654,1 +8655,2 +8656,9 +8657,0 +8658,4 +8659,2 +8660,1 +8661,3 +8662,2 +8663,7 +8664,0 +8665,1 +8666,8 +8667,5 +8668,7 +8669,0 +8670,0 +8671,5 +8672,0 +8673,4 +8674,6 +8675,2 +8676,2 +8677,5 +8678,4 +8679,1 +8680,8 +8681,2 +8682,1 +8683,5 +8684,3 +8685,8 +8686,8 +8687,9 +8688,5 +8689,0 +8690,1 +8691,8 +8692,1 +8693,4 +8694,9 +8695,6 +8696,3 +8697,1 +8698,1 +8699,4 +8700,7 +8701,8 +8702,3 +8703,4 +8704,9 +8705,6 +8706,4 +8707,8 +8708,3 +8709,8 +8710,4 +8711,9 +8712,4 +8713,7 +8714,5 +8715,0 +8716,3 +8717,6 +8718,2 +8719,5 +8720,7 +8721,3 +8722,7 +8723,4 +8724,6 +8725,6 +8726,9 +8727,3 +8728,6 +8729,5 +8730,4 +8731,1 +8732,2 +8733,1 +8734,8 +8735,1 +8736,9 +8737,4 +8738,8 +8739,9 +8740,9 +8741,3 +8742,3 +8743,7 +8744,0 +8745,0 +8746,6 +8747,1 +8748,6 +8749,6 +8750,0 +8751,4 +8752,2 +8753,2 +8754,7 +8755,0 +8756,6 +8757,3 +8758,2 +8759,0 +8760,0 +8761,1 +8762,6 +8763,2 +8764,6 +8765,5 +8766,7 +8767,9 +8768,4 +8769,6 +8770,3 +8771,7 +8772,5 +8773,1 +8774,4 +8775,7 +8776,7 +8777,5 +8778,8 +8779,0 +8780,9 +8781,1 +8782,0 +8783,1 +8784,6 +8785,9 +8786,1 +8787,6 +8788,5 +8789,3 +8790,3 +8791,0 +8792,7 +8793,1 +8794,2 +8795,7 +8796,9 +8797,3 +8798,7 +8799,6 +8800,4 +8801,4 +8802,6 +8803,7 +8804,4 +8805,7 +8806,3 +8807,1 +8808,7 +8809,8 +8810,8 +8811,7 +8812,0 +8813,1 +8814,4 +8815,0 +8816,9 +8817,7 +8818,7 +8819,9 +8820,1 +8821,2 +8822,0 +8823,4 +8824,7 +8825,4 +8826,3 +8827,4 +8828,1 +8829,7 +8830,5 +8831,7 +8832,6 +8833,9 +8834,6 +8835,0 +8836,3 +8837,1 +8838,4 +8839,7 +8840,9 +8841,3 +8842,6 +8843,7 +8844,8 +8845,4 +8846,7 +8847,4 +8848,0 +8849,8 +8850,3 +8851,0 +8852,1 +8853,7 +8854,9 +8855,6 +8856,9 +8857,1 +8858,4 +8859,6 +8860,7 +8861,1 +8862,0 +8863,6 +8864,3 +8865,7 +8866,3 +8867,1 +8868,8 +8869,6 +8870,5 +8871,9 +8872,5 +8873,8 +8874,1 +8875,0 +8876,9 +8877,0 +8878,6 +8879,4 +8880,1 +8881,1 +8882,4 +8883,7 +8884,3 +8885,0 +8886,7 +8887,5 +8888,8 +8889,9 +8890,5 +8891,4 +8892,6 +8893,4 +8894,7 +8895,4 +8896,3 +8897,8 +8898,3 +8899,8 +8900,1 +8901,1 +8902,2 +8903,4 +8904,8 +8905,1 +8906,6 +8907,8 +8908,1 +8909,8 +8910,5 +8911,3 +8912,2 +8913,7 +8914,6 +8915,2 +8916,4 +8917,9 +8918,6 +8919,2 +8920,4 +8921,9 +8922,9 +8923,6 +8924,9 +8925,9 +8926,6 +8927,7 +8928,3 +8929,4 +8930,3 +8931,3 +8932,9 +8933,6 +8934,7 +8935,7 +8936,8 +8937,1 +8938,1 +8939,0 +8940,4 +8941,5 +8942,7 +8943,9 +8944,4 +8945,7 +8946,4 +8947,7 +8948,0 +8949,4 +8950,6 +8951,9 +8952,7 +8953,7 +8954,7 +8955,5 +8956,0 +8957,1 +8958,4 +8959,3 +8960,4 +8961,6 +8962,4 +8963,0 +8964,9 +8965,8 +8966,7 +8967,8 +8968,4 +8969,4 +8970,8 +8971,9 +8972,7 +8973,1 +8974,6 +8975,7 +8976,9 +8977,9 +8978,0 +8979,1 +8980,5 +8981,1 +8982,1 +8983,3 +8984,6 +8985,7 +8986,9 +8987,8 +8988,3 +8989,3 +8990,8 +8991,5 +8992,2 +8993,4 +8994,3 +8995,6 +8996,8 +8997,6 +8998,9 +8999,2 +9000,6 +9001,9 +9002,0 +9003,1 +9004,6 +9005,8 +9006,1 +9007,8 +9008,2 +9009,1 +9010,8 +9011,1 +9012,7 +9013,1 +9014,9 +9015,1 +9016,8 +9017,3 +9018,9 +9019,4 +9020,1 +9021,0 +9022,8 +9023,4 +9024,4 +9025,6 +9026,8 +9027,2 +9028,6 +9029,5 +9030,5 +9031,0 +9032,2 +9033,4 +9034,9 +9035,8 +9036,0 +9037,1 +9038,0 +9039,0 +9040,4 +9041,8 +9042,3 +9043,4 +9044,7 +9045,7 +9046,5 +9047,9 +9048,2 +9049,5 +9050,6 +9051,4 +9052,9 +9053,9 +9054,4 +9055,8 +9056,5 +9057,6 +9058,9 +9059,3 +9060,4 +9061,6 +9062,4 +9063,8 +9064,0 +9065,1 +9066,9 +9067,0 +9068,1 +9069,6 +9070,7 +9071,1 +9072,8 +9073,5 +9074,6 +9075,4 +9076,6 +9077,4 +9078,1 +9079,1 +9080,9 +9081,8 +9082,8 +9083,9 +9084,1 +9085,2 +9086,6 +9087,0 +9088,5 +9089,2 +9090,5 +9091,6 +9092,8 +9093,3 +9094,0 +9095,3 +9096,8 +9097,6 +9098,1 +9099,5 +9100,0 +9101,3 +9102,3 +9103,1 +9104,9 +9105,2 +9106,8 +9107,7 +9108,8 +9109,2 +9110,3 +9111,6 +9112,2 +9113,5 +9114,0 +9115,9 +9116,0 +9117,7 +9118,1 +9119,1 +9120,7 +9121,9 +9122,0 +9123,1 +9124,6 +9125,7 +9126,5 +9127,4 +9128,6 +9129,3 +9130,3 +9131,6 +9132,1 +9133,0 +9134,0 +9135,9 +9136,9 +9137,8 +9138,2 +9139,9 +9140,0 +9141,4 +9142,5 +9143,4 +9144,7 +9145,2 +9146,0 +9147,5 +9148,6 +9149,6 +9150,9 +9151,3 +9152,5 +9153,0 +9154,6 +9155,3 +9156,5 +9157,6 +9158,4 +9159,3 +9160,4 +9161,6 +9162,9 +9163,8 +9164,8 +9165,0 +9166,2 +9167,0 +9168,0 +9169,3 +9170,9 +9171,2 +9172,2 +9173,8 +9174,1 +9175,9 +9176,2 +9177,4 +9178,9 +9179,0 +9180,6 +9181,2 +9182,0 +9183,8 +9184,7 +9185,0 +9186,5 +9187,0 +9188,6 +9189,3 +9190,1 +9191,3 +9192,0 +9193,9 +9194,5 +9195,4 +9196,3 +9197,9 +9198,0 +9199,6 +9200,2 +9201,9 +9202,0 +9203,7 +9204,3 +9205,5 +9206,6 +9207,8 +9208,2 +9209,1 +9210,3 +9211,3 +9212,6 +9213,5 +9214,9 +9215,3 +9216,5 +9217,0 +9218,6 +9219,0 +9220,7 +9221,4 +9222,6 +9223,8 +9224,3 +9225,3 +9226,8 +9227,6 +9228,3 +9229,8 +9230,9 +9231,4 +9232,0 +9233,8 +9234,8 +9235,3 +9236,8 +9237,2 +9238,5 +9239,7 +9240,0 +9241,3 +9242,6 +9243,8 +9244,1 +9245,5 +9246,9 +9247,6 +9248,2 +9249,8 +9250,9 +9251,4 +9252,1 +9253,0 +9254,5 +9255,5 +9256,4 +9257,2 +9258,8 +9259,2 +9260,3 +9261,6 +9262,7 +9263,4 +9264,5 +9265,3 +9266,7 +9267,4 +9268,5 +9269,8 +9270,8 +9271,3 +9272,9 +9273,5 +9274,0 +9275,6 +9276,6 +9277,6 +9278,3 +9279,6 +9280,6 +9281,9 +9282,2 +9283,5 +9284,6 +9285,5 +9286,6 +9287,3 +9288,1 +9289,7 +9290,8 +9291,6 +9292,4 +9293,7 +9294,3 +9295,3 +9296,8 +9297,6 +9298,0 +9299,9 +9300,2 +9301,8 +9302,5 +9303,4 +9304,9 +9305,6 +9306,6 +9307,4 +9308,2 +9309,0 +9310,1 +9311,1 +9312,9 +9313,3 +9314,8 +9315,2 +9316,1 +9317,9 +9318,5 +9319,8 +9320,4 +9321,8 +9322,2 +9323,3 +9324,5 +9325,2 +9326,6 +9327,4 +9328,9 +9329,2 +9330,6 +9331,2 +9332,9 +9333,8 +9334,0 +9335,5 +9336,9 +9337,2 +9338,4 +9339,5 +9340,2 +9341,1 +9342,0 +9343,7 +9344,4 +9345,4 +9346,2 +9347,7 +9348,4 +9349,0 +9350,6 +9351,6 +9352,1 +9353,5 +9354,4 +9355,0 +9356,1 +9357,9 +9358,9 +9359,5 +9360,6 +9361,5 +9362,2 +9363,9 +9364,6 +9365,6 +9366,4 +9367,5 +9368,4 +9369,8 +9370,9 +9371,0 +9372,9 +9373,5 +9374,5 +9375,5 +9376,7 +9377,9 +9378,3 +9379,3 +9380,8 +9381,4 +9382,3 +9383,9 +9384,3 +9385,1 +9386,0 +9387,2 +9388,5 +9389,6 +9390,8 +9391,7 +9392,9 +9393,7 +9394,7 +9395,7 +9396,9 +9397,2 +9398,3 +9399,0 +9400,6 +9401,7 +9402,6 +9403,1 +9404,8 +9405,6 +9406,3 +9407,8 +9408,5 +9409,0 +9410,5 +9411,6 +9412,9 +9413,1 +9414,1 +9415,2 +9416,6 +9417,8 +9418,9 +9419,7 +9420,7 +9421,5 +9422,8 +9423,6 +9424,1 +9425,4 +9426,0 +9427,1 +9428,8 +9429,4 +9430,3 +9431,4 +9432,7 +9433,9 +9434,3 +9435,7 +9436,5 +9437,5 +9438,0 +9439,9 +9440,1 +9441,4 +9442,1 +9443,2 +9444,7 +9445,4 +9446,0 +9447,9 +9448,3 +9449,3 +9450,1 +9451,1 +9452,7 +9453,8 +9454,1 +9455,0 +9456,5 +9457,9 +9458,0 +9459,0 +9460,9 +9461,5 +9462,3 +9463,8 +9464,8 +9465,2 +9466,8 +9467,5 +9468,7 +9469,0 +9470,7 +9471,0 +9472,9 +9473,6 +9474,9 +9475,2 +9476,9 +9477,4 +9478,8 +9479,5 +9480,6 +9481,0 +9482,1 +9483,6 +9484,6 +9485,1 +9486,7 +9487,6 +9488,1 +9489,7 +9490,7 +9491,8 +9492,5 +9493,7 +9494,0 +9495,6 +9496,4 +9497,2 +9498,1 +9499,6 +9500,8 +9501,0 +9502,0 +9503,2 +9504,7 +9505,5 +9506,9 +9507,1 +9508,0 +9509,4 +9510,3 +9511,7 +9512,6 +9513,6 +9514,3 +9515,1 +9516,8 +9517,4 +9518,7 +9519,2 +9520,5 +9521,9 +9522,3 +9523,1 +9524,7 +9525,1 +9526,9 +9527,2 +9528,9 +9529,6 +9530,2 +9531,4 +9532,1 +9533,8 +9534,3 +9535,9 +9536,8 +9537,4 +9538,0 +9539,4 +9540,8 +9541,4 +9542,5 +9543,1 +9544,2 +9545,2 +9546,6 +9547,4 +9548,1 +9549,8 +9550,5 +9551,7 +9552,7 +9553,7 +9554,3 +9555,5 +9556,5 +9557,7 +9558,9 +9559,9 +9560,8 +9561,2 +9562,8 +9563,2 +9564,1 +9565,3 +9566,3 +9567,4 +9568,8 +9569,9 +9570,4 +9571,6 +9572,7 +9573,3 +9574,6 +9575,8 +9576,1 +9577,2 +9578,6 +9579,1 +9580,6 +9581,5 +9582,4 +9583,9 +9584,7 +9585,2 +9586,8 +9587,7 +9588,3 +9589,7 +9590,8 +9591,1 +9592,2 +9593,1 +9594,7 +9595,4 +9596,8 +9597,8 +9598,5 +9599,0 +9600,2 +9601,6 +9602,6 +9603,1 +9604,6 +9605,6 +9606,5 +9607,0 +9608,1 +9609,5 +9610,5 +9611,2 +9612,5 +9613,1 +9614,9 +9615,8 +9616,7 +9617,1 +9618,2 +9619,7 +9620,0 +9621,9 +9622,3 +9623,1 +9624,9 +9625,0 +9626,4 +9627,6 +9628,6 +9629,5 +9630,9 +9631,9 +9632,4 +9633,2 +9634,7 +9635,1 +9636,8 +9637,1 +9638,4 +9639,2 +9640,3 +9641,7 +9642,8 +9643,4 +9644,6 +9645,4 +9646,5 +9647,1 +9648,2 +9649,9 +9650,3 +9651,5 +9652,8 +9653,0 +9654,1 +9655,9 +9656,6 +9657,7 +9658,3 +9659,7 +9660,4 +9661,4 +9662,6 +9663,6 +9664,4 +9665,1 +9666,1 +9667,3 +9668,0 +9669,7 +9670,0 +9671,5 +9672,9 +9673,8 +9674,9 +9675,3 +9676,7 +9677,9 +9678,9 +9679,4 +9680,8 +9681,8 +9682,0 +9683,1 +9684,6 +9685,4 +9686,0 +9687,6 +9688,8 +9689,1 +9690,6 +9691,1 +9692,3 +9693,3 +9694,2 +9695,7 +9696,8 +9697,7 +9698,0 +9699,4 +9700,3 +9701,4 +9702,4 +9703,5 +9704,7 +9705,9 +9706,2 +9707,5 +9708,2 +9709,4 +9710,5 +9711,0 +9712,1 +9713,7 +9714,6 +9715,7 +9716,6 +9717,0 +9718,0 +9719,2 +9720,5 +9721,1 +9722,1 +9723,2 +9724,4 +9725,6 +9726,9 +9727,8 +9728,1 +9729,6 +9730,1 +9731,6 +9732,8 +9733,5 +9734,4 +9735,0 +9736,4 +9737,0 +9738,4 +9739,9 +9740,3 +9741,8 +9742,5 +9743,4 +9744,8 +9745,6 +9746,2 +9747,8 +9748,6 +9749,4 +9750,4 +9751,0 +9752,8 +9753,7 +9754,5 +9755,2 +9756,8 +9757,9 +9758,2 +9759,9 +9760,5 +9761,9 +9762,2 +9763,1 +9764,0 +9765,4 +9766,1 +9767,7 +9768,7 +9769,1 +9770,7 +9771,3 +9772,5 +9773,8 +9774,7 +9775,2 +9776,5 +9777,1 +9778,5 +9779,2 +9780,0 +9781,6 +9782,0 +9783,1 +9784,4 +9785,4 +9786,4 +9787,8 +9788,0 +9789,3 +9790,2 +9791,3 +9792,3 +9793,5 +9794,1 +9795,3 +9796,3 +9797,0 +9798,5 +9799,1 +9800,8 +9801,3 +9802,1 +9803,8 +9804,7 +9805,8 +9806,4 +9807,2 +9808,0 +9809,0 +9810,7 +9811,8 +9812,1 +9813,3 +9814,9 +9815,0 +9816,2 +9817,8 +9818,1 +9819,4 +9820,8 +9821,8 +9822,3 +9823,0 +9824,8 +9825,5 +9826,7 +9827,5 +9828,4 +9829,7 +9830,7 +9831,6 +9832,1 +9833,8 +9834,1 +9835,7 +9836,7 +9837,0 +9838,3 +9839,1 +9840,6 +9841,5 +9842,5 +9843,3 +9844,8 +9845,9 +9846,4 +9847,0 +9848,9 +9849,5 +9850,1 +9851,7 +9852,2 +9853,1 +9854,5 +9855,2 +9856,8 +9857,3 +9858,3 +9859,6 +9860,7 +9861,1 +9862,3 +9863,4 +9864,4 +9865,5 +9866,7 +9867,0 +9868,6 +9869,7 +9870,3 +9871,3 +9872,7 +9873,8 +9874,8 +9875,2 +9876,5 +9877,6 +9878,9 +9879,7 +9880,3 +9881,2 +9882,9 +9883,3 +9884,6 +9885,5 +9886,5 +9887,6 +9888,9 +9889,1 +9890,4 +9891,1 +9892,5 +9893,6 +9894,4 +9895,1 +9896,4 +9897,0 +9898,3 +9899,3 +9900,6 +9901,3 +9902,0 +9903,8 +9904,4 +9905,7 +9906,5 +9907,5 +9908,7 +9909,0 +9910,7 +9911,9 +9912,4 +9913,3 +9914,2 +9915,9 +9916,1 +9917,7 +9918,1 +9919,8 +9920,8 +9921,8 +9922,5 +9923,8 +9924,3 +9925,8 +9926,9 +9927,3 +9928,0 +9929,0 +9930,2 +9931,1 +9932,8 +9933,4 +9934,4 +9935,0 +9936,0 +9937,9 +9938,5 +9939,3 +9940,1 +9941,5 +9942,1 +9943,3 +9944,5 +9945,6 +9946,4 +9947,6 +9948,1 +9949,5 +9950,3 +9951,0 +9952,8 +9953,6 +9954,9 +9955,3 +9956,9 +9957,0 +9958,0 +9959,4 +9960,1 +9961,2 +9962,6 +9963,4 +9964,5 +9965,1 +9966,4 +9967,9 +9968,7 +9969,4 +9970,2 +9971,6 +9972,0 +9973,9 +9974,7 +9975,8 +9976,5 +9977,0 +9978,9 +9979,6 +9980,0 +9981,0 +9982,8 +9983,1 +9984,3 +9985,2 +9986,7 +9987,5 +9988,8 +9989,4 +9990,5 +9991,0 +9992,8 +9993,9 +9994,1 +9995,9 +9996,1 +9997,8 +9998,1 +9999,5 diff --git "a/report_03_Fashion/\347\210\254\350\231\253gray\345\244\204\347\220\206.zip" "b/report_03_Fashion/\347\210\254\350\231\253gray\345\244\204\347\220\206.zip" new file mode 100644 index 0000000000000000000000000000000000000000..2fb81ed9df9761eb5b14ff0bead851f58eea430d Binary files /dev/null and "b/report_03_Fashion/\347\210\254\350\231\253gray\345\244\204\347\220\206.zip" differ diff --git "a/report_03_Fashion/\347\210\254\350\231\253picture.zip" "b/report_03_Fashion/\347\210\254\350\231\253picture.zip" new file mode 100644 index 0000000000000000000000000000000000000000..f74f4c2c202f7d0389614d40487d9cb105276be4 Binary files /dev/null and "b/report_03_Fashion/\347\210\254\350\231\253picture.zip" differ diff --git "a/report_04_Tetris/Report-04-\344\272\224\345\255\220\346\243\213.pdf" "b/report_04_Tetris/Report-04-\344\272\224\345\255\220\346\243\213.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..726dcb993ee8f0779cc629db946bfbefd51af1ab Binary files /dev/null and "b/report_04_Tetris/Report-04-\344\272\224\345\255\220\346\243\213.pdf" differ diff --git "a/report_04_Tetris/Report_04_\344\272\224\345\255\220\346\243\213.ipynb" "b/report_04_Tetris/Report_04_\344\272\224\345\255\220\346\243\213.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..7a5bd92a9149631f4ddf7c1d2ddf987e998dc3e7 --- /dev/null +++ "b/report_04_Tetris/Report_04_\344\272\224\345\255\220\346\243\213.ipynb" @@ -0,0 +1,946 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report -04- 五子棋\n", + "\n", + "* 张达\n", + "* 2022100847\n", + "\n", + "\n", + "## 任务简介\n", + "\n", + "选择一个游戏(俄罗斯方块、五子棋其中一个)实现计算机自动玩游戏:通过构建游戏仿真环境,并研究强化学习方法,让计算机自动计算最优的策略,从而实现让计算机自动玩。\n", + "\n", + "任务类型:强化学习\n", + "背景介绍:五子棋是个经典的休闲游戏。\n", + "五子棋是一种两人对弈的纯策略型棋类游戏。通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。\n", + "\n", + "\n", + "## 解决途径\n", + "\n", + "从 AlphaGo Zero 的基本原理出发,设计并训练一个五子棋机器人 Alpha Gobang Zero.\n", + "\n", + "### 一、策略-价值网络\n", + "与Alpha Go Lee不同的是,AlphaGo Zero 将分离的策略网络和价值网络组合在一个策略-价值网络中。下面将从策略-价值网络的输入与输出以及内部结构等方面对其进行介绍。
\n", + "#### 1.输入与输出
\n", + "由于围棋棋盘的尺寸为 19×19,所以策略-价值网络接受 19×19×17 的输入st,这个输入代表了棋盘的状态。如下图所示,st由当前玩家过去的8个落子位置特征平面、对手过去的8个落子位置特征平面和1个代表当前玩家颜色的特征平面组成。假设当前玩家使用黑棋,那么在当前玩家的每一落子位置特征平面中,玩家棋子所在位置的值为1,其他位置的值为0,对手的落子位置特征平面同理。对于最后一个颜色特征平面,由于当前玩家使用黑棋,所以特征平面的值为全1。
\n", + "![1.png](image/1.png)
\n", + "输入策略-价值网络的 s经过内部的层层的处理之后,得到移动概率向量 p∈R(362)和当前玩家胜利的概率v。我们将19×19的棋盘展平为361维的棋盘,那么p的前 361 维的每一个元素 pi代表在361维棋盘的第i维的落子概率,最后一维代表停一手的概率。我们将在蒙特卡洛树小节中介绍这两个输出的使用方法,下面来看看 AlphaGo Zero 策略-价值网络的内部结构。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "attempted relative import with no known parent package", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn [1], line 5\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtorch\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m nn\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtorch\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnn\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m functional \u001b[38;5;28;01mas\u001b[39;00m F\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mchess_board\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ChessBoard\n\u001b[0;32m 8\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mConvBlock\u001b[39;00m(nn\u001b[38;5;241m.\u001b[39mModule):\n\u001b[0;32m 9\u001b[0m \u001b[38;5;124;03m\"\"\" 卷积块 \"\"\"\u001b[39;00m\n", + "\u001b[1;31mImportError\u001b[0m: attempted relative import with no known parent package" + ] + } + ], + "source": [ + "import torch\n", + "from torch import nn\n", + "from torch.nn import functional as F\n", + "\n", + "from .chess_board import ChessBoard\n", + "\n", + "\n", + "class ConvBlock(nn.Module):\n", + " \"\"\" 卷积块 \"\"\"\n", + "\n", + " def __init__(self, in_channels: int, out_channel: int, kernel_size, padding=0):\n", + " super().__init__()\n", + " self.conv = nn.Conv2d(in_channels, out_channel,\n", + " kernel_size=kernel_size, padding=padding)\n", + " self.batch_norm = nn.BatchNorm2d(out_channel)\n", + "\n", + " def forward(self, x):\n", + " return F.relu(self.batch_norm(self.conv(x)))\n", + "\n", + "\n", + "class ResidueBlock(nn.Module):\n", + " \"\"\" 残差块 \"\"\"\n", + "\n", + " def __init__(self, in_channels=128, out_channels=128):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " in_channels: int\n", + " 输入图像通道数\n", + " out_channels: int\n", + " 输出图像通道数\n", + " \"\"\"\n", + " super().__init__()\n", + " self.in_channels = in_channels\n", + " self.out_channels = out_channels\n", + " self.conv1 = nn.Conv2d(in_channels, out_channels,\n", + " kernel_size=3, stride=1, padding=1)\n", + " self.conv2 = nn.Conv2d(out_channels, out_channels,\n", + " kernel_size=3, stride=1, padding=1)\n", + " self.batch_norm1 = nn.BatchNorm2d(num_features=out_channels)\n", + " self.batch_norm2 = nn.BatchNorm2d(num_features=out_channels)\n", + "\n", + " def forward(self, x):\n", + " out = F.relu(self.batch_norm1(self.conv1(x)))\n", + " out = self.batch_norm2(self.conv2(out))\n", + " return F.relu(out + x)\n", + "\n", + "\n", + "class PolicyHead(nn.Module):\n", + " \"\"\" 策略头 \"\"\"\n", + "\n", + " def __init__(self, in_channels=128, board_len=9):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " in_channels: int\n", + " 输入通道数\n", + " board_len: int\n", + " 棋盘大小\n", + " \"\"\"\n", + " super().__init__()\n", + " self.board_len = board_len\n", + " self.in_channels = in_channels\n", + " self.conv = ConvBlock(in_channels, 2, 1)\n", + " self.fc = nn.Linear(2*board_len**2, board_len**2)\n", + "\n", + " def forward(self, x):\n", + " x = self.conv(x)\n", + " x = self.fc(x.flatten(1))\n", + " return F.log_softmax(x, dim=1)\n", + "\n", + "\n", + "class ValueHead(nn.Module):\n", + " \"\"\" 价值头 \"\"\"\n", + "\n", + " def __init__(self, in_channels=128, board_len=9):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " in_channels: int\n", + " 输入通道数\n", + " board_len: int\n", + " 棋盘大小\n", + " \"\"\"\n", + " super().__init__()\n", + " self.in_channels = in_channels\n", + " self.board_len = board_len\n", + " self.conv = ConvBlock(in_channels, 1, kernel_size=1)\n", + " self.fc = nn.Sequential(\n", + " nn.Linear(board_len**2, 128),\n", + " nn.ReLU(),\n", + " nn.Linear(128, 1),\n", + " nn.Tanh()\n", + " )\n", + "\n", + " def forward(self, x):\n", + " x = self.conv(x)\n", + " x = self.fc(x.flatten(1))\n", + " return x\n", + "\n", + "\n", + "class PolicyValueNet(nn.Module):\n", + " \"\"\" 策略价值网络 \"\"\"\n", + "\n", + " def __init__(self, board_len=9, n_feature_planes=6, is_use_gpu=True):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " board_len: int\n", + " 棋盘大小\n", + " n_feature_planes: int\n", + " 输入图像通道数,对应特征\n", + " \"\"\"\n", + " super().__init__()\n", + " self.board_len = board_len\n", + " self.is_use_gpu = is_use_gpu\n", + " self.n_feature_planes = n_feature_planes\n", + " self.device = torch.device('cuda:0' if is_use_gpu else 'cpu')\n", + " self.conv = ConvBlock(n_feature_planes, 128, 3, padding=1)\n", + " self.residues = nn.Sequential(\n", + " *[ResidueBlock(128, 128) for i in range(4)])\n", + " self.policy_head = PolicyHead(128, board_len)\n", + " self.value_head = ValueHead(128, board_len)\n", + "\n", + " def forward(self, x):\n", + " \"\"\" 前馈,输出 `p_hat` 和 `V`\n", + " Parameters\n", + " ----------\n", + " x: Tensor of shape (N, C, H, W)\n", + " 棋局的状态特征平面张量\n", + " Returns\n", + " -------\n", + " p_hat: Tensor of shape (N, board_len^2)\n", + " 对数先验概率向量\n", + " value: Tensor of shape (N, 1)\n", + " 当前局面的估值\n", + " \"\"\"\n", + " x = self.conv(x)\n", + " x = self.residues(x)\n", + " p_hat = self.policy_head(x)\n", + " value = self.value_head(x)\n", + " return p_hat, value\n", + "\n", + " def predict(self, chess_board: ChessBoard):\n", + " \"\"\" 获取当前局面上所有可用 `action` 和他对应的先验概率 `P(s, a)`,以及局面的 `value`\n", + " Parameters\n", + " ----------\n", + " chess_board: ChessBoard\n", + " 棋盘\n", + " Returns\n", + " -------\n", + " probs: `np.ndarray` of shape `(len(chess_board.available_actions), )`\n", + " 当前局面上所有可用 `action` 对应的先验概率 `P(s, a)`\n", + " value: float\n", + " 当前局面的估值\n", + " \"\"\"\n", + " feature_planes = chess_board.get_feature_planes().to(self.device)\n", + " feature_planes.unsqueeze_(0)\n", + " p_hat, value = self(feature_planes)\n", + "\n", + " # 将对数概率转换为概率\n", + " p = torch.exp(p_hat).flatten()\n", + "\n", + " # 只取可行的落点\n", + " if self.is_use_gpu:\n", + " p = p[chess_board.available_actions].cpu().detach().numpy()\n", + " else:\n", + " p = p[chess_board.available_actions].detach().numpy()\n", + "\n", + " return p, value[0].item()\n", + "\n", + " def set_device(self, is_use_gpu: bool):\n", + " \"\"\" 设置神经网络运行设备 \"\"\"\n", + " self.is_use_gpu = is_use_gpu\n", + " self.device = torch.device('cuda:0' if is_use_gpu else 'cpu')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.模型结构\n", + "如下图所示,策略-价值网络由 1 个 Convolutional block、19 或 39 个 Residual Block、1 个 Policy Head 和 1 个 Value Head 组成,其中 Policy Head 输出p,而 Value Head 输出 v。
\n", + "![2.png](image/2.png)\n", + "##### Convolutional block\n", + "策略-价值网络的第一块是 Convolitional block,它由 1 个卷积层、1 个批归一化层和 1 个 ReLU 函数组成。由于输入st的维度为19×19×17,所以卷积层包含256个滤波器组,每个组包含17个3×3大小的滤波器。在卷积过程中,滤波器的步长为1,同时为了保持输入的宽高不变,需要置 padding 为1。经过卷积模块、批归一化模块和ReLU处理后,Convolutional block的输出为19×19×256 的特征图像。
\n", + "![3.png](image/3.png)\n", + "##### Residual block\n", + "为了提升网络的特征提取能力并防止出现梯度消失问题,在卷积层下面堆叠着 19 个或 39 个 Residual block,如下图所示,每个 Residual block 由 2 个组成类似于 Convolutional block 的子模块构成,唯一不同的就是在第二个子模块的非线性激活之前加上了跳连接,使输入与批归一化模块的输出相加再输入 ReLU 函数,最终输出19×19×256 的特征图像。\n", + "![4.png](image/4.png)\n", + "##### Policy head\n", + "从最后一个残差块输出的特征图像作为 Policy head 的输入,经过 Policy head 内部的卷积层、批归一化层和全连接层的处理之后,得到维度为 19×19+1=362 的移动概率向量 p。实际上为了计算误差的方便,全连接层后会有一个 log_softmax,得到对数概率 logp。\n", + "![5.png](image/5.png)\n", + "##### Value head\n", + "最后一个残差块的输出还会输入 Value head 中,与 Policy head 不同的是,Value head 里面有两个全连接层:第一个全连接层将输入映射为 256 维的向量,第二个全连接层再将 256 维的向量变为标量,最后经过 tanh函数将这个标量压缩到 [−1,1]区间,得到 v。\n", + "![6.png](image/6.png)\n", + "#### 3.Alpha Gobang Zero 的网络结构\n", + "Alpha Gobang Zero 的策略-价值网络延续了 AlphaGo Zero 的架构,由于算力的限制,对 AlphaGo Zero 的神经网络作出以下修改:\n", + "\n", + "使用了 9×9 的棋盘,输入 st只保留当前玩家和对手过去3步的落子记录,去掉了代表当前玩家的颜色特征平面(主要是训练过程中发现加了这一层误差降不下来),所以 st的维度为 9×9×6;\n", + "Convolutional layer 的卷积层的输出维度减少128维;\n", + "Residual layer 只有 4 个;\n", + "p的维度是 9×9=81 维,因为五子棋没有停一手的操作;\n", + "Value head 的第一个全连接层将输入向量映射到 128 维,而不是 256 维。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 二、蒙特卡洛树搜索\n", + "在 19×19 的棋盘上,要穷举出接下来的所有走法是不太现实的一件事,所以 AlphaGo 系列都使用了蒙特卡洛树搜索(MCTS)算法。如下图所示,AlphaGo Zero 的 MCTS 包含四个步骤,分别是:选择、拓展与评估、反向传播和演绎。下面来详细介绍 MCTS 的各过程。\n", + "![7.png](image/7.png)\n", + "#### 1.选择\n", + "蒙特卡洛树的每一个节点代表一种棋盘状态 si(下面使用状态来命名节点),树上的每一个父节点 s与其所有子节点的边上都存着一些变量:
\n", + "![8.png](image/8.png)
\n", + "假设棋盘上当前落子数为 t,棋盘状态表示为 st,那么蒙特卡洛树的根节点就对应着这个 st。又假设我们打算对当前局面进行 niters次蒙特卡洛树搜索,那么每一次搜索都会从根节点出发,根据 a∗t=argmaxat{Q(st,at)+U(st,at)}进行动作 a∗t(对应一维棋盘上的一个落点)到达子节点 st+1,接着重复上述步骤直到遇到叶节点 sL或者游戏结束为止。\n", + "#### 2.拓展与评估\n", + "当我们在选择过程中遇到叶节点 sL(这个节点对应的游戏还未结束)时,先前介绍的神经网络就可以派上用场了。我们将叶节点对应的棋盘状态输入策略-价值网络,神经网络对棋局进行评估后得到移动概率向量 p 和当前玩家获胜的概率 v。需要指出的是,这里的当前玩家可能不是根节点对应的那个玩家,因为每进行一次选择动作,就会切换一次当前玩家。
\n", + "移动概率向量 p将用来拓展叶节点 sL,p中的每一个元素分别 sL的一个子节点的先验概率 P(s,a),同时我们需要将所有子节点的访问次数初始化为 0。\n", + "#### 3.反向传播\n", + "在拓展与评估步骤中我们得到了叶节点对应的玩家的获胜概率 v,所谓的反向传播,就是指将这个 v传播到从根节点到叶节点这一路的所有节点上(不包含叶节点),我们可以使用递归做到这一点。由于这些节点的当前玩家一直在切换,所以将 −v传入递归函数。至此我们完成了一次搜索。\n", + "#### 4.演绎\n", + "当我们完成 niters次搜索后,根节点的每个子节点都被访问过若干次了。接下来就根据根节点的各个子节点的访问次数 N(s,a),计算选择动作 a的概率:
\n", + "![9.png](image/9.png)
\n", + "其中 τ为温度常数。我们最后根据每个节点的 π来随机选择一种动作 a∗并在棋盘上执行。从公式可以看出,温度常数越小,就越有可能选择 π最大的那种动作,即越趋近于仅利用,而温度常数越大,越趋近于仅探索。\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from math import sqrt\n", + "from typing import Tuple, Iterable, Dict\n", + "\n", + "\n", + "class Node:\n", + " \"\"\" 蒙特卡洛树节点 \"\"\"\n", + "\n", + " def __init__(self, prior_prob: float, c_puct: float = 5, parent=None):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " prior_prob: float\n", + " 节点的先验概率 `P(s, a)`\n", + " c_puct: float\n", + " 探索常数\n", + " parent: Node\n", + " 父级节点\n", + " \"\"\"\n", + " self.Q = 0\n", + " self.U = 0\n", + " self.N = 0\n", + " self.score = 0\n", + " self.P = prior_prob\n", + " self.c_puct = c_puct\n", + " self.parent = parent\n", + " self.children = {} # type:Dict[int, Node]\n", + "\n", + " def select(self) -> tuple:\n", + " \"\"\" 返回 `score` 最大的子节点和该节点对应的 action\n", + " Returns\n", + " -------\n", + " action: int\n", + " 动作\n", + " child: Node\n", + " 子节点\n", + " \"\"\"\n", + " return max(self.children.items(), key=lambda item: item[1].get_score())\n", + "\n", + " def expand(self, action_probs: Iterable[Tuple[int, float]]):\n", + " \"\"\" 拓展节点\n", + " Parameters\n", + " ----------\n", + " action_probs: Iterable\n", + " 每个元素都为 `(action, prior_prob)` 元组,根据这个元组创建子节点,\n", + " `action_probs` 的长度为当前棋盘的可用落点的总数\n", + " \"\"\"\n", + " for action, prior_prob in action_probs:\n", + " self.children[action] = Node(prior_prob, self.c_puct, self)\n", + "\n", + " def __update(self, value: float):\n", + " \"\"\" 更新节点的访问次数 `N(s, a)`、节点的累计平均奖赏 `Q(s, a)`\n", + " Parameters\n", + " ----------\n", + " value: float\n", + " 用来更新节点内部数据\n", + " \"\"\"\n", + " self.Q = (self.N * self.Q + value)/(self.N + 1)\n", + " self.N += 1\n", + "\n", + " def backup(self, value: float):\n", + " \"\"\" 反向传播 \"\"\"\n", + " if self.parent:\n", + " self.parent.backup(-value)\n", + "\n", + " self.__update(value)\n", + "\n", + " def get_score(self):\n", + " \"\"\" 计算节点得分 \"\"\"\n", + " self.U = self.c_puct * self.P * sqrt(self.parent.N)/(1 + self.N)\n", + " self.score = self.U + self.Q\n", + " return self.score\n", + "\n", + " def is_leaf_node(self):\n", + " \"\"\" 是否为叶节点 \"\"\"\n", + " return len(self.children) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 三、训练 Alpha Gobang Zero\n", + "#### 1.自对弈\n", + "Alpha Gobang Zero 总共自对弈了 4400 局,我们使用自对弈来生成用于训练的数据,其中每一局的过程都是相同的:
\n", + "\n", + ">**1.** 清空棋盘,初始化三个空列表:pi_list、z_list、feature_planes_list,分别用存储在一局中每个动作对应的 π,这一局的赢家对每一个动作的当前玩家的奖赏值,及这一局中的每个棋盘状态 st;
\n", + ">**2.** 将当前的棋盘状态 st添加到 feature_planes_list 中,并根据 st执行 500 次蒙特卡洛树搜索,得到 a∗和 π,注意这里的 π是一个向量,维数 9×9=81,代表所有动作的移动概率。将 π添加到 pi_list 中;
\n", + ">**3.** 使用 a∗更新棋盘并判断游戏是否结束,如果还未结束回到步骤2,如果结束进行骤4;
\n", + ">**4.** 根据最后的赢家计算出 z_list 中的每一个元素,计算规则为:赢家与每一个动作的当玩家相同则为 1,不同为 -1,平局为 0。由于五子棋具有旋转不变性和镜像对称性,所以将做了旋转变换和水平镜像变换的各个 (feature_planes_list, pi_list,z_list) 添加到 self-play 数据集中,其中 feature_planes_list 中的各 feature_planes 在训练过程中将作为策略-价值网络的输入,pi_list和 z_list 的各元素将作为标签;
\n", + ">**5.** 结束一局自对弈。\n", + "\n", + "需要指出的是,自对弈前 30 步的温度常数 τ=1,后面的温度常数 τ→0。同时为了增加探索,在拓展步骤中需要给策略-价值网络的输出 p添加狄利克雷噪声,使得 P(s,a)=(1−ε)pa+εηa,其中 ηa∼Dir(0.03),ε=0.25。
\n", + "在AlphaGo Zero 的 MCTS 中,为了提高搜索速度而使用了多线程。考虑到做这个项目只是出于学习目的,所以并没有将多线程添加到代码逻辑中。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.训练\n", + "**训练方法** \n", + "当 self-play 数据集的长度超过 start_train_size 时,就可以正式开始训练了。训练步骤为:
\n", + ">**1.** 从数据集中随机抽出大小为 batch_size 的样本集;
\n", + ">**2.** 将样本集含有的 feature_planes_list 作为一个 mini_batch 输入策略-价值网络,输出维度为 (batch_size, 81) 的批量 logp和维度为(batch_size, 1) 的批量 v;
\n", + ">**3.** 根据损失函数 l=(z−v)2−πTlogp+c∥θ∥更新神经网络的参数,其中 c是控制 L2 权重正则化水平的参数;
\n", + ">**4.** 结束一次训练。
\n", + "\n", + "每当我们完成一次策略-价值网络的训练之后,就可以接着进行一局自对弈以产生新的数据,然后再进行一次训练,就这样一直循环下去。随着训练次数的增加,学习率会逐渐减小,具体变化如下表所示:
\n", + "![10.png](image/10.png)
\n", + "虽然不使用历史最优模型来产生数据,但是根据 AlphaGo Zero 的评估思想,我们会定期让当前模型和历史最优模型进行 PK,如果当前模型的胜率超过 55%,就将历史最优模型更新为当前模型。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import time\n", + "import traceback\n", + "\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from torch import nn, optim, cuda\n", + "from torch.optim.lr_scheduler import MultiStepLR\n", + "from torch.utils.data import DataLoader\n", + "\n", + "from .alpha_zero_mcts import AlphaZeroMCTS\n", + "from .chess_board import ChessBoard\n", + "from .policy_value_net import PolicyValueNet\n", + "from .self_play_dataset import SelfPlayData, SelfPlayDataSet\n", + "\n", + "\n", + "def exception_handler(train_func):\n", + " \"\"\" 异常处理装饰器 \"\"\"\n", + " def wrapper(train_pipe_line, *args, **kwargs):\n", + " try:\n", + " train_func(train_pipe_line)\n", + " except BaseException as e:\n", + " if not isinstance(e, KeyboardInterrupt):\n", + " traceback.print_exc()\n", + "\n", + " t = time.strftime('%Y-%m-%d_%H-%M-%S',\n", + " time.localtime(time.time()))\n", + " train_pipe_line.save_model(\n", + " f'last_policy_value_net_{t}.pth', 'train_losses', 'games')\n", + "\n", + " return wrapper\n", + "\n", + "\n", + "class PolicyValueLoss(nn.Module):\n", + " \"\"\" 根据 self-play 产生的 `z` 和 `π` 计算误差 \"\"\"\n", + "\n", + " def __init__(self):\n", + " super().__init__()\n", + "\n", + " def forward(self, p_hat, pi, value, z):\n", + " \"\"\" 前馈\n", + " Parameters\n", + " ----------\n", + " p_hat: Tensor of shape (N, board_len^2)\n", + " 对数动作概率向量\n", + " pi: Tensor of shape (N, board_len^2)\n", + " `mcts` 产生的动作概率向量\n", + " value: Tensor of shape (N, )\n", + " 对每个局面的估值\n", + " z: Tensor of shape (N, )\n", + " 最终的游戏结果相对每一个玩家的奖赏\n", + " \"\"\"\n", + " value_loss = F.mse_loss(value, z)\n", + " policy_loss = -torch.sum(pi*p_hat, dim=1).mean()\n", + " loss = value_loss + policy_loss\n", + " return loss\n", + "\n", + "\n", + "class TrainModel:\n", + " \"\"\" 训练模型 \"\"\"\n", + "\n", + " def __init__(self, board_len=9, lr=0.01, n_self_plays=1500, n_mcts_iters=500,\n", + " n_feature_planes=4, batch_size=500, start_train_size=500, check_frequency=100,\n", + " n_test_games=10, c_puct=4, is_use_gpu=True, is_save_game=False, **kwargs):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " board_len: int\n", + " 棋盘大小\n", + " lr: float\n", + " 学习率\n", + " n_self_plays: int\n", + " 自我博弈游戏局数\n", + " n_mcts_iters: int\n", + " 蒙特卡洛树搜索次数\n", + " n_feature_planes: int\n", + " 特征平面个数\n", + " batch_size: int\n", + " mini-batch 的大小\n", + " start_train_size: int\n", + " 开始训练模型时的最小数据集尺寸\n", + " check_frequency: int\n", + " 测试模型的频率\n", + " n_test_games: int\n", + " 测试模型时与历史最优模型的比赛局数\n", + " c_puct: float\n", + " 探索常数\n", + " is_use_gpu: bool\n", + " 是否使用 GPU\n", + " is_save_game: bool\n", + " 是否保存自对弈的棋谱\n", + " \"\"\"\n", + " self.c_puct = c_puct\n", + " self.is_use_gpu = is_use_gpu\n", + " self.batch_size = batch_size\n", + " self.n_self_plays = n_self_plays\n", + " self.n_test_games = n_test_games\n", + " self.n_mcts_iters = n_mcts_iters\n", + " self.is_save_game = is_save_game\n", + " self.check_frequency = check_frequency\n", + " self.start_train_size = start_train_size\n", + " self.device = torch.device(\n", + " 'cuda:0' if is_use_gpu and cuda.is_available() else 'cpu')\n", + " self.chess_board = ChessBoard(board_len, n_feature_planes)\n", + "\n", + " # 创建策略-价值网络和蒙特卡洛搜索树\n", + " self.policy_value_net = self.__get_policy_value_net(board_len)\n", + " self.mcts = AlphaZeroMCTS(\n", + " self.policy_value_net, c_puct=c_puct, n_iters=n_mcts_iters, is_self_play=True)\n", + "\n", + " # 创建优化器和损失函数\n", + " self.optimizer = optim.Adam(\n", + " self.policy_value_net.parameters(), lr=lr, weight_decay=1e-4)\n", + " self.criterion = PolicyValueLoss()\n", + " self.lr_scheduler = MultiStepLR(\n", + " self.optimizer, [1500, 2500], gamma=0.1)\n", + "\n", + " # 创建数据集\n", + " self.dataset = SelfPlayDataSet(board_len)\n", + "\n", + " # 记录数据\n", + " self.train_losses = self.__load_data('log/train_losses.json')\n", + " self.games = self.__load_data('log/games.json')\n", + "\n", + " def __self_play(self):\n", + " \"\"\" 自我博弈一局\n", + " Returns\n", + " -------\n", + " self_play_data: namedtuple\n", + " 自我博弈数据,有以下三个成员:\n", + " * `pi_list`: 蒙特卡洛树搜索产生的动作概率向量 π 组成的列表\n", + " * `z_list`: 一局之中每个动作的玩家相对最后的游戏结果的奖赏列表\n", + " * `feature_planes_list`: 一局之中每个动作对应的特征平面组成的列表\n", + " \"\"\"\n", + " # 初始化棋盘和数据容器\n", + " self.policy_value_net.eval()\n", + " self.chess_board.clear_board()\n", + " pi_list, feature_planes_list, players = [], [], []\n", + " action_list = []\n", + "\n", + " # 开始一局游戏\n", + " while True:\n", + " action, pi = self.mcts.get_action(self.chess_board)\n", + "\n", + " # 保存每一步的数据\n", + " feature_planes_list.append(self.chess_board.get_feature_planes())\n", + " players.append(self.chess_board.current_player)\n", + " action_list.append(action)\n", + " pi_list.append(pi)\n", + " self.chess_board.do_action(action)\n", + "\n", + " # 判断游戏是否结束\n", + " is_over, winner = self.chess_board.is_game_over()\n", + " if is_over:\n", + " if winner is not None:\n", + " z_list = [1 if i == winner else -1 for i in players]\n", + " else:\n", + " z_list = [0]*len(players)\n", + " break\n", + "\n", + " # 重置根节点\n", + " self.mcts.reset_root()\n", + "\n", + " # 返回数据\n", + " if self.is_save_game:\n", + " self.games.append(action_list)\n", + "\n", + " self_play_data = SelfPlayData(\n", + " pi_list=pi_list, z_list=z_list, feature_planes_list=feature_planes_list)\n", + " return self_play_data\n", + "\n", + " @exception_handler\n", + " def train(self):\n", + " \"\"\" 训练模型 \"\"\"\n", + " for i in range(self.n_self_plays):\n", + " print(f'🏹 正在进行第 {i+1} 局自我博弈游戏...')\n", + " self.dataset.append(self.__self_play())\n", + "\n", + " # 如果数据集中的数据量大于 start_train_size 就进行一次训练\n", + " if len(self.dataset) >= self.start_train_size:\n", + " data_loader = iter(DataLoader(\n", + " self.dataset, self.batch_size, shuffle=True, drop_last=False))\n", + " print('💊 开始训练...')\n", + "\n", + " self.policy_value_net.train()\n", + " # 随机选出一批数据来训练,防止过拟合\n", + " feature_planes, pi, z = next(data_loader)\n", + " feature_planes = feature_planes.to(self.device)\n", + " pi, z = pi.to(self.device), z.to(self.device)\n", + " for _ in range(5):\n", + " # 前馈\n", + " p_hat, value = self.policy_value_net(feature_planes)\n", + " # 梯度清零\n", + " self.optimizer.zero_grad()\n", + " # 计算损失\n", + " loss = self.criterion(p_hat, pi, value.flatten(), z)\n", + " # 误差反向传播\n", + " loss.backward()\n", + " # 更新参数\n", + " self.optimizer.step()\n", + " # 学习率退火\n", + " self.lr_scheduler.step()\n", + "\n", + " # 记录误差\n", + " self.train_losses.append([i, loss.item()])\n", + " print(f\"🚩 train_loss = {loss.item():<10.5f}\\n\")\n", + "\n", + " # 测试模型\n", + " if (i+1) % self.check_frequency == 0:\n", + " self.__test_model()\n", + "\n", + " def __test_model(self):\n", + " \"\"\" 测试模型 \"\"\"\n", + " os.makedirs('model', exist_ok=True)\n", + "\n", + " model_path = 'model/best_policy_value_net.pth'\n", + "\n", + " # 如果最佳模型不存在保存当前模型为最佳模型\n", + " if not os.path.exists(model_path):\n", + " torch.save(self.policy_value_net, model_path)\n", + " return\n", + "\n", + " # 载入历史最优模型\n", + " best_model = torch.load(model_path) # type:PolicyValueNet\n", + " best_model.eval()\n", + " best_model.set_device(self.is_use_gpu)\n", + " mcts = AlphaZeroMCTS(best_model, self.c_puct, self.n_mcts_iters)\n", + " self.mcts.set_self_play(False)\n", + " self.policy_value_net.eval()\n", + "\n", + " # 开始比赛\n", + " print('🩺 正在测试当前模型...')\n", + " n_wins = 0\n", + " for i in range(self.n_test_games):\n", + " self.chess_board.clear_board()\n", + " self.mcts.reset_root()\n", + " mcts.reset_root()\n", + " while True:\n", + " # 当前模型走一步\n", + " is_over, winner = self.__do_mcts_action(self.mcts)\n", + " if is_over:\n", + " n_wins += int(winner == ChessBoard.BLACK)\n", + " break\n", + " # 历史最优模型走一步\n", + " is_over, winner = self.__do_mcts_action(mcts)\n", + " if is_over:\n", + " break\n", + "\n", + " # 如果胜率大于 55%,就保存当前模型为最优模型\n", + " win_prob = n_wins/self.n_test_games\n", + " if win_prob > 0.55:\n", + " torch.save(self.mcts.policy_value_net, model_path)\n", + " print(f'🥇 保存当前模型为最优模型,当前模型胜率为:{win_prob:.1%}\\n')\n", + " else:\n", + " print(f'🎃 保持历史最优模型不变,当前模型胜率为:{win_prob:.1%}\\n')\n", + "\n", + " self.mcts.set_self_play(True)\n", + "\n", + " def save_model(self, model_name: str, loss_name: str, game_name: str):\n", + " \"\"\" 保存模型\n", + " Parameters\n", + " ----------\n", + " model_name: str\n", + " 模型文件名称,不包含后缀\n", + " loss_name: str\n", + " 损失文件名称,不包含后缀\n", + " game_name: str\n", + " 自对弈棋谱名称,不包含后缀\n", + " \"\"\"\n", + " os.makedirs('model', exist_ok=True)\n", + "\n", + " path = f'model/{model_name}.pth'\n", + " self.policy_value_net.eval()\n", + " torch.save(self.policy_value_net, path)\n", + " print(f'🎉 已将当前模型保存到 {os.path.join(os.getcwd(), path)}')\n", + "\n", + " # 保存数据\n", + " with open(f'log/{loss_name}.json', 'w', encoding='utf-8') as f:\n", + " json.dump(self.train_losses, f)\n", + "\n", + " if self.is_save_game:\n", + " with open(f'log/{game_name}.json', 'w', encoding='utf-8') as f:\n", + " json.dump(self.games, f)\n", + "\n", + "\n", + " def __do_mcts_action(self, mcts):\n", + " \"\"\" 获取动作 \"\"\"\n", + " action = mcts.get_action(self.chess_board)\n", + " self.chess_board.do_action(action)\n", + " is_over, winner = self.chess_board.is_game_over()\n", + " return is_over, winner\n", + "\n", + " def __get_policy_value_net(self, board_len=9):\n", + " \"\"\" 创建策略-价值网络,如果存在历史最优模型则直接载入最优模型 \"\"\"\n", + " os.makedirs('model', exist_ok=True)\n", + "\n", + " best_model = 'best_policy_value_net.pth'\n", + " history_models = sorted(\n", + " [i for i in os.listdir('model') if i.startswith('last')])\n", + "\n", + " # 从历史模型中选取最新模型\n", + " model = history_models[-1] if history_models else best_model\n", + " model = f'model/{model}'\n", + " if os.path.exists(model):\n", + " print(f'💎 载入模型 {model} ...\\n')\n", + " net = torch.load(model).to(self.device) # type:PolicyValueNet\n", + " net.set_device(self.is_use_gpu)\n", + " else:\n", + " net = PolicyValueNet(n_feature_planes=self.chess_board.n_feature_planes,\n", + " is_use_gpu=self.is_use_gpu, board_len=board_len).to(self.device)\n", + "\n", + " return net\n", + "\n", + " def __load_data(self, path: str):\n", + " \"\"\" 载入历史损失数据 \"\"\"\n", + " data = []\n", + " try:\n", + " with open(path, encoding='utf-8') as f:\n", + " data = json.load(f)\n", + " except:\n", + " os.makedirs('log', exist_ok=True)\n", + "\n", + " return data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.训练结果\n", + "最终的损失曲线如下图所示:
\n", + "![11.png](image/11.png)
\n", + "可以看到即使训练到了后期,损失曲线还是在振荡,有一点原因可能是:受到现实条件的约束,训练的时候并没有连续自对弈 4400 局下来,而是每天训练上 1000 局左右就停掉,好让电脑可以休息上一段时间,结果在接着训练的时候忘了调整学习率了,直至第3300局才意识到这一点。
\n", + "\n", + "虽然损失曲线一直在振荡,不过在和 Alpha Gobang Zero 对弈的过程中可以明显感受到它的水平在一直提高,自对弈到 3000 局的时候就已经有正常人的水平了。下面来看些 Alpha Gobang Zero 自对弈的棋谱:
\n", + "**I. 训练0次的棋谱**
\n", + "![12.png](image/12.png)![13.png](image/13.png)
\n", + "可以看出没有任何训练的 AI 还什么都不会,只会乱走,刚开局的时候还很喜欢挑边沿走棋,最后黑方和白方都是靠运气赢得了比赛。
\n", + "**II. 训练800次的棋谱**
\n", + "![14.png](image/14.png)![15.png](image/15.png)
\n", + "可以看到训练了 800 次之后,AI 还是有些进步的,知道开局的时候该往中间走了,而且在对方快连成五颗的情况下也知道要去堵他了。但如第二张棋谱所示,在白方4、6、8已经连成3颗时,黑方还不会去堵它。而且在已经连成4颗棋子的情况下,白方居然没有绝杀黑方,而是下了 12 这个棋。对比第一张图就可以得知:此时的AI还只会下前几手,后面表现的越来越差,几乎是在乱走,所以没有绝杀对方。br>\n", + "**III. 训练4400次的棋谱**
\n", + "![16.png](image/16.png)
\n", + "可以看到训练到4400局之后,AI 已经掌握了开局和攻守的诀窍。一开始双方就挨得很近,试图阻止对方连成3颗。在黑方的5、7、9连成3颗时,白方也及时堵住。在白方8、14、10连成3颗时,黑方暂时没有理他,而是在左下角下了15,与自己的1、3、13连成了4颗,企图先下手为强。在白方将其堵住之后,黑方才在右上角下了17将其堵住。在此之后双方交替出现连续3颗的情况,但是都被对手及时堵住了,说明AI已经学会了堵3颗的技巧。最后几步双方都杀的很急,不过感觉白方确实要弱一些,最终黑方取胜。
\n", + "**最后给出一张自己被 AI(白方)击败的游戏截图:**\n", + "![17.png](image/17.png)
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# coding: utf-8\n", + "from typing import Tuple\n", + "from copy import deepcopy\n", + "from collections import OrderedDict\n", + "\n", + "import torch\n", + "import numpy as np\n", + "\n", + "\n", + "class ChessBoard:\n", + " \"\"\" 棋盘类 \"\"\"\n", + "\n", + " EMPTY = -1\n", + " WHITE = 0\n", + " BLACK = 1\n", + "\n", + " def __init__(self, board_len=9, n_feature_planes=7):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " board_len: int\n", + " 棋盘边长\n", + " n_feature_planes: int\n", + " 特征平面的个数,必须为偶数\n", + " \"\"\"\n", + " self.board_len = board_len\n", + " self.current_player = self.BLACK\n", + " self.n_feature_planes = n_feature_planes\n", + " self.available_actions = list(range(self.board_len**2))\n", + " # 棋盘状态字典,key 为 action,value 为 current_player\n", + " self.state = OrderedDict()\n", + " # 上一个落点\n", + " self.previous_action = None\n", + "\n", + " def copy(self):\n", + " \"\"\" 复制棋盘 \"\"\"\n", + " return deepcopy(self)\n", + "\n", + " def clear_board(self):\n", + " \"\"\" 清空棋盘 \"\"\"\n", + " self.state.clear()\n", + " self.previous_action = None\n", + " self.current_player = self.BLACK\n", + " self.available_actions = list(range(self.board_len**2))\n", + "\n", + " def do_action(self, action: int):\n", + " \"\"\" 落子并更新棋盘\n", + " Parameters\n", + " ----------\n", + " action: int\n", + " 落子位置,范围为 `[0, board_len^2 -1]`\n", + " \"\"\"\n", + " self.previous_action = action\n", + " self.available_actions.remove(action)\n", + " self.state[action] = self.current_player\n", + " self.current_player = self.WHITE + self.BLACK - self.current_player\n", + "\n", + " def do_action_(self, pos: tuple) -> bool:\n", + " \"\"\" 落子并更新棋盘,只提供给 app 使用\n", + " Parameters\n", + " ----------\n", + " pos: Tuple[int, int]\n", + " 落子在棋盘上的位置,范围为 `(0, 0) ~ (board_len-1, board_len-1)`\n", + " Returns\n", + " -------\n", + " update_ok: bool\n", + " 是否成功落子\n", + " \"\"\"\n", + " action = pos[0]*self.board_len + pos[1]\n", + " if action in self.available_actions:\n", + " self.do_action(action)\n", + " return True\n", + " return False\n", + "\n", + " def is_game_over(self) -> Tuple[bool, int]:\n", + " \"\"\" 判断游戏是否结束\n", + " Returns\n", + " -------\n", + " is_over: bool\n", + " 游戏是否结束,分出胜负或者平局则为 `True`, 否则为 `False`\n", + " winner: int\n", + " 游戏赢家,有以下几种:\n", + " * 如果游戏分出胜负,则为 `ChessBoard.BLACK` 或 `ChessBoard.WHITE`\n", + " * 如果还有分出胜负或者平局,则为 `None`\n", + " \"\"\"\n", + " # 如果下的棋子不到 9 个,就直接判断游戏还没结束\n", + " if len(self.state) < 9:\n", + " return False, None\n", + "\n", + " n = self.board_len\n", + " act = self.previous_action\n", + " player = self.state[act]\n", + " row, col = act//n, act % n\n", + "\n", + " # 搜索方向\n", + " directions = [[(0, -1), (0, 1)], # 水平搜索\n", + " [(-1, 0), (1, 0)], # 竖直搜索\n", + " [(-1, -1), (1, 1)], # 主对角线搜索\n", + " [(1, -1), (-1, 1)]] # 副对角线搜索\n", + "\n", + " for i in range(4):\n", + " count = 1\n", + " for j in range(2):\n", + " flag = True\n", + " row_t, col_t = row, col\n", + " while flag:\n", + " row_t = row_t + directions[i][j][0]\n", + " col_t = col_t + directions[i][j][1]\n", + " if 0 <= row_t < n and 0 <= col_t < n and self.state.get(row_t*n+col_t, self.EMPTY) == player:\n", + " # 遇到相同颜色时 count+1\n", + " count += 1\n", + " else:\n", + " flag = False\n", + " # 分出胜负\n", + " if count >= 5:\n", + " return True, player\n", + "\n", + " # 平局\n", + " if not self.available_actions:\n", + " return True, None\n", + "\n", + " return False, None\n", + "\n", + " def get_feature_planes(self) -> torch.Tensor:\n", + " \"\"\" 棋盘状态特征张量,维度为 `(n_feature_planes, board_len, board_len)`\n", + " Returns\n", + " -------\n", + " feature_planes: Tensor of shape `(n_feature_planes, board_len, board_len)`\n", + " 特征平面图像\n", + " \"\"\"\n", + " n = self.board_len\n", + " feature_planes = torch.zeros((self.n_feature_planes, n**2))\n", + " # 最后一张图像代表当前玩家颜色\n", + " # feature_planes[-1] = self.current_player\n", + " # 添加历史信息\n", + " if self.state:\n", + " actions = np.array(list(self.state.keys()))[::-1]\n", + " players = np.array(list(self.state.values()))[::-1]\n", + " Xt = actions[players == self.current_player]\n", + " Yt = actions[players != self.current_player]\n", + " for i in range((self.n_feature_planes-1)//2):\n", + " if i < len(Xt):\n", + " feature_planes[2*i, Xt[i:]] = 1\n", + " if i < len(Yt):\n", + " feature_planes[2*i+1, Yt[i:]] = 1\n", + "\n", + " return feature_planes.view(self.n_feature_planes, n, n)\n", + "\n", + "\n", + "class ColorError(ValueError):\n", + "\n", + " def __init__(self, *args: object) -> None:\n", + " super().__init__(*args)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 总结\n", + "通过本次五子棋AI游戏项目,能够了解和熟悉应用强化学习的专业知识,在项目中遇到了很多很杂的问题但同时也真正学习到了很多有用的知识和技能。包括如何科学合理高效地分析问题、找出问题关键,进行精确的数学建模,并用合适的框架组件去搭建相应的网络结构,以及如何有效地组织训练网络模型和调整参数。
在本次项目中,由于个人能力欠缺,难免不借鉴前辈们的优秀经验和知识结晶。但贵在研究透彻推陈出新。总之收益良多!" + ] + } + ], + "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.10.4" + }, + "main_language": "python" + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_04_Tetris/image/1.png b/report_04_Tetris/image/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d16afa6320185a3ab054da2b01c96f3483b0c331 Binary files /dev/null and b/report_04_Tetris/image/1.png differ diff --git a/report_04_Tetris/image/10.png b/report_04_Tetris/image/10.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8d686b92f869bcde6afbf2fec339f070a31556 Binary files /dev/null and b/report_04_Tetris/image/10.png differ diff --git a/report_04_Tetris/image/11.png b/report_04_Tetris/image/11.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a960164de8e44d4cca5d30e27b554153457409 Binary files /dev/null and b/report_04_Tetris/image/11.png differ diff --git a/report_04_Tetris/image/12.png b/report_04_Tetris/image/12.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1fd270d834dd7082dc50f8a976afe36315b480 Binary files /dev/null and b/report_04_Tetris/image/12.png differ diff --git a/report_04_Tetris/image/13.png b/report_04_Tetris/image/13.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fe0b7bc333a1761f098dc817a981d68ee07b53 Binary files /dev/null and b/report_04_Tetris/image/13.png differ diff --git a/report_04_Tetris/image/14.png b/report_04_Tetris/image/14.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9fddf812e7e5ac98bb7d0586267c289535109f Binary files /dev/null and b/report_04_Tetris/image/14.png differ diff --git a/report_04_Tetris/image/15.png b/report_04_Tetris/image/15.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ed3bb3cb6863d231551a53bb6d5325be59baf2 Binary files /dev/null and b/report_04_Tetris/image/15.png differ diff --git a/report_04_Tetris/image/16.png b/report_04_Tetris/image/16.png new file mode 100644 index 0000000000000000000000000000000000000000..c5a25ade6c7c55cd0d181870509ac6e5f92f5862 Binary files /dev/null and b/report_04_Tetris/image/16.png differ diff --git a/report_04_Tetris/image/17.png b/report_04_Tetris/image/17.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8894ac22e0ad5968c77c4674db68c948be0b12 Binary files /dev/null and b/report_04_Tetris/image/17.png differ diff --git a/report_04_Tetris/image/2.png b/report_04_Tetris/image/2.png new file mode 100644 index 0000000000000000000000000000000000000000..dff180b5274e7c7a617bcb651c5c1787c470f8d0 Binary files /dev/null and b/report_04_Tetris/image/2.png differ diff --git a/report_04_Tetris/image/3.png b/report_04_Tetris/image/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4605aed079394fcf5d8b3080bd40639b966f6f1a Binary files /dev/null and b/report_04_Tetris/image/3.png differ diff --git a/report_04_Tetris/image/4.png b/report_04_Tetris/image/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0eca3a0150e88033135b1a17dde5b377b87b0d Binary files /dev/null and b/report_04_Tetris/image/4.png differ diff --git a/report_04_Tetris/image/5.png b/report_04_Tetris/image/5.png new file mode 100644 index 0000000000000000000000000000000000000000..24fd1b48766b1c39b26e6b718be0aafe1787732f Binary files /dev/null and b/report_04_Tetris/image/5.png differ diff --git a/report_04_Tetris/image/6.png b/report_04_Tetris/image/6.png new file mode 100644 index 0000000000000000000000000000000000000000..792528c6acce906a9abb4b9773f924c42db11c1c Binary files /dev/null and b/report_04_Tetris/image/6.png differ diff --git a/report_04_Tetris/image/7.png b/report_04_Tetris/image/7.png new file mode 100644 index 0000000000000000000000000000000000000000..8d137aa6cf6f02811735fa1d3b374ecc4735ea08 Binary files /dev/null and b/report_04_Tetris/image/7.png differ diff --git a/report_04_Tetris/image/8.png b/report_04_Tetris/image/8.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a4fe475794eeeb7bc1084da27fd0bd7308e2ce Binary files /dev/null and b/report_04_Tetris/image/8.png differ diff --git a/report_04_Tetris/image/9.png b/report_04_Tetris/image/9.png new file mode 100644 index 0000000000000000000000000000000000000000..d4137eb27f9a21409c4343dea3cf70e6202f735d Binary files /dev/null and b/report_04_Tetris/image/9.png differ diff --git a/report_04_Tetris/report_template.ipynb b/report_04_Tetris/report_template.ipynb deleted file mode 100644 index 6517f7a66c67f9f62b5fe6a6d361728d5fdf51f7..0000000000000000000000000000000000000000 --- a/report_04_Tetris/report_template.ipynb +++ /dev/null @@ -1,58 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;最终的目标是什么\n", - "\n", - "## 解决途径\n", - "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 游戏仿真环境的实现\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" - ] - } - ], - "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.5.2" - }, - "main_language": "python" - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/report_05_Jigsaw-Puzzle/Report-05-Jigsaw-Puzzle.pdf b/report_05_Jigsaw-Puzzle/Report-05-Jigsaw-Puzzle.pdf new file mode 100644 index 0000000000000000000000000000000000000000..775383ef707ae76b4ad673a179c1d15d3806747a Binary files /dev/null and b/report_05_Jigsaw-Puzzle/Report-05-Jigsaw-Puzzle.pdf differ diff --git a/report_05_Jigsaw-Puzzle/Report_05_Jigsaw-Puzzle.ipynb b/report_05_Jigsaw-Puzzle/Report_05_Jigsaw-Puzzle.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..991755be2ab8d0fea071884bd6157fe2df3fdb44 --- /dev/null +++ b/report_05_Jigsaw-Puzzle/Report_05_Jigsaw-Puzzle.ipynb @@ -0,0 +1,240 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report -05- Jigsaw Puzzle\n", + "\n", + "* 张达\n", + "* 2022100847\n", + "\n", + "\n", + "## 任务简介\n", + "\n", + "### 1.任务背景\n", + "拼图游戏是广受欢迎的一种智力游戏,它的变化多端,难度不一。拼图游戏也有置换不变性,不管拼图的顺序是什么,输出总是固定的。下面是一个2x2的网格难题的例子,这是下面的例子我们将在这个项目中尝试解决它。
\n", + "![Jigsaw-Puzzle_demo1.png](images/Jigsaw-Puzzle_demo1.png)
\n", + "解决一个3x3网格的难题是极其困难的。下面是这些谜题的可能组合。
\n", + "2x2 puzzle = 4! = 24 combinations
\n", + "3x3 puzzle = 9! = 362880 comb'ns
\n", + "为了解决一个3x3的难题,网络必须从362880中预测出一个正确的组合。这也是为什么3x3拼图是一个难题的另一个原因。为了让大家学习如何使用卷积神经网络,首先尝试解决一个2x2的拼图游戏。\n", + "### 2.数据介绍\n", + "这个数据集包含2x2和3x3的puzzle。你可以在这里找到它。\n", + "https://www.kaggle.com/shivajbd/jigsawpuzzle
\n", + "下面是一个2x2网格拼图的数据示例。输入是一个200x200像素的图像和标签是一个4个整数的数组,其中每个整数告诉每个片段的正确位置。
\n", + "![Jigsaw-Puzzle_sample-data.png](images/Jigsaw-Puzzle_sample-data.png)
\n", + "### 3.要求\n", + "1.分析拼图游戏的特点,设计实现的方法。
\n", + "2.在Kaggle网站上,下载数据(如果无法访问网站,则需要学习如何科学上网)。
\n", + "3.编写神经网络代码,测试自己算法的效果如何。
\n", + "4.测试所研究方法的效果。
\n", + "5.分析自己实现的方法的问题,以及如何改进。
\n", + "6.深入思考,如何解决3x3的拼图?或者更大的拼图?
\n", + "7.按照report_template.ipynb撰写自己的报告。
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 解决途径\n", + "\n", + "拼图的输出结果置换不变性,可以类比神经网络不同的输入次序产生相同的输出结果,神经网络的权重映射到特定的输入单位。 当输入改变时,输出也将改变。
因此,为了完成这一任务,神经网络的权重应确保即使更改输入后最终输出也不会更改,这是本方法的理论基础。
\n", + "\n", + "### 1.置换不变性\n", + "如果函数的输出不通过更改其输入的顺序而改变,则该函数是置换不变式。
\n", + "如f(x,y,z) = ax + by +cz2)
\n", + "f(x,y,z) = xyz
\n", + "这两个函数,如果我们更改输入顺序,则第一个函数的输出将更改,但是第二个函数的输出将保持不变。 所以第二个函数是置换不变的。拼图游戏也是排列不变性。 无论拼图块的顺序如何,输出始终是固定的。 这是一个2x2网格难题的示例,我们将在此项目中尝试解决该难题。
\n", + "\n", + "### 2.数据分析\n", + "数据集的相关情况:有92K训练图像和2K测试图像,有300张图像进行验证。标签是一个整数数组,表示每个拼图的正确位置。
\n", + "下面是一个2x2网格拼图的数据样本。
\n", + "![196.png](images/196.png)
\n", + "输入是一个200x200像素的图像,标签是一个由4个整数组成的数组,其中每个整数都表示每个片段的正确位置。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.解决思路\n", + "我们的目标是将该图像输入到神经网络中,并得到一个输出,该输出是4个整数的向量,指示每个片段的正确位置。
\n", + "#### 网络结构\n", + ">1.从图像中提取每块拼图(共4块)
\n", + ">2.将每片穿过CNN,提取有用的特征并输出特征向量
\n", + ">3.用Flatten层将所有4个特征向量连接为一个
\n", + ">4.将此组合向量传递到前馈网络,该网络的最后一层为我们提供了16个单位长的向量
\n", + ">5.将此16个单位向量重塑为4x4的矩阵
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![1.png](images/1.png)
\n", + "通过应用softmax图层将得分转换为概率。概率值最高的类别是我们的预测类别。
\n", + "这里的情况有所不同。 我们想将每个片段分类到正确的位置(0, 1, 2, 3) 。 并且有4个这样的片断。 因此,我们需要4个向量(每个片段),每个向量具有4个得分(每个位置),这不过是一个4x4矩阵,行对应于要评分的片段和列。
\n", + "最后,我们在此输出矩阵上逐行应用softmax。
\n", + "![2.png](images/2.png)
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import keras\n", + "from keras.layers import TimeDistributed as td\n", + "from keras.layers import Conv2D, Flatten, Dense, ZeroPadding2D, Activation\n", + "from keras.layers import MaxPooling2D, Dropout, BatchNormalization, Reshape\n", + "\n", + "\n", + "def get_model():\n", + "\n", + " model = keras.models.Sequential()\n", + "\n", + " model.add(td(ZeroPadding2D(2), input_shape=(4, 100, 100, 3)))\n", + "\n", + " model.add(td(Conv2D(50, kernel_size=(5,5), padding='same', activation='relu', strides=2)))\n", + " model.add(td(BatchNormalization()))\n", + " model.add(td(MaxPooling2D()))\n", + "\n", + " model.add(td(Conv2D(100, kernel_size=(5,5), padding='same', activation='relu', strides=2)))\n", + " model.add(td(BatchNormalization()))\n", + " model.add(td(Dropout(0.3)))\n", + "\n", + " model.add(td(Conv2D(100, kernel_size=(3,3), padding='same', activation='relu', strides=2)))\n", + " model.add(td(BatchNormalization()))\n", + " model.add(td(Dropout(0.3)))\n", + "\n", + " model.add(td(Conv2D(200, kernel_size=(3,3), padding='same', activation='relu', strides=1)))\n", + " model.add(td(BatchNormalization()))\n", + " model.add(td(Dropout(0.3)))\n", + "\n", + " model.add(Flatten())\n", + "\n", + " model.add(Dense(600, activation='relu'))\n", + " model.add(BatchNormalization())\n", + " model.add(Dense(400, activation='relu'))\n", + " model.add(BatchNormalization())\n", + " model.add(Dropout(0.3))\n", + " model.add(Dense(16))\n", + " model.add(Reshape((4, 4)))\n", + " model.add(Activation('softmax'))#最后使用softmax作为激活函数\n", + "\n", + " return model\n", + "#这一文件保存在model.py中" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### CNN架构详情\n", + "此任务与常规分类任务完全不同。 在正常分类任务网络中,重点更多地放在图像的中心区域。 但是对于拼图来说,边缘信息比中心信息重要得多。\n", + "#### 填充(Padding)\n", + "在将图像通过CNN之前,我在图像周围使用了一些额外的填充 (第3行) 。 还要在每次卷积操作之前填充特征图(padding = same),以保护尽可能多的边缘信息。\n", + "#### 最大池化(MaxPooling)\n", + "避免使用池化图层,而只使用一个MaxPool图层来减小要素地图的大小(第7行)。池化使网络翻译不变,这意味着即使您旋转图像中的对象,该网络仍会检测到它。 这对任何对象分类任务都是有好处的。但是这里我们不希望网络成为翻译不变性。我们的网络应该对变化敏感。 由于我们的边缘信息非常敏感。\n", + "#### 浅层网络 (Shallow Network)\n", + "CNN的顶层会提取诸如边缘,拐角等特征。随着深入,层倾向于提取诸如形状,颜色分布等特征。这与我们的情况无关,因此创建浅层网络会在这里帮助。 网络的其余部分非常简单,具有3个前馈层,一个重塑层和最后一个softmax层。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os#调取实验所需的各种库\n", + "import sys\n", + "import copy\n", + "import keras\n", + "import numpy as np\n", + "import pandas as pd\n", + "from PIL import Image\n", + "import matplotlib.pyplot as plt\n", + "from model import get_model\n", + "from utills import rearrange, load_data, extract_piece, swap_piece\n", + "base_path = 'data/puzzle_2x2/'#数据集保存的位置\n", + "cuts = 2 \n", + "channel = 3\n", + "im_size = 200#定义关键参数,如图像的格式,通道数等\n", + "model = keras.models.load_model('jigsaw.model')\n", + "x_test, y_test = load_data(base_path, 'test')\n", + "im = 135\n", + "plt.imshow(x_test[im].astype('float64')+.5)\n", + "plt.show()\n", + "inp = np.expand_dims(extract_piece(x_test[im]), axis=0)\n", + "out = model.predict(inp)[0]\n", + "out = np.argmax(out, axis=1)\n", + "rearrange(np.array(x_test[im])+.5, out)\n", + "solved = 0\n", + "x_test_proc = []\n", + "for i in x_test:\n", + " x_test_proc.append(extract_piece(i))\n", + " x_test_proc = np.array(x_test_proc)\n", + " out = model.predict(x_test_proc)\n", + "for i in range(len(out)):\n", + " pos = np.argmax(out[i], axis=1)\n", + "if list(pos) == list(y_test[i].reshape(cuts * cuts)):\n", + " solved += 1\n", + "print(\"Accuracy on {} samples: {}%\".format(len(out), round((solved / i) * 100, 2)))\n", + "all_val = []\n", + "for i in range(len(out)):\n", + " pos = np.argmax(out[i], axis=1)\n", + " val = (pos==y_test[i].reshape(cuts*cuts)).astype('int')\n", + " all_val.append(val)\n", + "all_val = np.array(all_val)\n", + "[round(i, 2) for i in (np.sum(all_val, axis=0)/len(out))*100]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 结果\n", + "在进行预测时,我们的网络会输出4x4向量,然后我们选择在每一行中具有最大值的索引,该索引不过是预测位置。
\n", + "我们得到一个长度为4的向量。使用该向量,我们还可以重新排列拼图并将它们可视化。
\n", + "![5.png](images/5.png)\n", + "训练后,该模型能够正确解决80%的谜题。性能达到预期。
\n", + "![3.png](images/3.png)\n", + "![4.ipg](images/4.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 总结\n", + "为了简化难度,选择2x2的拼图模式,通过这一任务,让我对神经网络的构建、训练与调整过程更加熟悉,自己的编程能力、调参的能力等也都有了进一步的提高。当然,这一问题也有其他的解法,如利用随机森林算法等,这些都可以在后面进行尝试。总之,通过本次任务,使得我的专业技能水平有了很大的进步,受益匪浅!\n" + ] + } + ], + "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.10.4" + }, + "main_language": "python" + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_05_Jigsaw-Puzzle/images/1.png b/report_05_Jigsaw-Puzzle/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..9750e8d250a13e1b4bbe7361ed8f32335ec86682 Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/1.png differ diff --git a/report_05_Jigsaw-Puzzle/images/196.png b/report_05_Jigsaw-Puzzle/images/196.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf94d6504fdb4d302a78083c22969413b9f3853 Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/196.png differ diff --git a/report_05_Jigsaw-Puzzle/images/2.png b/report_05_Jigsaw-Puzzle/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..42b27a8f8b417491692e8914b43ec744e805d3ef Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/2.png differ diff --git a/report_05_Jigsaw-Puzzle/images/3.png b/report_05_Jigsaw-Puzzle/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..699b8767d42e49001f8b5de3dbbdf1d1e9f9b25b Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/3.png differ diff --git a/report_05_Jigsaw-Puzzle/images/4.jpg b/report_05_Jigsaw-Puzzle/images/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..549ceaa651b4f65568e8cfe4b4b4d72e29421ad8 Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/4.jpg differ diff --git a/report_05_Jigsaw-Puzzle/images/5.png b/report_05_Jigsaw-Puzzle/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9bb477be3bd2b56bc2c7af5c1115e163b03d47 Binary files /dev/null and b/report_05_Jigsaw-Puzzle/images/5.png differ diff --git a/report_05_Jigsaw-Puzzle/report_template.ipynb b/report_05_Jigsaw-Puzzle/report_template.ipynb deleted file mode 100644 index 1db93a237a306712d7e535c5211c86db247a264e..0000000000000000000000000000000000000000 --- a/report_05_Jigsaw-Puzzle/report_template.ipynb +++ /dev/null @@ -1,58 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;最终的目标是什么\n", - "\n", - "## 解决途径\n", - "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 数据的基本情况介绍\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" - ] - } - ], - "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.6.9" - }, - "main_language": "python" - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/report_06_Sudoku/Report_06_Sudoku.ipynb b/report_06_Sudoku/Report_06_Sudoku.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..edd0d4a1fbff51ec161d1c55bf75458576517805 --- /dev/null +++ b/report_06_Sudoku/Report_06_Sudoku.ipynb @@ -0,0 +1,317 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Report - Sudoku\n", + "\n", + "* 张达\n", + "* 202210847\n", + " \n", + "\n", + "## 任务简介\n", + "\n", + "数独(shù dú, Sudoku)是源自18世纪瑞士的一种数学游戏。是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。\n", + "\n", + "数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。\n", + "我们的任务时,探讨利用卷积神经网络(CNN)解决数独问题的可能性。数独有空间特征,因为它有特殊的数字排列,而CNN擅长提取空间特征,尝试使用CNN来求解数独。\n", + "![sudoku_1.jpeg](images/sudoku_1.jpeg)\n", + "\n", + "## 数据\n", + "这个数据集包含了1百万数独的数据,你可以在这里找到它。https://www.kaggle.com/bryanpark/sudoku
\n", + "\n", + "示例的数据如下所示
\n", + "![sudoku_data.png](images/sudoku_data.png)
\n", + "数据集包含2列。quizzes栏目是未解的游戏,solutions栏目各自的已解游戏。每场比赛都由81个数字组成的字符串表示。以下是从字符串转换而来的9x9数独。数字0代表未解游戏中的空白位置。\n", + "[[0 0 4 3 0 0 2 0 9]
\n", + " [0 0 5 0 0 9 0 0 1]
\n", + " [0 7 0 0 6 0 0 4 3]
\n", + " [0 0 6 0 0 2 0 8 7]
\n", + " [1 9 0 0 0 7 4 0 0]
\n", + " [0 5 0 0 8 3 0 0 0]
\n", + " [6 0 0 0 0 0 1 0 5]
\n", + " [0 0 3 5 0 8 6 9 0]
\n", + " [0 4 2 9 1 0 3 0 0]]
\n", + "\n", + "## 要求\n", + "1.分析数独游戏的特点,设计实现的方法。
\n", + "2.在Kaggle网站上,下载数据。
\n", + "3.编写神经网络代码,测试自己算法的效果如何。
\n", + "4.测试所研究方法的效果。
\n", + "5.分析自己实现的方法的问题,以及如何改进。
\n", + "6.深入思考,如何使用强化学习的方法实现求解数独问题?
\n", + "7.按照report_template.ipynb撰写自己的报告。
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 解决思路\n", + "\n", + "### 数据处理\n", + "任务是将未解决的数独游戏输入神经网络,并从中得到已解决的数独游戏。这意味着我们必须向网络输入81个数字,并需要从网络中输出81个数字。
\n", + "我们必须将输入数据(未解决的游戏)转换为3D数组,因为我们必须将其提供给CNN。
\n", + "我已经将每一串81个数字转换成(9,9,1)的形状。然后我将输入数据规范化,将其除以9再减去0.5。
\n", + "通过这样做,数据变得以零均值为中心,在(-0.5 -0.5)的范围内。神经网络通常使用以零为中心的归一化数据表现更好。
" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import tensorflow\n", + "import copy\n", + "import keras\n", + "import numpy as np\n", + "from keras.models import load_model\n", + "import time\n", + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "from keras.layers import Activation\n", + "from keras.layers import Conv2D, BatchNormalization, Dense, Flatten, Reshape\n", + "#使用keras和tensorflow框架,导入所需的各种包。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "def get_data(file): \n", + "\n", + " data = pd.read_csv(file)\n", + "\n", + " feat_raw = data['quizzes']\n", + " label_raw = data['solutions']\n", + "\n", + " feat = []\n", + " label = []\n", + "\n", + " for i in feat_raw:\n", + " \n", + " x = np.array([int(j) for j in i]).reshape((9,9,1))\n", + " feat.append(x)\n", + " \n", + " feat = np.array(feat)\n", + " feat = feat/9\n", + " feat -= .5 \n", + " \n", + " for i in label_raw:\n", + " \n", + " x = np.array([int(j) for j in i]).reshape((81,1)) - 1\n", + " label.append(x) \n", + " \n", + " label = np.array(label)\n", + " \n", + " del(feat_raw)\n", + " del(label_raw) \n", + "\n", + " x_train, x_test, y_train, y_test = train_test_split(feat, label, test_size=0.2, random_state=42)\n", + " \n", + " return x_train, x_test, y_train, y_test" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 网络设计\n", + "在典型的多类分类中,神经网络为每个类输出分数。然后对最终分数应用软最大函数将其转换为概率。并将数据划分为概率值最高的一类(参考下图)。
\n", + "![1.jpg](images/1.jpg)\n", + "但在数独游戏中,情况就不同了。在数独游戏中,每个位置都需要81个数字,而不是一个。每个数字总共有9个类因为数字可以在1到9的范围内。
\n", + "**为了符合这个设计,我们的网络应该输出81x9的数字。其中每行代表81个数字中的一个,每列代表9个类中的一个。然后我们可以应用softmax,对每一行取最大值,这样我们就有81个数字分为9个类中的一个。**
\n", + "![2.png](images/2.png)\n", + "设计网络部分的代码如下:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import keras\n", + "from keras.layers import Activation\n", + "from keras.layers import Conv2D, BatchNormalization, Dense, Flatten, Reshape\n", + "\n", + "def get_model():\n", + "\n", + " model = keras.models.Sequential()\n", + "\n", + " model.add(Conv2D(64, kernel_size=(3,3), activation='relu', padding='same', input_shape=(9,9,1)))\n", + " model.add(BatchNormalization())\n", + " model.add(Conv2D(64, kernel_size=(3,3), activation='relu', padding='same'))\n", + " model.add(BatchNormalization())\n", + " model.add(Conv2D(128, kernel_size=(1,1), activation='relu', padding='same'))\n", + "\n", + " model.add(Flatten())\n", + " model.add(Dense(81*9))\n", + " model.add(Reshape((-1, 9)))\n", + " model.add(Activation('softmax'))\n", + " \n", + " return " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 训练\n", + "我训练了2个epoch的网络,批大小为64。第一个epoch的学习率为0.001,第二个epoch的学习率为0.0001。最终的训练损失稳定在0.34。
\n", + "我尝试了一些不同的网络架构和策略,但不能进一步减少损失,所以我继续使用这个网络。
" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/5\n", + "25000/25000 [==============================] - 105s 4ms/step - loss: 0.4469\n", + "Epoch 2/5\n", + "25000/25000 [==============================] - 107s 4ms/step - loss: 0.3499\n", + "Epoch 3/5\n", + "25000/25000 [==============================] - 92s 4ms/step - loss: 0.3365\n", + "Epoch 4/5\n", + "25000/25000 [==============================] - 92s 4ms/step - loss: 0.3277\n", + "Epoch 5/5\n", + "25000/25000 [==============================] - 91s 4ms/step - loss: 0.3216\n", + "load pre_trained model\n" + ] + } + ], + "source": [ + "model.fit(x_train, y_train, batch_size=32, epochs=5)#将训练的batch_size设置为32,训练5个epoch\n", + "model.save(\"my_model.h5\")#保存模型\n", + "\n", + "\n", + "print(\"load pre_trained model\")\n", + "model = load_model('my_model.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 结果\n", + "![3.png](images/3.png)\n", + "![4.png](images/4.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "作为人类,当我们玩数独游戏时,我们会一个接一个地填入数字。我们不会简单地看一眼数独,然后填上所有的数字。一个一个填充数字的好处是,每次填充一个数字,我们都会对下一步有更好的想法。
\n", + "现在我在解数独时也采用了同样的方法。我不是一次预测所有81个数字,而是在所有空白位置中选择一个具有最高概率值的数字,并在数独中填充该数字。填满一个数字后,我们再次将这个谜题输入网络并进行预测。我们一直重复这个过程,用概率最高的数字一个接一个地填满空白位置,直到没有空白位置为止。
\n", + "这种方法提高了性能,网络能够解决该数据集中的几乎所有游戏。1000场游戏的测试准确率为0.99。
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#用逐个位置推导的方式求解\n", + "def inference_sudoku(sample):\n", + " '''\n", + " This function solve the sudoku by filling blank positions one by one.\n", + " '''\n", + "\n", + " feat = copy.copy(sample)\n", + "\n", + " while (1):\n", + "\n", + " out = model.predict(feat.reshape((1, 9, 9, 1)))\n", + " out = out.squeeze()\n", + "\n", + " pred = np.argmax(out, axis=1).reshape((9, 9)) + 1\n", + " prob = np.around(np.max(out, axis=1).reshape((9, 9)), 2)\n", + "\n", + " feat = denorm(feat).reshape((9, 9))\n", + " mask = (feat == 0)\n", + "\n", + " if (mask.sum() == 0):\n", + " break\n", + "\n", + " prob_new = prob * mask\n", + "\n", + " ind = np.argmax(prob_new)\n", + " x, y = (ind // 9), (ind % 9)\n", + "\n", + " val = pred[x][y]\n", + " feat[x][y] = val\n", + " feat = norm(feat)\n", + "\n", + " return pred\n", + "#测试模型的准确度\n", + "def test_accuracy(feats, labels):\n", + " count = 0\n", + " correct = 0\n", + "\n", + " for i, feat in enumerate(feats):\n", + "\n", + " pred = inference_sudoku(feat)\n", + "\n", + " true = labels[i].reshape((9, 9)) + 1\n", + "\n", + " if (abs(true - pred).sum() == 0):\n", + " correct += 1\n", + " count += 1\n", + " print(\"tested \", count)\n", + " print(\"accuracy: \", correct / feats.shape[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![5.png](images/5.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 总结\n", + "个人认为,用深度学习的方法来解决数独不仅增加工作量而且比较麻烦,其实用暴力解决的方法或者搜索的方法来解决是很快的。所以我觉得该任务只是凭空增加劳动量,没有太大意义。" + ] + } + ], + "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.10.4" + }, + "main_language": "python" + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/report_06_Sudoku/Report_06_Sudoku.pdf b/report_06_Sudoku/Report_06_Sudoku.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2a484a28fecbbcaeb8b359f85ac2bc6f07cd2b9 Binary files /dev/null and b/report_06_Sudoku/Report_06_Sudoku.pdf differ diff --git a/report_06_Sudoku/dataprocess.py b/report_06_Sudoku/dataprocess.py new file mode 100644 index 0000000000000000000000000000000000000000..ee27206c09fb406eb251be3cb59dd618e13ab3fb --- /dev/null +++ b/report_06_Sudoku/dataprocess.py @@ -0,0 +1,36 @@ +import numpy as np +import pandas as pd +from sklearn.model_selection import train_test_split + +def get_data(file): + + data = pd.read_csv(file) + + feat_raw = data['quizzes'] + label_raw = data['solutions'] + + feat = [] + label = [] + + for i in feat_raw: + + x = np.array([int(j) for j in i]).reshape((9,9,1)) + feat.append(x) + + feat = np.array(feat) + feat = feat/9 + feat -= .5 + + for i in label_raw: + + x = np.array([int(j) for j in i]).reshape((81,1)) - 1 + label.append(x) + + label = np.array(label) + + del(feat_raw) + del(label_raw) + + x_train, x_test, y_train, y_test = train_test_split(feat, label, test_size=0.2, random_state=42) + + return x_train, x_test, y_train, y_test diff --git a/report_06_Sudoku/images/1.jpg b/report_06_Sudoku/images/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..620be3043c1f6bbc3ee8d7a4ddb17deb2eb43bbe Binary files /dev/null and b/report_06_Sudoku/images/1.jpg differ diff --git a/report_06_Sudoku/images/2.png b/report_06_Sudoku/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f6116b5c1c57414ce6ad665fa71c9daa23154d Binary files /dev/null and b/report_06_Sudoku/images/2.png differ diff --git a/report_06_Sudoku/images/3.png b/report_06_Sudoku/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..6459387e90f45ccd9bd4d42500cddd9c5d0f9aad Binary files /dev/null and b/report_06_Sudoku/images/3.png differ diff --git a/report_06_Sudoku/images/4.png b/report_06_Sudoku/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0c42201f4b87cf942bfe1d26984a53d46cded2 Binary files /dev/null and b/report_06_Sudoku/images/4.png differ diff --git a/report_06_Sudoku/images/5.png b/report_06_Sudoku/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..9596df1f07ca038d5b65b01c88277d6760a315ed Binary files /dev/null and b/report_06_Sudoku/images/5.png differ diff --git a/report_06_Sudoku/model.py b/report_06_Sudoku/model.py new file mode 100644 index 0000000000000000000000000000000000000000..56b2c0b98558c9a1398444c9dc7c44d0d9411972 --- /dev/null +++ b/report_06_Sudoku/model.py @@ -0,0 +1,20 @@ +import keras +from keras.layers import Activation +from keras.layers import Conv2D, BatchNormalization, Dense, Flatten, Reshape + +def get_model(): + + model = keras.models.Sequential() + + model.add(Conv2D(64, kernel_size=(3,3), activation='relu', padding='same', input_shape=(9,9,1))) + model.add(BatchNormalization()) + model.add(Conv2D(64, kernel_size=(3,3), activation='relu', padding='same')) + model.add(BatchNormalization()) + model.add(Conv2D(128, kernel_size=(1,1), activation='relu', padding='same')) + + model.add(Flatten()) + model.add(Dense(81*9)) + model.add(Reshape((-1, 9))) + model.add(Activation('softmax')) + + return model \ No newline at end of file diff --git a/report_06_Sudoku/report_template.ipynb b/report_06_Sudoku/report_template.ipynb deleted file mode 100644 index 1db93a237a306712d7e535c5211c86db247a264e..0000000000000000000000000000000000000000 --- a/report_06_Sudoku/report_template.ipynb +++ /dev/null @@ -1,58 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Report - 报告题目\n", - "\n", - "* 姓名\n", - "* 学号\n", - "\n", - "\n", - "## 任务简介\n", - "\n", - "这里简述一下任务是什么;最终的目标是什么\n", - "\n", - "## 解决途径\n", - "\n", - "主要包括:\n", - "1. 问题的思考,整体的思路\n", - "2. 选用的方法,以及为何选用这些方法\n", - "3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n", - "3. 实现过程遇到的问题,以及如何解决的\n", - "4. 最终的结果,实验分析\n", - "\n", - "要求:\n", - "1. 数据的基本情况介绍\n", - "2. 程序,以及各个部分的解释、说明\n", - "3. 结果的可视化,精度等的分析\n", - "\n", - "## 总结\n", - "总结任务实现过程所取得的心得等。" - ] - } - ], - "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.6.9" - }, - "main_language": "python" - }, - "nbformat": 4, - "nbformat_minor": 2 -}