forked from cdliang11/leave
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.xml
More file actions
173 lines (173 loc) · 70.9 KB
/
Copy pathsearch.xml
File metadata and controls
173 lines (173 loc) · 70.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[数据可视化-PowerMap]]></title>
<url>%2F2017%2F11%2F30%2F%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96-PowerMap%2F</url>
<content type="text"><![CDATA[PowerMap, Excel领域的可视化人间凶器 本文转载微信公众号“一周进步”并适当修改,如有侵权,请联系本人删除。 研究之后发现,微软爸爸这个名字确实是叫的应该。这™真的是黑科技,哦不,人间凶器。 下面两个案例中的所有三维可视化效果,全都是用 Excel 中的PowerMap设计生成的。 -美国万圣节大数据分析-全球二氧化碳排放量 PowerMap 是 Excel 中的一个强大无比的大数据地图展现工具。但是操作方式却逆天的简单。 咳咳…大家冷静一下,我要开始装逼了。 PowerMap如何使用?我们将在实际案例中对 PowerMap 进行讲解,我们所使用的Excel表格数据案例为下图所示。 (你达标了么?) 如何安装?-如果你用的版本是 Office2016,在插入选项卡里面,会有一个三维地图功能按钮。 -如果你用的版本是 Office2013 ,则需要事先安装一个插件,然后再到插入选项卡里面打开 Map 功能即可。点一下我就能下载了,微软官网也有,但是微软官网的打开速度太慢,我帮你下载好了 -如果你用的版本是2010及以下的版本….对不起,你已经被微软这个小婊砸抛弃了。 如何打开?首先我们要拖拽选中我们要展现的数据区域。 然后我们点开这个地图功能按钮,就打开了 PowerMap 界面(啊啊啊啊!!碉堡了!) 毫无疑问,整个界面里面最抓人眼球的是中间可以无限纵深的三维地球。 我们可以使用鼠标拖拽进行视角和空间的转换和移动。 整个三维地球是在线更新的,所以无需担心地名出错的问题。 PowerMap 提供了12种主题供我们挑选和选择。 PowerMap 提供了五种可视化形式供我们选择,分别是堆积柱形图,簇状柱形图,气泡图,热力图和区域,简单列举一些。 如何赋予数据?我们以堆积柱形图为例。 目前整个三维地图是空白的,我们需要对这个地球进行一个数据赋予。 我们在右侧的字段列表里面勾选出需要赋予给 PowerMap 的数据。挨个点击添加字段,选中我们案例中相对应的数据类别就好。 ( 位置-国家 高度-数据 类别-国家 ) 这个时候,PowerMap 会帮我们在地球上自动生成堆积柱形图,颜色是按照国家进行区分。 此时,我们可以对生成的柱形图进行一些细微的编辑,我们可以点开图层选项,在里面对图表的高度和厚度进行设置。 (恩…我们可以细而长,也可以短而粗) PowerMap 强大的地方在于,如果一个可视化效果有局限性,那我们可以任意的叠加多层可视化效果。 只需要点击字段最上方 “添加新层” 比如说我觉得这个时候国家之间的区别不是很明显,那我在新的图层这里设置一个区域可视化效果。 这个时候我们会发现,三维地球上会重新叠加了一层区域效果,这个时候国家之间的区别就鲜明了不少。 我最后又叠加上了一层热力图可视化效果,具体的操作步骤同上,就不再次赘述了。 三个图层按照需求分别命名如下。 这个时候,我们会发现,三维地图上的可视化图表效果基本已经生成完毕了。 我们来聊聊动画PowerMap 提供了一系列堪比电影级的动画效果。我们只要点开“场景选项”,选择一个合适的效果就可以了。 我们可以简单看一下效果: *飞过效果 *推进效果 *旋转地球效果 我们选中了动画之后,设置一个合适的时间和效果选项即可。 【对比】PowerMap 三维地图最大的优势是在于,我们可以对它很方便的进行时间和空间上的对比。 -时间上的对比 时间上的对比很简单,我们只需要在数据赋予的时候给他赋予一个时间字段。 然后我们点击播放卧槽!我们会发现PowerMap会以动画的形式按照时间生长表现数据。 -空间上的对比 空间上的对比则需要点击“新场景”,然后复制一个跟原本场景一样的三维地球效果。 这个时候,比如我们需要对比亚洲与美洲之间的数据。那我们在第一个场景把空间移动到亚洲上空。 然后来到第二个场景把空间移动到美洲上空。 并且给两个场景依次赋予一个动画效果:圆形时候我们点击播放会发现。 PowerMap 会帮我们自动从亚洲上空移动到美洲上空,无缝切换。 我们也可以把视角深入,比如我想从全球视角,移动到北京,看看北京的情况。仅仅把第二个场景把三维地图视野深入到北京这个城市即可。 效果如图: (是不是有一种有一种卫星地图的视角穿越感) 如果我们在新场景里面把三维地图改为平面地图,PowerMap也可以帮你在播放的时候无缝展现。 PowerMap 除了可以默认的三维地图以外,我们也可以尝试自定义地图。 定制地图的背景由我们选定图片决定,图表的位置可以根据工作表的经纬度的数据去决定。 这个相对于三维地图,自定义地图究竟具体怎么使用呢? 给一些参考例子1.用直方图表现NBA场上球队在场上具体某个区域得分情况分析 2.用热力图表现整个网页具体某个区域点击情况分析 3.自定义地图(公园地图,学校地图,咖啡厅)的具体人流量分析 导出视频当一切都准备完毕之后,我们可以点击“播放”按钮去播放我们刚刚设置的可视化效果。 我们也可以点击“生成视频” 去导出一个视频在其他地方使用。 简单制作的效果:(function(){var player = new DPlayer({"container":document.getElementById("dplayer0"),"theme":"#FADFA3","loop":true,"video":{"url":"http://owvs33wtl.bkt.clouddn.com/MP4/%E6%BC%94%E7%A4%BA%201.mp4","pic":"http://owvs33wtl.bkt.clouddn.com/image/%E5%B0%81%E9%9D%A2.png"},"danmaku":{"id":"9E2E3368B56CDBB4","api":"http://dplayer.daoapp.io","token":"tokendemo","addition":["https://dplayer.daoapp.io/bilibili?aid=4157142"]}});})() 还能怎么玩?作为一个如此逆天的可视化工具,我们来看看大神们有没有什么精彩的创意。 -@Lukas Steindl 做了一个全球气候变化的动态分析(function(){var player = new DPlayer({"container":document.getElementById("dplayer1"),"theme":"#FADFA3","loop":true,"video":{"url":"http://owvs33wtl.bkt.clouddn.com/MP4/%E5%85%A8%E7%90%83%E6%B0%94%E5%80%99%E5%8F%98%E5%8C%96%E7%9A%84%E5%8A%A8%E6%80%81%E5%88%86%E6%9E%90.mp4","pic":"https://i.loli.net/2017/12/01/5a20d9f5e61bd.jpg"},"danmaku":{"id":"9E2E3368B56CDBB4","api":"http://dplayer.daoapp.io","token":"tokendemo","addition":["https://dplayer.daoapp.io/bilibili?aid=4157142"]}});})() -万圣节快到了,让PowerMap来告诉你全美国哪个地方万圣节参与人数最多吧(function(){var player = new DPlayer({"container":document.getElementById("dplayer2"),"theme":"#FADFA3","loop":true,"video":{"url":"http://owvs33wtl.bkt.clouddn.com/MP4/%E4%B8%87%E5%9C%A3%E8%8A%82.mp4"},"danmaku":{"id":"9E2E3368B56CDBB4","api":"http://dplayer.daoapp.io","token":"tokendemo","addition":["https://dplayer.daoapp.io/bilibili?aid=4157142"]}});})() -华盛顿无家可归的学生数据调研 -彗星轨迹图 -近30年美国降水量数据分析 -白宫预算分析 Q&A-为什么我的电脑安装不了PowerMap插件?请确认你的系统是Win7及以上系统,同时安装了Directx 10.0及以上版本。-为什么我的Excel2013找不到PowerMap? 1.先安装 PowerMap插件下载地址https://www.microsoft.com/en-us/download/details.aspx?id=38395 2.安装 Office2016 下载地址自己百度。 -我的电脑打开 PowerMap 很卡怎么办? 把电脑砸掉。 -为什么我的PPT没有PowerMap? …那是因为你没有用记事本打开… -为什么我的电脑没有安装Excel? ……好了童鞋,你应该跑错教室了,体育课在旁边。]]></content>
<categories>
<category>数据</category>
</categories>
<tags>
<tag>大数据</tag>
<tag>数据可视化</tag>
</tags>
</entry>
<entry>
<title><![CDATA[安徽大学校园网相关问题]]></title>
<url>%2F2017%2F11%2F22%2F%E6%A0%A1%E5%9B%AD%E7%BD%91%E9%97%AE%E9%A2%98%2F</url>
<content type="text"><![CDATA[new APlayer({ element: document.getElementById("aplayer0"), narrow: false, autoplay: false, showlrc: 0, music: { title: "Wind Of Change", author: "Susan Wong", url: "http://owvs33wtl.bkt.clouddn.com/musicSusan%20Wong%20-%20Wind%20Of%20Change.mp3", pic: "https://i.loli.net/2017/11/22/5a15528a74393.jpg", } }); 本文持续更新,发现问题会尽可能及时的发布解决办法。由于作者的电脑是Windows 10专业版系统,系统版本为1703。因此个别解决办法可能不完全适用Windows 7系统或者macOS,但是win7和win10步骤差距不大,自己斟酌。如有本文未提及的问题,也请各位同学在本文下面评论区留言,但是因为时间关系,可能会回复的有些慢,本文临时发布,因此只提到校园网的最佳使用方法,或者说是出现问题最少的连接方式。还有本文的操作比较琐碎,请见谅。 须知:本文可以分享,但是务必附上转载链接。 校园网最佳使用方法(2017年11月22日) 先介绍作者使用校园网的方法。就目前为止(17.11.22),校园网正确的使用方法不是Dr.com,也不是开机时弹出的网页的登陆。为什么说这样使用最佳呢,因为设置一次DNS后不需要下次开机重新设置,针对使用IPv6访问谷歌和六维空间的同学,亦是如此。如有同学不同意,欢迎在下面评论区批评指正。下面开始这种方法的使用步骤。(Windows 10系统) 图文教程:宽带连接(即校园网连接)右键底部“任务栏”处的“网络连接”图标,选择“打开网络和共享中心” 进入下图的界面,选择“设置新的连接或网络” 然后在下图选择“连接到Internet”,接着“下一步(N)” 在下图“连接到Internet”界面选择“设置新连接(s)” 接着选择“否,创建新连接(C)”,继续“下一步(N)” 就快好了,再坚持一下。下图中选择“宽带(PPPoE)(R)” 然后就会进入这个界面啦,图片上 用户名:就是你的学号,首字母大写的哦!密码: 你的校园网密码,务必勾选“记住此密码(R)”连接名称: 随意更改(我设置的名称为“校园网”,下面步骤以我设置的“校园网”为主)然后就选择“连接”,等待连接成功就会创建一个适配器的啦~### 设置DNS上面仅仅是设置了网络连接,但是你如果尝试打开直播平台或者百度,可能不能打开,这是什么原因呢?可能的原因之一就是网络连接的DNS没有设置好。下面来解决这个问题。打开上一个步骤设置的校园网连接,右键底部“任务栏”处的“网络连接”图标,选择“打开网络和共享中心” 选择“更改适配器设置” 右键“更改适配器设置”“校园网”,选择“属性”。因为这个名称是随意设置的,所以你的可能和我不同。以我设置的名称“校园网”为准 进入“属性”,选择“网络”选项卡,双击“Internet 协议版本4 (TCP/IPv4)” 然后选择“使用下面的 DNS 服务器地址(E)”,首选DNS必须设置,“首选 DNS 的服务器地址(E)” 推荐设置为114.114.114.114,备选的DNS随意,8.8.8.8的DNS地址是谷歌的。设置完成之后,选择“确定”,所有的窗口都“确定”后关闭。这样你就设置好了 最后一步单击底部“任务栏”处的“网络连接”图标,然后弹出的界面选择“校园网”,“断开连接”然后重新连接 到这就设置完成了,以后开机就单击底部“任务栏”处的“网络连接”图标,然后弹出的界面选择“校园网”,选择“连接”即可。 这个时候你可以打开直播网站测试一下是不是正常打开,而且这样设置可以使用校园网的IPv6网络,这个网络可以打开Google等一部分外国网站,你可以使用谷歌搜索了。]]></content>
<categories>
<category>校园网</category>
</categories>
<tags>
<tag>校园网</tag>
<tag>安徽大学</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Python-数据抓取(三)]]></title>
<url>%2F2017%2F10%2F18%2FPython-%E6%95%B0%E6%8D%AE%E6%8A%93%E5%8F%96%EF%BC%88%E4%B8%89%EF%BC%89%2F</url>
<content type="text"><![CDATA[博主笔记,无任何使用教程。 字典字典使用“键(key)”进行索引,与“键”对应的是“值(value)”,字典是由若干“键值对”组成。可以根据建访问键所对应的值,语法为“字典名[键]”,比如header[“Host”]。12345678910111213Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> header = {... 'Host': 'www.phei.com.cn',... 'User-Agent': 'Mozilla/5.0 (x11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0',... 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',... 'Accept-Language': 'en-US,en;q=0.5',... 'Accept_Encoding': 'gzip, deflate',... 'Connection': 'keep-alive'... }>>> header['Host']'www.phei.com.cn'>>> 也可以使用“{}”定义一个空字典,以后可以增加键值对123456789>>> empty_d={}>>> empty_d{}>>> empty_d['phei'] = 'www.phei.com.cn'>>> empty_d{'phei': 'www.phei.com.cn'}>>> empty_d['phei']'www.phei.com.cn'>>> 如果使用了字典中不存在的键名,就会触发KeyError异常1234>>> empty_d['phie']Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 'phie']]></content>
<categories>
<category>Python</category>
<category>学习笔记</category>
</categories>
<tags>
<tag>Python</tag>
<tag>大数据</tag>
</tags>
</entry>
<entry>
<title><![CDATA[记——深入浅入数据分析]]></title>
<url>%2F2017%2F10%2F16%2F%E8%AE%B0%E2%80%94%E2%80%94%E6%B7%B1%E5%85%A5%E6%B5%85%E5%85%A5%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%2F</url>
<content type="text"><![CDATA[ 本来是要继续写Python数据分析第三部分的,因为下午看的python很有趣,可以拿来做实例玩一玩,但是还是和这本《深入浅出数据分析》,毕竟我已经借了31天的书了,该还了,说不定还有其他人要看,在我这放着也不太好,也希望那位已经超期还没有还《数据挖掘导论》的同学早点把书还了,毕竟文典阁就你这么一本书,,,,,你还老是不还,我关注好久了,你都超了一个星期了,为什么超期后每天只扣一毛,应该超期后第一天扣1毛,然后第2天翻倍,第三天翻倍。。。我就不相信会一直忘记还,大概是扣的不够心疼吧,占用公共资源╰(‵□′)╯ 正文开始 这本书真的是看过为数不多的“图”书了,作者书里几乎每页都有图,而且那骚气的线条,说实话,作者语言真的很有趣味,看着图片你也能更好的读下去,我就这么觉得的。 虽然是有445页内容吧,但是如果你愿意选择一个上午来看的话,一上午就能看完,但是并不能保证书里的思考题你都认真思考了,否则的话,你是看不完的。作者很努力的带你入门数据分析,作为入门的数据分析书来说,这书肯定是优秀的。 《深入浅出数据分析》是美国O’REILLY出版社的“深入浅出”系列之一。这个系列的特点是花了不少心思琢磨如何让读者更舒服地阅读、记住书中更多内容,书虽然都比较厚,但是插图非常多。插图与正文经常混在一起,没有明显的界限。读起来确实比较轻松,相对文字多图少的书来说,也确实更容易记住书中的内容。由于图多字少,读起来很快,也能让人感觉比较有成就感。不过这个系列的书都比较贵,反正我是借的书啦~半天就能赚88+++++++元。 这本书的主要内容我认为是统计学入门。不懂技术但是用过excel的人就可以看。讲了讲统计学的基本概念和贝叶斯统计、直方图、回归、误差等概念,使用了excel和一个专门的统计工具R做演示。作者比较推荐R。因为这个工具在统计学应用方面比excel更灵活。是一个开源软件,还有相关的社区在为这个软件不停的增加功能。 再拖延一天再还吧,反正我已经续借了,因为我还没有把书里的实验做完呢,除去用的excel和R语言部分(因为我没做),这本书最难理解的应该是贝叶斯统计,说起来倒也不难,是理解起来有些混乱,明天再拜读一下。学习人工智能也必须熟练掌握贝叶斯统计,嗯~ o( ̄▽ ̄)o,当然不能随便混过去了。 还有心智模型那部分,我就是不理解什么意思,心智模型?作者解释的也不清楚,然后那一大部分我都没读懂,看完书我总觉得心虚,我看完书了?看完好像全忘记了? emmmmm…我明天再看一遍,在写一点,我才写半小时就写不出来什么了,快到晚七点啦还是去上两小时自习去吧,呆在宿舍很可能只是打游戏············· 正文还没结束,明天继续]]></content>
<categories>
<category>学习笔记</category>
</categories>
<tags>
<tag>数据分析</tag>
<tag>笔记</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Python 数据抓取(三)①]]></title>
<url>%2F2017%2F10%2F13%2FPython-%E6%95%B0%E6%8D%AE%E6%8A%93%E5%8F%96%EF%BC%88%E4%B8%89%EF%BC%89%E2%91%A0%2F</url>
<content type="text"><![CDATA[发布的时候都10月16号了,我13号着手写的,三天啥也没看,那就惩罚自己一个星期把剩下的200页全都看一遍吧ε(┬┬﹏┬┬)3,下面代码会重新发布在《Python 数据抓取(三)》,我以为我的网站只有我自己看,没想到还真有人能搜索到,还联系我,我以为我那篇关于常熟e的教程转载但没有声明来源,来找我麻烦的,,哈哈哈哈哈哈哈哈,我好胆小啊,虽然并没有任何商业性质,但是我找不到来源了,对不住作者了,23333,上课去啦~!( •̀ ω •́ )✧博主笔记,无任何使用教程。 字典字典使用“键(key)”进行索引,与“键”对应的是“值(value)”,字典是由若干“键值对”组成。可以根据建访问键所对应的值,语法为“字典名[键]”,比如header[“Host”]。12345678910111213Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> header = {... 'Host': 'www.phei.com.cn',... 'User-Agent': 'Mozilla/5.0 (x11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0',... 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',... 'Accept-Language': 'en-US,en;q=0.5',... 'Accept_Encoding': 'gzip, deflate',... 'Connection': 'keep-alive'... }>>> header['Host']'www.phei.com.cn'>>> 也可以使用“{}”定义一个空字典,以后可以增加键值对123456789>>> empty_d={}>>> empty_d{}>>> empty_d['phei'] = 'www.phei.com.cn'>>> empty_d{'phei': 'www.phei.com.cn'}>>> empty_d['phei']'www.phei.com.cn'>>> 如果使用了字典中不存在的键名,就会触发KeyError异常1234>>> empty_d['phie']Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 'phie']]></content>
<categories>
<category>Python</category>
<category>学习笔记</category>
</categories>
<tags>
<tag>Python</tag>
<tag>大数据</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Python 数据抓取(二)]]></title>
<url>%2F2017%2F10%2F11%2FPython-%E6%95%B0%E6%8D%AE%E6%8A%93%E5%8F%96%EF%BC%88%E4%BA%8C%EF%BC%89%2F</url>
<content type="text"><![CDATA[博主笔记,无任何使用教程。 文件操作 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#引入requests模块import requests#定义get_content函数def get_content(url): resp = requests.get(url) return resp.textif __name__ == '__main__': #定义url,值为要抓取的目标网站网址 url = "https://www.yoosen.top" #调用函数返回值赋值给content content = get_content(url) #打印输出content的前50个字符 print("前50个字符为:", content[0,50]) #得到content的长度 content_len = len(content) print("内容的长度为:", content_len) #判断内容长度是否大于40KB if content_len >= 40*1024: print("内容的长度大于等于40KB.") else: print("内容的长度小于40KB.") #方式1 #文件的写入 print('-' * 20) print('方式1:','文件写入') #传统文件操作方式:文件名home_page.html,打开模式w,即写入操作,a模式为追加 f1 = open('home_page.html','w',encoding = 'utf8') f1.write(content) f1.close() #文件的读取 print('方式1:','文件读取') f2 = open('home_page.html','r',encoding = 'utf8') content_read = f2.read() print("方式1读取的前50个字符为:", content_read[0:50]) #close在文件对象使用完毕后关闭 f2.close() #方式2 #文件的写入 print('-' * 20) print('方式2:','文件写入') with open('home_page_2.html', 'w', encoding = 'utf8') as f3: f3.write(content) #文件的读取 with open('home_page_2.html', 'r', encoding = 'utf8') as f4: content_read_2 = f4.read() print("方式2读取的前50个字符为:", content_read_2[0:50]) 循环Python支持while和for循环 while循环12345678910>>>x=0>>>while x<5:... print(x, "<5")... x += 1...0 <51 <52 <53 <54 <5 for循环12345678>>> for x in range(0, 5):... print(x, "<5")...0 <51 <52 <53 <54 <5 多重循环12345678910>>> for i in range(0, 3): for j in range(0, 2): print("i=", i, "j=", j)i= 0 j= 0i= 0 j= 1i= 1 j= 0i= 1 j= 1i= 2 j= 0i= 2 j= 1 异常try…except 相关链接:Python 异常处理 python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError 所有的内建标准异常的基类 ArithmeticError 所有数值计算错误的基类 FloatingPointError 浮点计算错误 OverflowError 数值运算超出最大限制 ZeroDivisionError 除(或取模)零 (所有数据类型) AssertionError 断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败 OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError 序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象 (没有属性) UnboundLocalError 访问未初始化的本地变量 ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象 RuntimeError 一般的运行时错误 NotImplementedError 尚未实现的方法 SyntaxError Python 语法错误 IndentationError 缩进错误 TabError Tab 和空格混用 SystemError 一般的解释器系统错误 TypeError 对类型无效的操作 ValueError 传入无效的参数 UnicodeError Unicode 相关的错误 UnicodeDecodeError Unicode 解码时的错误 UnicodeEncodeError Unicode 编码时错误 UnicodeTranslateError Unicode 转换时错误 Warning 警告的基类 DeprecationWarning 关于被弃用的特征的警告 FutureWarning 关于构造将来语义会有改变的警告 OverflowWarning 旧的关于自动提升为长整型(long)的警告 PendingDeprecationWarning 关于特性将会被废弃的警告 RuntimeWarning 可疑的运行时行为(runtime behavior)的警告 SyntaxWarning 可疑的语法的警告 UserWarning 用户代码生成的警告 元组定义元组时使用“,”或“()”12345678>>> t1=1,2,3 #元组的打包(packing),反之为解包(unpacking)>>> t1(1,2,3)>>> t2=(1,2,3)>>> t2(1,2,3)>>> t1=t2True 元组不可变,列表可变1234567>>> t1[0]1>>> t1[0]=4Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment>>> 当某一元素是可变类型时,可以修改该元素12345678>>> t3=(1,2,[3,4])>>> t3[2][1]=5>>> t3(1, 2, [3, 5])>>> t3[2]=[3,5]Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment 列表(1)可使用“[]”定义列表,列表元素从0开始,越界出现错误,len可以获得列表长度123456789101112>>> l1=[1, 2, 3, 'abc']>>> l1[0]1>>> l1[3]'abc'>>> l1[4]Traceback (most recent call last): File "<stdin>", line 1, in <module>IndexError: list index out of range>>> len(l1)4>>> (2)支持索引(l1[1:3])和切片(3)列表元素可变,可利用索引修改元素12345678>>> l1[1, 2, 3, 'abc']>>> l1[2]3>>> l1[2]=5>>> l1[1, 2, 5, 'abc']>>> (4)append 向列表末尾追加新元素 extend 向末尾追加序列(元组或列表)1234567891011121314151617181920212223>>> l1[1, 2, 5, 'abc']>>> l1.append('def')>>> l1[1, 2, 5, 'abc', 'def']>>> l1.append(['def'])>>> l1[1, 2, 5, 'abc', 'def', ['def']]>>> l1.append(['def',''456']) File "<stdin>", line 1 l1.append(['def',''456']) ^SyntaxError: invalid syntax>>> l1.append(['def','456'])>>> l1[1, 2, 5, 'abc', 'def', ['def'], ['def', '456']]>>> l1.extend('dgj','789')Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: extend() takes exactly one argument (2 given)>>> l1.extend(['ghj','789'])>>> l1[1, 2, 5, 'abc', 'def', ['def'], ['def', '456'], 'ghj', '789'] (5)列表支持instert、remove、pop等方法操作12345678910111213141516171819202122232425262728293031Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> l2=['a','b','c']#指定位置插入一个元素,该索引位置原先元素和其后元素都会响应向后地索引值加1#索引超出边界,则取最右端后面或最左端元素前面插入>>> l2.insert(1,'x')>>> l2['a', 'x', 'b', 'c']>>> l2.insert(1,'b')>>> l2['a', 'b', 'x', 'b', 'c']#若传递给remove的元素列表有重复,则删除第一个>>> l2.remove('b')>>> l2['a', 'x', 'b', 'c']#pop从列表中弹出一个元素,默认弹出末尾元素>>> p1=l2.pop()>>> p1'c'>>> l2['a', 'x', 'b']>>> p2=l2.pop(1)>>> p2'x'>>> l2['a', 'b']#del删除指定位置元素>>> del l2[1]>>> l2['a']>>> (6)列表排序有sort(),或sorted12345678910>>> l3=[2,1,5,7]>>> l3[2, 1, 5, 7]>>> l3.sort()#默认升序>>> l3[1, 2, 5, 7]>>> l3.sort(reverse=True)#向sort传入reverse=True会按逆序排序>>> l3[7, 5, 2, 1]>>> 除reverse外,sort还有key参数123456789101112>>> x=['hello','abc','1234']>>> x.sort()>>> x['1234', 'abc', 'hello']>>> x.sort(key=len)>>> x['abc', '1234', 'hello']>>> x=['hello','abc','1234']>>> x.sort(key=lambda elem:len(elem))>>> x['abc', '1234', 'hello']>>> key = lambda elem:len(elem)其中,lambda elem:len(elem)就是lambda算子。它表示一个函数。这个函数接受一个参数,参数名为elem。参数名可以是符合命名规则的任意名称。冒号后面是函数体,表示函数执行的动作。其含义是在进行列表元素的比较时,比较的依据是将各元素分别传入key代表的lambda算子,然后根据算子的执行结果作为比较的依据。这与key=len的效果是一样的。 (7)列表推导1234>>> l = [x for x in range(1,101) if x%2==0]>>> l[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]>>> 未完待续。。。]]></content>
<categories>
<category>Python</category>
<category>学习笔记</category>
</categories>
<tags>
<tag>Python</tag>
<tag>大数据</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Python 数据抓取(一)]]></title>
<url>%2F2017%2F10%2F10%2FPython-%E6%95%B0%E6%8D%AE%E6%8A%93%E5%8F%96%EF%BC%88%E4%B8%80%EF%BC%89%2F</url>
<content type="text"><![CDATA[博主笔记,无任何使用教程。 第一个实例需先安装requests模块 代码实例功能:获得yoosen.top首页内容代码包含模块引入、函数的定义和使用、缩进风格、字符串的使用及简单的分支判断结构 12345678910111213141516171819202122232425#引入requests模块import requests#定义get_content函数def get_content(url): resp = requests.get(url) return resp.text#定义url,值为要抓取的目标网站网址url = "https://www.yoosen.top"#调用函数返回值赋值给contentcontent = get_content(url)#打印输出content的前50个字符print("前50个字符为:", content[0,50])#得到content的长度content_len = len(content)print("内容的长度为:", content_len)#判断内容长度是否大于40KBif content_len >= 40*1024: print("内容的长度大于等于40KB.")else: print("内容的长度小于40KB.") 注释方法 单行注释: “#”开头 多行注释: ‘’’…’’’(成对三单引号)和”””…”””(成对三双引号) 模块和包模块(Module)不带.py后缀包(Package)可认为是若干模块集合,用import引入包或模块 函数和方法123def 函数名(函数1,函数2,函数3,......): 函数体 return 返回值 eg.1234def get_content(url): resp = requests.get(url) #requestes支持get方法和post方法 return resp.text #text为resp的属性,得到响应的文本信息 对于class,类还不太明白 缩进风格与大多数变成语言不同,Python采用缩进方式表示逻辑层次,而不是用“{ }”括起来的形式。 字符串12345url = "https://www.yoosen.top"#等同于下面一句url = 'https://www.yoosen.top'#单引号双引号可以互相包含,比如下一句。"abc\"123\"" == 'abc"123"' 切片截取s的一段子字符串:12s[开始索引:终止索引]#开始索引和终止索引-1分别指截取的子字符串左右端字符串中的索引值。 1234s[:终止索引]#从最左端字符截取,直至终止索引-1为索引值的最右端字符s[开始索引:]#从开始,直至s最后一个字符s[:]s[开始索引:终止索引:步长]#从开始索引只想的字符开始以补偿为间隔进行选取 字符串支持“+”操作和“*”+ 连接; * 重复 格式化Python支持%和format %1234>>> print("内容是%s" %"abc")内容是abc>>> print("内容是%s,长度是%d" %("abc",len("abc"))内容是abc,长度是3 format12345678910>>> print("内容是{},长度是{}".format("abc",len("abc"))内容是abc,长度是3>>> print("内容是{0},长度是{1}".format("abc",len("abc"))内容是abc,长度是3>>> print("内容是{1},长度是{0}".format("abc",len("abc"))内容是3,长度是abc>>> print("内容是{1},长度是{1}".format("abc",len("abc"))内容是3,长度是3>>> print("内容是{c},长度是{l}".format(c = "abc",l = len("abc"))内容是abc,长度是3 控制结构12345#判断内容长度是否大于40KBif content_len >= 40*1024: print("内容的长度大于等于40KB.")else: print("内容的长度小于40KB.") 123456789if 表达式1: 语句1elif 表达式2: 语句2elif 表达式3: 语句3...else: 语句n if __name__ == ‘__main__‘:第一个程序中“if __name__ == ‘__main__‘:”语句后正常执行,当其他程序import第一个程序中的函数时,不会执行第一个程序“if __name__ == ‘__main__‘:”后面的语句,避免了其他程序重复执行第一个程序的所有代码,实现按需取需要的部分。注意:__name__前后均为两个“_”,main前后同理]]></content>
<categories>
<category>Python</category>
<category>学习笔记</category>
</categories>
<tags>
<tag>Python</tag>
<tag>大数据</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Git学习笔记]]></title>
<url>%2F2017%2F10%2F09%2FGit%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%2F</url>
<content type="text"><![CDATA[Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。 简单来说,Git是一个管理代码的历史记录的工具。这是一篇Git命令备忘录,找Git教程的请出门左拐 GithubGithub是一个怎样的存在————————是一个网上真人约会场所具体的Git安装和注册Github账号的过程可以参考菜鸟教程 Git配置添加SSH12345$ ssh-keygen -t rsa -C "your_email@youremail.com" //在本地创建ssh key,email地址为在Github上注册的邮箱//在C盘的用户目录下找到.ssh(可能被隐藏)里面的id_rsa.pub//将id_rsa.pub里的东西全部拷过去即可$ ssh -T git@github.com //验证是否成功 设置username和emailgithub每次commit都会记录他们12$ git config --global user.name "your name"$ git config --global user.email "your_email@youremail.com" Git项目建立方式一:12345678/首先在Github新建一个空仓库---必须是空仓库/$ git init //初始化一个Git仓库$ git remote add origin git@github.com:Magicwangs/Local.git //添加默认远端为Local.git/*接下来直接把你想要添加到你库里的东西拖进仓库目录下*/$ git add -A //把所有的文件更新到仓库中$ git commit -m "代码提交信息" //说明你这次修改了什么$ git push origin master //添加到origin的master分支 方式二:12345678/*从别人那里Fork或者本来在自己的仓库就有代码的*/$ git clone git@github.com:Magicwangs/chenguanfu511.git//直接git clone过来即可,但默认只添加master分支$ git branch -a //查看隐藏分支//可以在本地新建同名分支,再pull下来,或者一步到位$ git checkout -b test origin/test//或者$ git checkout -t origin/test 更新远端修改和合并1234$ git pull origin master //将origin远端的master分支内容更新到本地$ git merge test //将test分支和master合并——用test代替当前分支 所以一般master为最终发行版本,在test分支修改好后再合并 Git分支12345678910$ git branch //查看当前有哪些分支$ git branch fir //新建一个分支fir$ git checkout -b test//新建并切换到test分支,里面的内容就是新建时所在分支的内容$ git checkout master //切换回master分支$ ls //查看当前分支的内容$ git branch test //删除本地test分支$ git push origin :test //删除远程库的test分支$ git push -u origin test//在远端新建一个test分支,并把更新推送上去 版本回退1234$ git log //查看commit提交历史$ git log --pretty=oneline //能看到commit id$ git reset --hard a8d4349 //切换到当前分支以前的状态,a8d4349为commit id前7位 如何管理Git分支?两个主要分支 master:主分支,强调稳定性 develop:开发分支,各种最新功能(feature)和最新的bug修复(hotfix)都会合并进develop。稳定的新功能应该都要合并到develop分支 三个支援分支 feature:功能分支用于开发新功能,从develop中分支出来,完成后merge回develop release:当在某个节点完成feature开发时,需要对feature进行测试与发布时候,可以新建一个release分支,release分支可以对应测试环境,不应该在release分支上进行新功能开发,release分支仅仅应该进行功能验证与bug修复。release分支发布时,要双向merge到develop和master。 hotfix:紧急修复分支,当develop或者master发现bug时,可以通过新建hotfix分支,来修复bug,修复后双向merge到develop和mastergit flow指令1234567$ git flow init //在一个git中初始化,会提示命名惯例,一直回车即可,会帮你新建develop分支$ git flow feature start picture //从develop中新建feature分支$ git flow feature finish picture //结束该分支,自动merge回develop分支,并删除该分支$ git flow feature publish picture //将一个feature分支推送到远端$ git flow feature pull picture2 //将别人上传的feature分支pull下来//其他的也差不多 git-flow 备忘清单 参考资料 廖雪峰的Git教程 Git 参考手册 how-to-use-github Github 简明教程 Git-简明指南]]></content>
<categories>
<category>学习笔记</category>
</categories>
<tags>
<tag>Git</tag>
<tag>学习笔记</tag>
</tags>
</entry>
<entry>
<title><![CDATA[博客日志]]></title>
<url>%2F2017%2F10%2F08%2F%E5%8D%9A%E5%AE%A2%E6%97%A5%E5%BF%97%2F</url>
<content type="text"><![CDATA[2017年11月18日 添加无聊的页面“动画模仿” 2017年10月16日 删除关于界面twitter链接 2017年10月9日 更改标签界面随机大小和颜色 2017年10月8日 添加作者版权信息修改菜单栏“归档”和“关于”的图标百度和谷歌sitemap,谷歌、百度均可检索到博客文章(百度收录太慢) 2017年10月7日 修改社交链接的居中显示取消动态磁性线条,更改为彩色随机条个人联系方式取消Facebook和微博显示社交链接以Telegram和QQ代替邮箱以及微博取消显示已运行时间添加知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议为方便阅读,取消透明背景,恢复白色背景修改文章目录链接颜色显示修改首页文章之间间距,分割线长度更改为70%]]></content>
<categories>
<category>hexo</category>
</categories>
<tags>
<tag>hexo</tag>
</tags>
</entry>
<entry>
<title><![CDATA[百度云不限速]]></title>
<url>%2F2017%2F10%2F05%2F%E7%99%BE%E5%BA%A6%E4%BA%91%E4%B8%8D%E9%99%90%E9%80%9F%2F</url>
<content type="text"><![CDATA[度盘下载器2017.9.17更新-最新版本:2.0.6; 解压后,免安装打开主程序即可使用。登录时,将登录窗口拖拽到合适大小,方便登录和查看登录提示信息。(我的电脑win10专业版打不开这个程序,以下截图来源网络) 度盘下载器登录页面登录后的界面如图所示:度盘下载器下载9.13测试下载速度软件完全免费,勿做商业用途,后果自负。 下载链接: https://pan.baidu.com/s/1o7Nf6BK 密码: 6666 PanDownload2017.9.16更新-最新版本:1.4.3;注:增加了分享下载和打包下载的功能,如果在自己网盘下载速度变慢,可以试试新增功能,操作方法见gif演示。 下载后,解压打开主程序,登录即可下载,使用方便,下载速度很快! 6.27测试下载速度1.4.3版本说明:下载速度跟资源有关,一些速度比较慢的资源可以尝试以下方法: ① 增加连接数 默认使用16连接,在设置里可以修改,最大32连接(通过修改aria2配置可设置更大) ② 分享下载 分享需要下载的文件 -> 打开分享链接 -> 下载 (文件数量尽量控制在10个以内,太多的话容易出验证码) 分享下载 ③ 打包下载选中文件夹或多个文件 -> 提取链接 -> 复制下载链接到迅雷等下载器进行下载 (单个文件提取到的链接速度慢) 打包下载几个常见的问题:1、登录时提示“登录失败,请在弹出的窗口操作,或重新登录”帐号需要登录验证,窗口太小看不到填写验证信息的地方,拉大登录窗口或最大化登录窗口即可;2、登录页面显示有问题由于IE的版本太低导致网页显示不正常,请尝试升级到IE8及以上版本;3、下载大文件没有速度文件越大,需要等待更长的时间才会开始下载。可以看下任务管理器有没有一个名字是aria2c_pan.exe且很吃硬盘的进程,如果有,等待一段时间就会开始下载了;4、下载文件出错文件或文件夹的名字含有特殊字符,重命名后下载。 关于报毒,软件作者提供的查杀链接:https://habo.qq.com/file/showdetail?pk=ADAGY11qB24IPFs%2F 下载链接: https://pan.baidu.com/s/1hsksqJq 密码: 2333]]></content>
<categories>
<category>软件使用</category>
</categories>
<tags>
<tag>百度云</tag>
<tag>不限速</tag>
</tags>
</entry>
<entry>
<title><![CDATA[常数e的含义]]></title>
<url>%2F2017%2F09%2F29%2F%E5%B8%B8%E6%95%B0e%E7%9A%84%E5%90%AB%E4%B9%89%2F</url>
<content type="text"><![CDATA[1.e是一个重要的常数,但是我一直不知道,它的真正含义是什么。它不像π。大家都知道,π代表了圆的周长与直径之比3.14159,可是如果我问你,e代表了什么。你能回答吗?维基百科说: “e是自然对数的底数。” 但是,你去看“自然对数”,得到的解释却是: “自然对数是以e为底的对数函数,e是一个无理数,约等于2.718281828。” 这就构成了循环定义,完全没有说e是什么。数学家选择这样一个无理数作为底数,还号称这种对数很”自然”,这难道不是很奇怪的事情吗? 2.昨天我读到一篇好文章,它把这个问题解释得非常清楚,而且一看就懂。它说,什么是e?简单说,e就是增长的极限。下面就是它的解释。3.假定有一种单细胞生物,它每过24小时分裂一次。那么很显然,这种生物的数量,每天都会翻一倍。今天是1个,明天就是2个,后天就是4个。可以写出一个增长数量的公式: $$growth=2^x$$上式中的x就表示天数。这种生物在x天的总数,就是2的x次方。这个式子可以被改成下面这样: $$growth=(1+100\%)^x$$其中,1表示原有数量,100%表示单位时间内的增长率。4.继续假定:每过12个小时,也就是分裂进行到一半的时候,新产生的那半个细胞已经可以再次分裂了。因此,一天24个小时可以分成两个阶段,每一个阶段都在前一个阶段的基础上增长50%。 $$growth=(1+\frac{100\%}{2})^2=2.25$$当这一天结束的时候,一共得到了2.25个细胞。其中,1个是原有的,1个是新生的,另外的0.25个是新生细胞分裂到一半的。如果我们继续修改假设,这种细胞每过8小时就具备独立分裂的能力,也就是将1天分成3个阶段。 $$growth=(1+\frac{100\%}{3})^3=2.37037…$$那么,最后就可以得到大约2.37个细胞。很自然地,如果我们进一步设想,这种分裂是连续不断进行的,新生细胞每分每秒都具备继续分裂的能力,那么一天最多可以得到多少个细胞呢? $$growth=(1+\frac{100\%}{n})^n=?$$当n趋向无限时,这个式子的极值等于2.718281828…。 $$[\lim_{x \to ∞} (1+\frac{100\%}{n})^n=2.718281828…]$$因此,当增长率为100%保持不变时,在单位时间内最多只能得到2.71828个细胞。数学家把这个数就称为e,它的含义是单位时间内,持续的翻倍增长所能达到的极限值。这个值是自然增长的极限,因此以e为底的对数,就叫做自然对数。5.有了这个值以后,计算银行的复利就非常容易。假定有一家银行,每年的复利是100%,请问存入100元,一年后可以拿多少钱?$$[\lim_{x \to ∞} 100(1+\frac{100\%}{n})^n=100e=271.8281828…]$$回答就是271.828元,等于100个e。但是,实际生活中,银行的利息没有这么高,如果利息率只有5%,那么100元存一年可以拿到多少钱呢?$$[\lim_{x \to ∞} 100(1+\frac{5\%}{n})^n=?]$$为了便于思考,我们取n等于50:$$[\lim_{x \to ∞} 100(1+\frac{5\%}{50})^{50}=100(1+0.1\%)^{50}]$$我们知道,在100%利息率的情况下,n=1000所得到的值非常接近e:$$[\lim_{x \to ∞} (1+\frac{100\%}{1000})^{1000}=(1+0.1\%)^{1000}≈e]$$因此,5%利息率就相当于e的20分之一次方:$$(1+\frac{5\%}{50})^{50}={(1+\frac{100\%}{1000})^{1000}}^{\frac{1}{20}}$$20分之一正好等于5%的利率率,所以我们可以把公式改写成:$$growth=e^{rate}$$上式的rate就代表增长率。这说明e可以用于任何增长率的计算,前提是它必须是持续不断的复合式增长。6.再考虑时间因素,如果把钱在银行里存2年,可以得到多少钱?$$growth=(e^r)^2=e^{2r}$$在时间t的情况下,通用公式就是:$$growth=(e^r)^t=e^{r*t}=e^{rt}$$上式就是计算增长量的万能公式,可以适用于任何时间、任何增长率。7.回到上面的例子,如果银行的利息率是5%的复利,请问100元存款翻倍需要多少时间?$$100*e^{5\%t}=200$$计算结果是13.86年:$$t=\frac{In2}{5\%}=\frac{0.693}{5\%}=\frac{69.3}{5}≈\frac{72}{5}$$上式最后一个等号,表明用72除以增长率,可以得到翻倍的大致时间,这就是72法则的来源。]]></content>
<categories>
<category>算法</category>
</categories>
<tags>
<tag>算法</tag>
<tag>数学</tag>
</tags>
</entry>
<entry>
<title><![CDATA[人工智能]]></title>
<url>%2F2017%2F09%2F27%2F%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%2F</url>
<content type="text"><![CDATA[AI人工智能顶级实战工程师 就业课程 课程大纲 手机看会扎瞎眼 课程名称 内容 阶段一、人工智能基础 — 高等数学必知必会 1.数据分析 a. 常数eb. 导数c. 梯度d. Taylore. gini系数f. 信息熵与组合数g. 梯度下降h. 牛顿法 2.概率论 a. 微积分与逼近论b. 极限、微分、积分基本概念c. 利用逼近的思想理解微分,利用积分的方式理解概率d. 概率论基础e. 古典模型f. 常见概率分布g. 大数定理和中心极限定理h. 协方差(矩阵)和相关系数i. 最大似然估计和最大后验估计 3.线性代数及矩阵 a. 线性空间及线性变换b. 矩阵的基本概念c. 状态转移矩阵d. 特征向量e. 矩阵的相关乘法f. 矩阵的QR分解g. 对称矩阵、正交矩阵、正定矩阵h. 矩阵的SVD分解i. 矩阵的求导j. 矩阵映射/投影 4. 凸优化 a. 凸优化基本概念b. 凸集c. 凸函数d. 凸优化问题标准形式e. 凸优化之Lagerange对偶化f. 凸优化之牛顿法、梯度下降法求解 阶段二、人工智能提升 — Python高级应用 1. 容器 a. 列表:listb. 元组:tuplec. 字典: dictd. 数组: Arraye. 切片f. 列表推导式g. 浅拷贝和深拷贝 2. 函数 a. lambda表达式b. 递归函数及尾递归优化c. 常用内置函数/高阶函数d. 项目案例:约瑟夫环问题 3. 常用库 a. 时间库b. 并发库c. 科学计算库d. Matplotlib可视化绘图库e. 锁和线程f. 多线程编程 阶段三、人工智能提升 — Python项目 项目一:职位画像 使用python爬虫scrapy框架,对于智联招聘职位进行抓取,处理下一页机制,抓取职位名称、公司名称、公司地点等职位数据,并将数据通过Pipeline管道对数据进行数据去重,数据清洗,数据转换,数据存储。数据存储在Mysql数据库中,并将数据数值化,形成多表关联,后期使用Echarts可视化前端图表,完成数据炫酷展示。 项目二:豆瓣TOP250抓取 抓取豆瓣电影TOP250,得到电影名、电影介绍、评分、评论人数、经典的话等信息,后期为了防止爬虫被豆瓣Ban掉,增加了一些随机延迟、伪装浏览器请求头,浏览器代理等,最终数据存储在Mongodb。 阶段四、人工智能实用 — 机器学习算法 1.机器学习概述 机器学习概述 2. 特征工程 a. 特征抽取b. 特征转换c. 特征选择d. 降维f. NLP特征工程 3.回归算法 a. Linear Regression算法b. Lasso Regression算法c. Ridge Regression/Classifier算法d. Elastic Net算法e. Logistic算法f. K-邻近算法(KNN) 4.决策树、随机森林和提升算法 a. 决策树算法: ID3、C4.5、CARTb. 决策树优化c. Bagging和Boosting算法d. 随机森林e. Adaboost算法f. GBDT算法g. XGBoosth. LightGBM 5.SVM a. 线性可分支持向量机b. 核函数理解c. SMO算法d. SVM回归SVR和分类SVC 6.聚类算法 a. 各种相似度度量介绍及相关关系b. K-means算法c. K-means算法优缺点及变种算法d. 密度聚类e. 层级聚类f. 谱聚类 7.EM算法 a. 最大似然估计b. EM算法原理讲解c. 多元高斯分布的EM实现d. 主题模型pLSA及EM算法 8.贝叶斯算法 a. 朴素贝叶斯b. 条件概率表达形式c. 贝叶斯网络的表达形式 9.隐马尔科夫模型 a. 概率计算问题b. 前向/后向算法c. HMM的参数学习d. 高斯混合模型HMM 10.LDA主题模型 a. LDA主题模型概述b. 共轭先验分布c. Dirichlet分布d. Laplace平滑e. Gibbs采样详解f. LDA与word2Vec效果比较 阶段五、人工智能实用 — 机器学习项目 项目一:百度音乐系统文件分类 音乐推荐系统就是利用音乐网站上的音乐信息,向用户提供音乐信息或者建议,帮助用户决定应该听什么歌曲。而个人化推荐则是基于音乐信息及用户的兴趣特征、听歌历史行为,向用户推荐用户可能会感兴趣的音乐或者歌手。推荐算法主要分为以下几种:基于内容的推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐等;推荐系统常用于各个互联网行业中,比如音乐、电商、旅游、金融等。 项目二:千万级P2P金融系统反欺诈模型训练 目前比较火的互联网金融领域,实质是小额信贷,小额信贷风险管理,本质上是事前对风险的主动把控,尽可能预测和防范可能出现的风险。本项目应用GBDT、Randomforest等机器学习算法做信贷反欺诈模型,通过数据挖掘技术,机器学习模型对用户进行模型化综合度量,确定一个合理的风险范围,使风险和盈利达到一个平衡的状态。 阶段六、人工智能提升 — 深度学习 1. Tensorflow基本应用 a. Tensorflow安装b. Tensorflow基本概念c. Tensorflow基本函数d. Tensorflow执行流程e. Tensorflow之上的工具库:Kerasf. 项目案例:基于Tensorflow实现回归算法 2. 深度学习概述 深度学习是实现机器学习的技术,同时深度学习也带来了机器学习的许多实际应用,拓展了AI的使用领域,本阶段主要从TensorFlow、深度学习概述、感知器神经网络、BP神经网络、RBF径向基神经网络、CNN卷积神经网络、RNN循环神经网、等方面讲解深度学习相关算法以及深度学习框架的使用。 3. 感知器神经网络 4. BP神经网络 5. RBF径向基神经网络 6. 卷积神经网络(CNN) 7. 循环神经网络(RNN) 8. 生成对抗网络(GAN、WGAN、EBGAN、DCGAN等) 阶段七、人工智能提升 — 推荐算法及数据挖掘 1.推荐算法概述2.推荐算法算法理论介绍(协同过滤、基于内存的推荐、基于知识的推荐等)3.数据挖掘相关算法(关联规则、Aprior算法)4.项目案例:百度云音乐推荐、隐因子模型推荐系统开发 随着现代电商的深入人心,基于用户行为(浏览、收藏、购物)分析尤为重要。而数据挖掘就是识别出巨量数据中有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。本阶段主要从基于内容的推荐、协同过滤、SVD、基于知识的推荐以及混合推荐算法等讲解,并结合音乐推荐、隐因子模型推荐等项目让大家有更深入的学习了解。 阶段八、人工智能终极实战 — 项目应用 项目一:公安系统人脸识别、图像识别 使用深度学习框架从零开始完成人脸检测的核心技术图像类别识别的操作,从数据预处理开始一步步构建网络模型并展开分析与评估,方便大家快速动手进行项目实践!识别上千种人靓,返回层次化结构的每个人的标签。 项目二:公安系统图像检索 本项目基于卷积神经网在训练过程中学习出对应的『二值检索向量』,对全部图先做了一个分桶操作,每次检索的时候只取本桶和临近桶的图片作比对,而不是在全域做比对,使用这样的方式提高检索速度,使用Tensorflow框架建立基于ImageNet的卷积神经网络,并完成模型训练以及验证。 项目三:今日头条CTR广告点击量预估 点击率预估是广告技术的核心算法之一,它是很多广告算法工程师喜爱的战场。广告的价值就在于宣传效果,点击率是其中最直接的考核方式之一,点击率越大,证明广告的潜在客户越多,价值就越大,因此才会出现了刷点击率的工具和技术。通过对于点击量的评估,完成对于潜在用户的价值挖掘。 项目四:序列分析系统 时间序列分析(Time Series Analysis)是一种动态数据处理的统计方法,主要基于随机过程理论和数理统计方法,研究随机数据序列所遵从的统计规律以便用于解决实际问题。主要包括自相关分析等一般的统计分析方法,构建模型从而进行业务推断。经典的统计分析是假定数据序列具有独立性,而时间序列分析则侧重于研究数据样本序列之间的依赖关系。时间序列预测一般反应了三种实际变化规律:趋势变化、周期性变化和随机性变化。时间序列预测常应用于国民经济宏观控制、企业经营管理、市场潜力量预测、天气预报、水文预报等方面,是应用于金融行业的一种核心算法之一。 项目五:京东聊天机器人/智能客服 聊天机器人/智能客服是一个用来模拟人类对话或者聊天的一个系统,利用深度学习和机器学习等NLP相关算法构建出问题和答案之间的匹配模型,然后可以将其应用到客服等需要在线服务的行业领域中,聊天机器人可以降低公司客服成本,还能够提高客户的体验友好性。在一个完整的聊天机器人实现过程中,主要包含了一些核心技术,包括但不限于:爬虫技术、机器学习算法、深度学习算法、NLP领域相关算法。通过实现一个聊天机器人可以帮助我们队AI整体知识的一个掌握。 项目六:机器人写诗歌 机器人写诗歌/小说是一种基于NLP自然语言相关技术的一种应用,在实现过程中可以基于机器学习相关算法或者深度学习相关算法来进行小说/诗歌构建过程。人工智能的一个终极目标就是让机器人能够像人类一样理解文字,并运用文字进行创作,而这个目标大致上主要分为两个部分,也就是自然语言理解和自然语言生成,其中现阶段的主要自然语言生成的运用,自然语言生成主要有两种不同的方式,分别为基于规则和基于统计,基于规则是指首先了解词性及语法等规则,再依据这样的规则写出文章;而基于统计的本质是根据先前的字句和统计的结果,进而判断下一个子的生成,例如马尔科夫模型就是一种常用的基于统计的方法。 项目七:机器翻译系统 机器翻译又称自动翻译,是指利用计算机将一种自然语言转换为另外一种自然语言的过程,机器翻译是人工智能的终极目标之一,具有很高的研究价值,同时机器翻译也具有比较重要的实用价值,机器翻译技术在促进政治、经济、文化交流等方面起到了越来越重要的作用;机器翻译主要分为以下三个过程:原文分析、原文译文转换和译文生成;机器翻译的方式有很多种,但是随着深度学习研究取得比较大的进展,基于人工网络的机器翻译也逐渐兴起,特别是基于长短时记忆(LSTM)的循环神经网络(RDD)的应用,为机器翻译添了一把火。 项目八:垃圾邮件过滤系统 邮件主要可以分为有效邮件和垃圾邮件两大类,有效邮件指的邮件接收者有意义的邮件,而垃圾邮件转指那些没有任何意义的邮件,其内容主要包含赚钱信息、成人广告、商业或者个人网站广告、电子杂志等,其中垃圾邮件又可以发为良性垃圾邮件和恶性垃圾邮件,良性垃圾邮件指的就是对收件人影响不大的信息邮件,而恶性垃圾邮件指具有破坏性的电子邮件,比如包含病毒、木马等恶意程序的邮件。垃圾邮件过滤主要使用使用机器学习、深度学习等相关算法,比如贝叶斯算法、CNN等,识别出所接收到的邮件中那些是垃圾邮件。 项目九:手工数字识别 人认知世界的开始就是从认识数字开始的,深度学习也一样,数字识别是深度学习的一个很好的切入口,是一个非常经典的原型问题,通过对手写数字识别功能的实现,可以帮助我们后续对神经网络的理解和应用。选取手写数字识别的主要原因是手写数字具有一定的挑战性,要求对编程能力及神经网络思维能力有一定的要求,但同时手写数字问题的复杂度不高,不需要大量的运算,而且手写数字也可以作为其它技术的一个基础,所以以手写数字识别为基础,贯穿始终,从而理解深度学习相关的应用知识。 项目十:癌症筛选检测 技术可以改变癌症患者的命运吗,对于患有乳腺癌患者来说,复发还是痊愈影响这患者的生命,那么怎么来预测患者的患病结果呢,机器学习算法可以帮助我们解决这一难题,本项目应用机器学习logistic回归模型,来预测乳腺癌患者复发还是正常,有效的预测出医学难题。 项目十一:葡萄酒质量检测系统 随着信息科技的快速发展,计算机中的经典算法在葡萄酒产业中得到了广泛的研究与应用。其中机器学习算法的特点是运用了人工智能技术,在大量的样本集训练和学习后可以自动地找出运算所需要的参数和模型。 项目十二:淘宝网购物篮分析推荐算法 购物篮分析(Market Basket Analysis)即非常有名的啤酒尿布故事的一个反应,是通过对购物篮中的商品信息进行分析研究,得出顾客的购买行为,主要目的是找出什么样的物品会经常出现在一起,也就是那些商品之间是有很大的关联性的。通过购物篮分析挖掘出来的信息可以用于指导交叉销售、追加销售、商品促销、顾客忠诚度管理、库存管理和折扣计划等业务;购物篮分析的最常用应用场景是电商行业,但除此之外,该算法还被应用于信用卡商城、电信与金融服务业、保险业以及医疗行业等。 项目十三:手工实现梯度下降回归算法 梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。 项目十四:基于TensorFlow实现回归算法 回归算法是业界比较常用的一种机器学习算法,通过应用于各种不同的业务场景,是一种成熟而稳定的算法种类;TensorFlow是一种常用于深度学习相关领域的算法工具;随着深度学习热度的高涨,TensorFlow的使用也会越来越多,从而使用TensorFlow来实现一个不存在的算法,会加深对TensorFlow的理解和使用;基于TensorFlow的回归算法的实现有助于后续的TensorFlow框架的理解和应用,并可以促进深度学习相关知识的掌握。 阶段九、人工智能实战 — 分布式搜索引擎开发 1.课程介绍2.初识ElasticSearch3.ES安装部署4.插件安装Head5.插件安装ik6.ES中文搜索演示7.Marvel和Kibana安装8.ES一些相关概念9.ES请求格式和返回10.ES索引操作11.ES的文档新增和修改12.ES查询演示13.ES查询补充和删除14.多索引和多类别15.分页和routing介绍16.ES工作流程17.Java客户端和创建连接18.Index操作19.数据的增、删、改20.数据的查询21.spring环境集成22.spring篇操作index23.Spring操作CRUD0124.Spring操作CRUD0225.常见索引操作26.索引的Mapping操作27.mapping引入0128.mapping引入0229.mapping之properties根对象30.mapping数据类型之string类型31.mapping其他基本数据类型32.mapping数据类型之Object类型33.mapping元数据和动态映射34.mapping动态模板35.倒排索引概念36.ES的动态索引原理37.ES动态索引的问题和解决原理38.初识DSL39.DSL高级特性40.结构化查询之基本查询41.结构化查询之复合查询42.全文检索第一讲43.全文检索第二讲44.嵌套类型查询45.嵌套类型查询46.DSL之Java操作47.全文检索之Java操作48.聚合查询之Java操作49.DSL之Spring操作50.高级检索之Spring操作51.ES项目引用和热搜词功能实现52.实现思路介绍以及简要实现 联网+、大数据、网络爬虫、搜索引擎等等这些概念,如今可谓炙手可热,本课程就是以公司项目经验为基础,为大家带来市面上比较流行的分布式搜索引擎之一的ElasicSearch,深入浅出的带领大家了解并掌握该技术的综合应用,从而为大家添加一份竞争的资本。 本课程旨在带领大家进入搜索引擎领域,从无到有,深入浅出的讲解了什么是搜索引擎,搜索引擎的作用以及ElasticSearch在实际工作中的作用等。 阶段十、人工智能实战 — 企业项目实战 1.基于Python数据分析与机器学习案例实战教程 1.Python数据分析与机器学习实战课程简介2.Python快速入门3.Python科学计算库Numpy4.Python数据分析处理库Pandas5.Python可视化库Matplotlib6.回归算法7.模型评估8.K近邻算法9.决策树与随机森林算法10.支持向量机 11.贝叶斯算法12.神经网络13.Adaboost算法14.SVD与推荐15.聚类算法16.案例实战:使用Python库分析处理Kobe Bryan职业生涯数据17.案例实战:信用卡欺诈行为检测18.案例实战:泰坦尼克号获救预测19.案例实战:鸢尾花数据集分析20.案例实战:级联结构的机器学习模型21.案例实战:员工离职预测22.案例实战:使用神经网络进行手写字体识别23.案例实战:主成分分析24.案例实战:基于NLP的股价预测 25.案例实战:借贷公司数据分析 2.人工智能与深度学习实战 1.深度学习概述与挑战2.图像分类基本原理门3.深度学习必备基础知识点4.神经网络反向传播原理5.神经网络整体架构6.神经网络案例实战图像分类任务7.卷积神经网络基本原理8.卷积参数详解9.卷积神经网络案例实战10.经典网络架构分析 11.分类与回归任务12.三代物体检测算法分析13.数据增强策略14.TransferLearning15.网络架构设计16.深度学习框架Caffe网络结构配置17.Caffe18.深度学习项目实战人脸检测19.人脸正负样本数据源制作20.人脸检测网络架构配置习模型21.人脸检测代码实战22.人脸关键点定位项目实战23.人脸关键点定位网络模型24.人脸关键点定位构建级联网络25.人脸关键点定位测试效果与分析 26.Tensorflow框架实战27.Tensorflow构建回归模型28.Tensorflow构建神经网络模型29.Tensorflow深度学习模型30.Tensorflow打造RNN网络模型31.Tensorflow项目实战验证识别32.项目实战图像风格转换33.QLearning算法原理34.DQN网络架构35.项目实战DQN网络让AI自己玩游戏36.项目实战对抗生成网络等 阶段十一、IT高级开发者职场生存规则 — 职业素养 1.团队协作2.心态管理3.目标管理4.时间管理5.学习管理6.沟通能力7.项目管理 本课程主要为广大毕业生或者工作经验较少的学员而设立,主要是为了在职业素养方面给大家提供辅导,为更加顺利走向职场而提供帮助。为什么有些同学在技能方面过关,却还是给予别人一种书生气的感觉?为什么简历已经通过了,却还是没有通过HR的面试?为什么入职后,与同事的沟通总是存在问题?为什么每天的时间都不够用,无法兼顾生活学习和工作?为什么学习一段时间后,对工作对职场没有方向感?为什么遇到事情,别人总是能够保持良好心态游刃有余,而我总是问题百出?COT课程正是引领大家一起来探索其中的奥秘和方法,让大家一起在学习过程中不断深思和进步,让大家的职场路越走越顺畅!]]></content>
<categories>
<category>人工智能</category>
</categories>
<tags>
<tag>人工智能</tag>
<tag>实战</tag>
</tags>
</entry>
<entry>
<title><![CDATA[最后版本的小飞机使用]]></title>
<url>%2F2017%2F09%2F25%2F%E9%A3%9E%E8%B6%8A%E9%95%BF%E5%9F%8E%2F</url>
<content type="text"><![CDATA[导读 先前的Word文档在下面深色引用部分,可作简单的参考。 更新原因1.这次的飞机图标颜色很多,因为之前的飞机不能解析最新的二维码,不得已更新了这个版本。 2. 这次软件配置好,不出意外的话,就不需要扫描我发给你的二维码,可谓一劳永逸。 操作1.下载我发的“ShadowsocksR-dotnet4.0.zip”压缩包,压缩包文件内是电脑用的哦~看我,看我,点一下就能下载2.打开ShadowsocksR-dotnet4.0.1.exe即可上网,都是我电脑上配置好的压缩包。(就是这么简单,节点会自动更新)3.节点比较多,一般情况下不能访问外网,切换一下节点即可。4.如果出现不能访问外网的情况,询问我就行了。 上次的Word文档:飞跃长城是不对的,飞越才对。不能只改一个字啊,下面新添加了点内容。Tips:相应的操作图都在每个步骤下方准备阶段:下载我发的ShadowsocksR-win-3.7.4压缩包 保存我发的二维码图片到本地,然后打开执行步骤:1.解压ShadowsocksR-win-3.7.4.rar后,打开ShadowsocksR-dotnet4.0.exe2.任务栏会出现灰色小飞机图标 ,右键这个飞机图标,单击出现后的“扫描屏幕上的二维码”软件自动回扫描二维码,扫描完成会添加节点信息到软件界面,然后弹出下图 点击“取消”,继续下一步,右击任务栏小飞机图标,单击“启用系统代理”3.再右击任务栏小飞机图标,移动鼠标到“PAC”,选择 “更新本地PAC为GFWList”右击任务栏小飞机图标,移动鼠标到“服务器”,选择 “新加坡1”节点(如果名字不是新加坡1,那么就选择IP地址为sg1-hoyavpn.tk的节点)下文(飞越长城、科学上网都是翻墙的意思)一些小问题:什么是节点?节点是飞越长城防火墙的关键,软件其实并不重要,软件要和节点搭配起来用才能科学上网。节点有很多信息,但是我们不需要知道,节点二维码一般不要分享给太多的人,因为一般网站的节点只能2-5个设备同时翻墙。所以一般不要分享。还有,网站个别节点可能过段时间连不上,不要慌,切换别的节点即可。这种情况很少。一般购买的网站节点会有5-10个,这么多节点不可能同时不能用。如何找到销售节点的网站?网上有超多的卖节点的网站,比如http://www.vipss.cc/http://soloss.me,百度搜 SSR或者科学上网关键词,也能找到几个网站。大多都支持支付宝支付。有付费的,也有免费的。当然大多情况是付费的节点比较快,也比较稳定,流量也较多。但是节点再快,宽带速度跟不上,也没办法,但是网站的付费节点的速度够你用的。开机后如何科学上网?打开小飞机程序,就能直接翻墙了,因为第一次都配置好了,以后添加节点直接扫描就好了,然后在右击小飞机图标切换服务器。自己有节点,手机上能用这些节点吗?当然可以,手机上也有类似于shadowsocks(小飞机)的软件,可以直接扫描节点二维码添加节点。类似的软件有shadowrocket(iOS)、A.BIG.T(iOS)、shadowsocks(Android),直接扫描二维码即可。iOS上推荐用shadowrocket,App Store售价18元,也可以用爱思助手等第三方软件免费下载这个shadowrocket。这类软件不像平时使用的VPN软件,买了VPN就行就可以翻墙。我说的这些软件是要和节点搭配起来用才能用。至于为什么这么麻烦的要搭配起来用,因为这种软件比VPN智能多了,国内网站是不会消耗节点的流量,意思就是该翻墙的时候它会自动翻墙,不用翻墙的时候它就不翻墙。Shadowrocket的简单使用方法:打开软件,看下图 这类软件之所以卖那么贵,是因为这个软件功能太强大了,而且非常稳定。这个软件可以看优酷、爱奇艺视频直接跳过广告,看会员视频等,连接上可以拦截手机网页的广告,可以免费使用运营商流量,但是不爱折腾就安心翻墙就行了。送你两个节点备用:]]></content>
<categories>
<category>软件使用</category>
</categories>
<tags>
<tag>小飞机</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Hello World]]></title>
<url>%2F2017%2F09%2F25%2Fhello-world%2F</url>
<content type="text"><![CDATA[Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment]]></content>
<categories>
<category>Diary</category>
</categories>
<tags>
<tag>PS3</tag>
<tag>Games</tag>
</tags>
</entry>
</search>