好纠结的图片中,本人DF,转CB好还是LIB好

&p&我来转述一个段子,之前在国内的时候听港中文某知名教授T亲口讲的,真假待考(时间线有些混乱,编辑了一下),当时我听到的时候反正是一愣一愣的。大家随便听听笑笑。(声明,我和T教授没关系,但是和Kaiming共事过。)&/p&&p&这个段子的主角就是现今计算机视觉领域的超级大牛何恺明(&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Kaiming He - FAIR&i class=&icon-external&&&/i&&/a&),想必在圈儿内的人都听过吧。当时是T老板来我校招生,介绍了Kaiming读phd期间的一篇paper以及围绕这篇paper的轶事。。&/p&&p&事情大概是这样,Kaiming本身就是光环学生(高考状元),本科毕业后在T教授的强力忽悠下去了那里读phd,可谓是被寄予厚望。和Kaiming同期进来的一批学生(我们后文简称kaiming的peer)当年也都是各大高校top3(现在大家可以试试随便Google一下,你会发现他们都已经成为CV圈儿内有头有脸的人物)。。。但是他们的光环效应肯定是没有状元强的。&/p&&p&背景交代完毕。。那么现在phd开始了,大家处在同一个起跑线上:事实证明和kaiming一起进来的同学们各个都是paper machine。那时还是2010年之前,大陆高校(包括香港)想中篇顶级cv会还是颇有难度的,然而kaiming的peer们cvpr, iccv, eccv什么的已经开始刷的飞起,一篇两篇三四篇,poster oral六七篇。。一年两年过去了,和kaiming进来的一批大牛们基本各个都是手握至少2-3篇cvpr(或同等级),然后第三年申phd的拿到各种四大的phd offer。&/p&&p&然而,作为最被寄予厚望的种子选手和光环选手kaiming还是一无所有。众所周知香港大部分高校phd也就4年,一眨眼几年过去了,也该想thesis了,但是两手空空,捉急啊...而且,Kaiming的phd大部分时间是在msra度过,那时候的msra是圣地啊,公认的大陆少有的几个能发paper的地方,那时候能去msra当intern的各个都是大牛。在这种peer环境下,光环学生,高考状元,这么久了还是没paper,而且据T教授说,甚至是投都没有投过!!各位观众可以做一下换位思考,想想如果是你,你会有多焦虑。据T教授亲口说,当时的Kaiming已经在考虑随便拿个学位回母校教书(对你没听错,是回高中母校当高中老师!!),你们感受一下。。。&/p&&p&然而。天才就是天才,神牛就是神牛。我记得应该是2009年吧,一篇dark channel prior的cvpr paper横空出世,当时T教授评价这篇paper是“拨云见雾,神来之笔”。&/p&&p&没错,就是Kaiming的第一篇paper就成为了cvpr best paper,亚洲的第一篇cvpr best paper,我建议各位即使不是cv领域的人也可以去翻来读一下这篇paper,你就明白本科学个物理和数学思考问题和cs的人有啥不同。。。随之而来的当然就是新的光环,等等。&/p&&p&自那以后呢,他就成了现在大家都膜拜的Kaiming了,发paper有如滔滔洪水一般一发不可收。。。&/p&&p&回到这个问题上,讲这个段子呢(虽然我不知道真假,因为不知道T教授在讲的时候是不是添油加醋了),是想告诉大家三个道理:&/p&&p&1. phd第三年还没有发出paper,不要着急!要有耐心。&/p&&p&2. 说不定第四年你就发出来了,而且还可能像Kaiming一样中best paper。&/p&&p&3. 就算第四年中不了,你也可以回高中母校当高中老师嘛!&/p&
我来转述一个段子,之前在国内的时候听港中文某知名教授T亲口讲的,真假待考(时间线有些混乱,编辑了一下),当时我听到的时候反正是一愣一愣的。大家随便听听笑笑。(声明,我和T教授没关系,但是和Kaiming共事过。)这个段子的主角就是现今计算机视觉领…
&img src=&/50/v2-26d899d1ea2bcfcba75b96a_b.png& data-rawwidth=&600& data-rawheight=&292& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50/v2-26d899d1ea2bcfcba75b96a_r.png&&&p&昨天,在朋友圈转发了一篇文章。同时摘取了文章最后一句话做了标注:“在未来,很可能一群把Python语言玩弄在鼓掌之间的人,将成为金融界的新星。”很快,便引来了码农界和金融界朋友们的纷纷点赞,同时,欢呼声、怀疑声与质疑声在朋友圈里喧嚣尘上。&/p&&p&先来看看大家对昨天转发过来的那句话的反应。&/p&&img src=&/v2-776e57ddea55efcac24ab_b.png& data-rawwidth=&447& data-rawheight=&506& class=&origin_image zh-lightbox-thumb& width=&447& data-original=&/v2-776e57ddea55efcac24ab_r.png&&&br&&br&&p&截取部分评论和带有主观意见的转发:&br&&/p&&br&&img src=&/v2-5eed01bdf95e_b.png& data-rawwidth=&450& data-rawheight=&637& class=&origin_image zh-lightbox-thumb& width=&450& data-original=&/v2-5eed01bdf95e_r.png&&&img src=&/v2-16e0ba812b7a39b63f2699647cbdb084_b.png& data-rawwidth=&502& data-rawheight=&817& class=&origin_image zh-lightbox-thumb& width=&502& data-original=&/v2-16e0ba812b7a39b63f2699647cbdb084_r.png&&&img src=&/v2-e1d1cb8ec7dcec208797_b.png& data-rawwidth=&498& data-rawheight=&264& class=&origin_image zh-lightbox-thumb& width=&498& data-original=&/v2-e1d1cb8ec7dcec208797_r.png&&&br&&br&&p&我个人对这个观点其实持低调温和赞成的态度:-)。所以,趁今晚有点时间在睡觉之前,给大家讲讲为啥Python在&strong&金融量化&/strong&方面具有的一些先天的优势。&br&&/p&&img src=&/v2-bfd1bd5c5b85d4e0aeb9a_b.png& data-rawwidth=&674& data-rawheight=&145& class=&origin_image zh-lightbox-thumb& width=&674& data-original=&/v2-bfd1bd5c5b85d4e0aeb9a_r.png&&&br&&br&&p&我是一个有10年Java和其它语言开发经验的程序员,最近两三年才开始用Python。其实也是因为金融,尤其是金融数据才用上了Python,虽然对Java很有感情,但是一用Python就再也不想换回去。(特定应用场景除外)&/p&&p&这里不想引起哪个语言好的讨论,只想说说Python在金融领域应用的现状,大家自己拿捏判断。要不然又要出现类似“PHP是世界上最好的语言”的撕逼大战了。哈!&/p&&h2& Python在量化领域的现状&/h2&&p&就跟javascript在web领域无可撼动的地位一样,Python也已经在金融量化投资领域占据了重要位置,从各个业务链条都能找到相应的框架实现。&/p&&p&我们拿上一篇文章的图再来看看,在量化投资(证券和比特币)开源项目里,全球star数排名前10位里面,有7个是Python实现的。从数据获取到策略回测再到交易,覆盖了整个业务链。&/p&&br&&img src=&/v2-a82f9caa79a0711852fc_b.png& data-rawwidth=&641& data-rawheight=&306& class=&origin_image zh-lightbox-thumb& width=&641& data-original=&/v2-a82f9caa79a0711852fc_r.png&&&br&&p&而全球注册用户数最多的商业量化平台Uqer优矿,也同样是基于Python实现和提供服务的。国内后来的其他量化平台,例如ricequant和joinquant,也主推Python环境。可见Python在量化平台应用的绝对占有程度。&br&&/p&&br&&h2&为什么是Python?&br&&/h2&&p&Python是一门比较全面与平衡的语言,既能满足包括web在内的系统应用的开发,又能满足数据统计分析等数学领域的计算需求,同时也能作为胶水语言跟其它开发语言互通融合。&/p&&p&在数据分析方面,没有其他语言能像Python这样既能精于计算又能保持性能,对于时间序列数据的处理展现了简单便捷的优势。而如此适用的特点,主要得益于有如下框架和工具的支持:&/p&&p&&strong&Numpy&/strong&:底层基于C实现的科学计算包&/p&&ul&&li&具有强大的N维数组对象Array&/li&&li&具有数据广播功能的函数库&br&&/li&&li&具有完整的线性代数和随机数生成函数&br&&/li&&/ul&&p&&strong&SciPy&/strong&:开源算法和数学工具包&/p&&ul&&li&最优化线性代数、积分、插值、特殊函数&/li&&li&快速傅里叶变换&/li&&li&信号处理和图像处理&/li&&li&常微分方程求解&/li&&li&其他科学与工程中常用的计算&/li&&/ul&&p&其功能与Matlab和Scilab等类似&/p&&p&&strong&Pandas&/strong&:起源于AQR的数据处理包,具有金融数据分析基因&/p&&ul&&li&基于Series、DataFrame和Pannel多维表结构数据&/li&&li&数据自动对齐功能&/li&&li&数据清洗和计算功能&/li&&li&时间序列数据快速处理功能&/li&&/ul&&p&&strong&Matplotlib&/strong&:基于Python的数据绘图包,能够绘制出各类丰富的图形和报表&/p&&p&另外,Python在机器学习领域的应用也越来越多,其中的开源的项目包括了scikit-learn、Theano、Orange等。&/p&&h2&Python的特点&br&&/h2&&p&&strong&1、简单易学&/strong&Python是一门简单而又简约的语言。阅读好的Python程序感觉就像阅读英语。Python非常容易上手,学习曲线比较平缓。&/p&&p&&strong&2、高级语言&/strong&垃圾自动处理且面向对象的高级语言。Python 具备所有脚本语言的简单和易用性,并且具有在编译语言中才能找到的高级软件工程工具。&/p&&p&&strong&3、扩展移植&/strong&可与其他语言无缝对接并能实现跨平台&/p&&p&&strong&4、开源项目&/strong&只要能想到的,几乎都有现成的包能找到&/p&&h2&Python金融书籍&br&&/h2&&p&目前市面上已经出现了不少针对金融领域数据分析和量化的书籍,有了这些书籍,实现金融数据处理完成量化投资分析便容易多了。&/p&&p&金融领域主要的Python书籍:《Python for Data Analysis》&/p&&p&《Python for Finance》《Mastering Python for Finance》《Maching Learning in Action》&/p&&br&&br&&p&----------------------&/p&&p&喜欢就关注,持续更新。&br&&/p&&p&作者:挖地兔&br&&/p&&p&个人公众号:挖地兔&/p&&p&出处:&a href=&/?target=https%3A///blog/waditu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&挖地兔的博客专栏&i class=&icon-external&&&/i&&/a&&/p&&p&&b&最近很多人私信问我问题,平常知乎评论看到不多,如果没有及时回复,大家也可以加小编微信:tszhihu,进知乎大数据分析挖掘交流群,可以跟各位老师互相交流。谢谢。&/b&&/p&
昨天,在朋友圈转发了一篇文章。同时摘取了文章最后一句话做了标注:“在未来,很可能一群把Python语言玩弄在鼓掌之间的人,将成为金融界的新星。”很快,便引来了码农界和金融界朋友们的纷纷点赞,同时,欢呼声、怀疑声与质疑声在朋友圈里喧嚣尘上。先来看…
&img src=&/50/v2-6aa79fada0695_b.png& data-rawwidth=&1232& data-rawheight=&804& class=&origin_image zh-lightbox-thumb& width=&1232& data-original=&/50/v2-6aa79fada0695_r.png&&&h2&&b&前言&/b&&/h2&&p&个人兴趣爱好,最近在学习一些无人驾驶相关的技术,便萌生了循序渐进的写一系列文章的想法,这是第一篇。文章主要会以Udacity为主线,综合自己在学习过程中搜集的各种材料,取其精华,补其不足,力求通俗易懂,理论明确,实战有效,即作为一个学习总结,potentially又可以帮助对无人驾驶有兴趣但是零基础的朋友们 —— 注意这里的零基础是指未接触过无人驾驶领域,本系列还是需要一些简单的数学和机器学习知识。&/p&&p&因为本文是从零开始的第一篇,这里的车道检测是基础版本,需要满足几个先决条件:(1)无人车保持在同车道的高速路中行驶(2)车道线清晰可见(3)无人车与同车道内前车保持足够远的距离。&/p&&h2&&b&TLDR (or the take-away)&/b&&/h2&&p&一个基础版的车道检测步骤主要分为以下几点:&/p&&ul&&li&Gray Scale Transformation&br&&/li&&li&Gaussian Smoothing&br&&/li&&li&Canny Edge Detection&br&&/li&&li&ROI (Region of Interest) Based Edge Filtering&/li&&li&Hough Transformation&br&&/li&&li&Lane Extrapolation&/li&&/ul&&br&&b&代码:&/b&&a href=&/?target=https%3A///feixia586/zhihu_material/tree/master/car_lane_detection& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Github链接&i class=&icon-external&&&/i&&/a&&p&最后的效果如下视频所示,其中红线表示自动检测到的车道。&/p&&p&&a class=&video-box& href=&/?target=https%3A///x/page/u0377sik121.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&车道检测基础版 - 腾讯视频& data-poster=&///qqvideo_ori/0/u0377sik121_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&///qqvideo_ori/0/u0377sik121_228_128/0&&&span class=&content&&
&span class=&title&&车道检测基础版 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/x/page/u0377sik121.html&/span&
&/p&&h2&&b&从图片开始谈起&/b&&/h2&&p&无人车往往配备有数个camera,常见的情况是有一个camera固定在车的前方,用来perceive前方道路情况,生成视频。计算机对该视频进行分析,综合其他sensor的信息,对车辆行为进行指导。视频是由图片组成,如果能够成功检测图片上的车道,那我们就几乎解决了车道检测问题。下面是一张车辆行驶过程中的图片,让我们动手吧!&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&matplotlib.image&/span& &span class=&kn&&as&/span& &span class=&nn&&mplimg&/span&
&span class=&n&&img&/span& &span class=&o&&=&/span& &span class=&n&&mplimg&/span&&span class=&o&&.&/span&&span class=&n&&imread&/span&&span class=&p&&(&/span&&span class=&s1&&'lane.jpg'&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-a39cffbb24bdf6af9b3f2381_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-a39cffbb24bdf6af9b3f2381_r.png&&&br&&p&&b&Gray Scale Transformation&/b&&/p&&p&这个变换比较简单,是将RGB图片转换成灰度图片,用来作为Canny Edge Detection的输入。&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&cv2&/span&
&span class=&n&&gray&/span& &span class=&o&&=&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&cvtColor&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&COLOR_RGB2GRAY&/span&&span class=&p&&)&/span&
&span class=&c1&&# Note that if you use cv2.imread() to read image, the image will &/span&
&span class=&c1&&# be in format BGR.&/span&
&/code&&/pre&&/div&&img src=&/v2-37c5d399aaf_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-37c5d399aaf_r.png&&&br&&p&&b&Gaussian Smoothing&/b&&/p&&p&Gaussian Smoothing是对图片apply一个Gaussian Filter,可以起到模糊图片和消除噪声的效果。其基本原理是重新计算图片中每个点的值,计算时取该点及其附近点的加权平均,权重符合高斯分布。下图左侧展示了一个kernel_size = 5的Gaussian Filter,55是高斯分布的中心点,341是网格中所有值的和。假设网格矩阵为&img src=&/equation?tex=Q& alt=&Q& eeimg=&1&&,图片为&img src=&/equation?tex=I& alt=&I& eeimg=&1&&,新图片为&img src=&/equation?tex=I%27& alt=&I'& eeimg=&1&&,则:&/p&&img src=&/equation?tex=I%27_%7Bij%7D+%3D+%5Cfrac%7B1%7D%7B341%7D%5Csum%5E%7Bi%2B2%7D_%7Bm+%3D+i-2%7D%5C+%5Csum%5E%7Bj%2B2%7D_%7Bn%3Dj-2%7D+Q_%7Bmn%7D+I_%7Bmn%7D& alt=&I'_{ij} = \frac{1}{341}\sum^{i+2}_{m = i-2}\ \sum^{j+2}_{n=j-2} Q_{mn} I_{mn}& eeimg=&1&&&br&&img src=&/v2-167eb544cf6aac5ebb6da8_b.png& data-rawwidth=&1026& data-rawheight=&366& class=&origin_image zh-lightbox-thumb& width=&1026& data-original=&/v2-167eb544cf6aac5ebb6da8_r.png&&&p&Gaussian Filter是一种低通过滤器,能够抑制图片中的高频部分,而让低频部分顺利通过。那什么是图片的高频部分呢?下图给出了一个比较极端的例子。爱好摄影的朋友们都知道相机ISO适当时能够得到右侧图片,画质细腻;如果ISO过大,就会导致产生左侧图片,画质差,噪点多。这些噪点就是图片中的高频部分,表示了像素值剧烈升高或降低。&/p&&p&&img src=&/v2-b1e24f6cbff0c096a875_b.png& data-rawwidth=&1106& data-rawheight=&588& class=&origin_image zh-lightbox-thumb& width=&1106& data-original=&/v2-b1e24f6cbff0c096a875_r.png&&介绍完了Gaussian Filter,现在可以将其应用到我们的灰度图片上:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&blur_ksize&/span& &span class=&o&&=&/span& &span class=&mi&&5&/span&
&span class=&c1&&# Gaussian blur kernel size&/span&
&span class=&n&&blur_gray&/span& &span class=&o&&=&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&GaussianBlur&/span&&span class=&p&&(&/span&&span class=&n&&gray&/span&&span class=&p&&,&/span& &span class=&p&&(&/span&&span class=&n&&blur_ksize&/span&&span class=&p&&,&/span& &span class=&n&&blur_ksize&/span&&span class=&p&&),&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-438d5e38bca3cd3c3dae8f3_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-438d5e38bca3cd3c3dae8f3_r.png&&&p&&b&Canny Edge Detection&/b&&/p&&p&John F. Canny在1986年发明了Canny Edge Detection技术,其基本原理是对图片中各个点求gradient,gradient较大的地方往往是edge。Canny Edge Detection精妙的地方在于它有两个参数:low_threshold和high_threshold。算法先比较gradient与这两个threshold的关系,如果gradient & high_threshold,就承认这是一个edge point;如果gradient & low_threshold,就断定这不是edge point;对于其他的点,如果与edge point相连接,那么这个点被认为也是edge point,否则不是。&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&canny_lthreshold&/span& &span class=&o&&=&/span& &span class=&mi&&50&/span&
&span class=&c1&&# Canny edge detection low threshold&/span&
&span class=&n&&canny_hthreshold&/span& &span class=&o&&=&/span& &span class=&mi&&150&/span&
&span class=&c1&&# Canny edge detection high threshold&/span&
&span class=&n&&edges&/span& &span class=&o&&=&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&Canny&/span&&span class=&p&&(&/span&&span class=&n&&blur_gray&/span&&span class=&p&&,&/span& &span class=&n&&low_threshold&/span&&span class=&p&&,&/span& &span class=&n&&high_threshold&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-3ce429d36d0f_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-3ce429d36d0f_r.png&&&p&&b&ROI Based Edge Filtering&/b&&/p&&p&Woohoo! It's awesome! 经过了Canny Edge Detection,我们发现物体的轮廓都被检测到了!但是似乎东西有点儿太多了… 没关系,还有一个重要的条件没有用:camera相对于车是固定的,而无人车相对于车道的左右位置也是基本固定的,所以车道在camera视频中基本保持在一个固定区域内!据此我们可以画出一个大概的Region of Interest (ROI),过滤掉ROI之外的edges。&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&k&&def&/span& &span class=&nf&&roi_mask&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&vertices&/span&&span class=&p&&):&/span&
&span class=&n&&mask&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&zeros_like&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&)&/span&
&span class=&n&&mask_color&/span& &span class=&o&&=&/span& &span class=&mi&&255&/span&
&span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&fillPoly&/span&&span class=&p&&(&/span&&span class=&n&&mask&/span&&span class=&p&&,&/span& &span class=&n&&vertices&/span&&span class=&p&&,&/span& &span class=&n&&mask_color&/span&&span class=&p&&)&/span&
&span class=&n&&masked_img&/span& &span class=&o&&=&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&bitwise_and&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&mask&/span&&span class=&p&&)&/span&
&span class=&k&&return&/span& &span class=&n&&masked_img&/span&
&span class=&n&&roi_vtx&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&array&/span&&span class=&p&&([[(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]),&/span& &span class=&p&&(&/span&&span class=&mi&&460&/span&&span class=&p&&,&/span& &span class=&mi&&325&/span&&span class=&p&&),&/span&
&span class=&p&&(&/span&&span class=&mi&&520&/span&&span class=&p&&,&/span& &span class=&mi&&325&/span&&span class=&p&&),&/span& &span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&])]])&/span&
&span class=&n&&roi_edges&/span& &span class=&o&&=&/span& &span class=&n&&roi_mask&/span&&span class=&p&&(&/span&&span class=&n&&edges&/span&&span class=&p&&,&/span& &span class=&n&&roi_vtx&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-d3e39f57_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-d3e39f57_r.png&&&p&&b&Hough Transformation&/b&&/p&&p&目前看起来我们似乎已经得到了车道线了呢,然而…并没有! 因为最终目标是得到exactly两条直线!而目前现在图中不仅有多条线,还有一些点状和块状区域,Hough Transformation的目的就是找到图中的线。 &/p&&p&下图中左侧是image space,中间和右侧是Hough space。先看左侧和中间的图(右侧图见本节备注),image space中的一个点对应Hough space的一条线;image space中的两个点(&img src=&/equation?tex=x_1+%5Cneq+x_2& alt=&x_1 \neq x_2& eeimg=&1&&)对应Hough space的两条相交线,且交点对应的线必经过image space的这两个点。&/p&&p&&img src=&/v2-ea6f2d5fbef9ce405e92_b.png& data-rawwidth=&1290& data-rawheight=&376& class=&origin_image zh-lightbox-thumb& width=&1290& data-original=&/v2-ea6f2d5fbef9ce405e92_r.png&&那么,如果Hough space中有多条线相交于一点,则在image space中对应的那些点应位于同一条线上,例如:&/p&&img src=&/v2-87dbc45c8b6b634b5cdb_b.png& data-rawwidth=&1406& data-rawheight=&628& class=&origin_image zh-lightbox-thumb& width=&1406& data-original=&/v2-87dbc45c8b6b634b5cdb_r.png&&&br&&p&在实际操作中,我们往往将Hough space划分为网格状,如果经过一个格子的线的数目大于某threshold,我们认为这个经过这个格子的线在原image space对应的点应在同一条线上。具备了这些知识,我们可以用Hough Transformation来找线啦!&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# Hough transform parameters&/span&
&span class=&n&&rho&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span&
&span class=&n&&theta&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span& &span class=&o&&/&/span& &span class=&mi&&180&/span&
&span class=&n&&threshold&/span& &span class=&o&&=&/span& &span class=&mi&&15&/span&
&span class=&n&&min_line_length&/span& &span class=&o&&=&/span& &span class=&mi&&40&/span&
&span class=&n&&max_line_gap&/span& &span class=&o&&=&/span& &span class=&mi&&20&/span&
&span class=&k&&def&/span& &span class=&nf&&draw_lines&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&lines&/span&&span class=&p&&,&/span& &span class=&n&&color&/span&&span class=&o&&=&/span&&span class=&p&&[&/span&&span class=&mi&&255&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&n&&thickness&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&):&/span&
&span class=&k&&for&/span& &span class=&n&&line&/span& &span class=&ow&&in&/span& &span class=&n&&lines&/span&&span class=&p&&:&/span&
&span class=&k&&for&/span& &span class=&n&&x1&/span&&span class=&p&&,&/span& &span class=&n&&y1&/span&&span class=&p&&,&/span& &span class=&n&&x2&/span&&span class=&p&&,&/span& &span class=&n&&y2&/span& &span class=&ow&&in&/span& &span class=&n&&line&/span&&span class=&p&&:&/span&
&span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&line&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&p&&(&/span&&span class=&n&&x1&/span&&span class=&p&&,&/span& &span class=&n&&y1&/span&&span class=&p&&),&/span& &span class=&p&&(&/span&&span class=&n&&x2&/span&&span class=&p&&,&/span& &span class=&n&&y2&/span&&span class=&p&&),&/span& &span class=&n&&color&/span&&span class=&p&&,&/span& &span class=&n&&thickness&/span&&span class=&p&&)&/span&
&span class=&k&&def&/span& &span class=&nf&&hough_lines&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&rho&/span&&span class=&p&&,&/span& &span class=&n&&theta&/span&&span class=&p&&,&/span& &span class=&n&&threshold&/span&&span class=&p&&,&/span&
&span class=&n&&min_line_len&/span&&span class=&p&&,&/span& &span class=&n&&max_line_gap&/span&&span class=&p&&):&/span&
&span class=&n&&lines&/span& &span class=&o&&=&/span& &span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&HoughLinesP&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&n&&rho&/span&&span class=&p&&,&/span& &span class=&n&&theta&/span&&span class=&p&&,&/span& &span class=&n&&threshold&/span&&span class=&p&&,&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&array&/span&&span class=&p&&([]),&/span&
&span class=&n&&minLineLength&/span&&span class=&o&&=&/span&&span class=&n&&min_line_len&/span&&span class=&p&&,&/span&
&span class=&n&&maxLineGap&/span&&span class=&o&&=&/span&&span class=&n&&max_line_gap&/span&&span class=&p&&)&/span&
&span class=&n&&line_img&/span& &span class=&o&&=&/span& &span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&zeros&/span&&span class=&p&&((&/span&&span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&mi&&3&/span&&span class=&p&&),&/span& &span class=&n&&dtype&/span&&span class=&o&&=&/span&&span class=&n&&np&/span&&span class=&o&&.&/span&&span class=&n&&uint8&/span&&span class=&p&&)&/span&
&span class=&n&&draw_lines&/span&&span class=&p&&(&/span&&span class=&n&&line_img&/span&&span class=&p&&,&/span& &span class=&n&&lines&/span&&span class=&p&&)&/span&
&span class=&k&&return&/span& &span class=&n&&line_img&/span&
&span class=&n&&line_img&/span& &span class=&o&&=&/span& &span class=&n&&hough_lines&/span&&span class=&p&&(&/span&&span class=&n&&roi_edges&/span&&span class=&p&&,&/span& &span class=&n&&rho&/span&&span class=&p&&,&/span& &span class=&n&&theta&/span&&span class=&p&&,&/span& &span class=&n&&threshold&/span&&span class=&p&&,&/span&
&span class=&n&&min_line_length&/span&&span class=&p&&,&/span& &span class=&n&&max_line_gap&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-e155eae1bb48_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-e155eae1bb48_r.png&&&p&备注:如果image space中两个点&img src=&/equation?tex=x_1+%3D+x_2& alt=&x_1 = x_2& eeimg=&1&&,则其形成的直线斜率无限大,无法用中间的图表示,可以采用右侧的极坐标表示方式。&br&&/p&&br&&p&&b&Lane Extrapolation&/b&&/p&&p&Almost there! 现在我们要根据得到的线计算出左车道和右车道,一种可以采用的步骤是:&/p&&ol&&li&根据斜率正负划分某条线属于左车道或右车道&/li&&li&分别对左右车道线移除outlier:迭代计算各条线的斜率与斜率均值的差,逐一移除差值过大的线&/li&&li&分别对左右车道线的顶点集合做linear regression,得到最终车道。&/li&&/ol&&p&因为这部分代码有点儿多,就不贴在这里了,请参见我的&a href=&/?target=https%3A///feixia586/zhihu_material/tree/master/car_lane_detection& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Github代码&i class=&icon-external&&&/i&&/a&。结果如下:&/p&&img src=&/v2-75cdbc76c17a64b71b51f2_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-75cdbc76c17a64b71b51f2_r.png&&&br&&p&最最后,我们将结果和原图叠加:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&cv2&/span&&span class=&o&&.&/span&&span class=&n&&addWeighted&/span&&span class=&p&&(&/span&&span class=&n&&img&/span&&span class=&p&&,&/span& &span class=&mf&&0.8&/span&&span class=&p&&,&/span& &span class=&n&&line_img&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&img src=&/v2-ecd4e97d_b.png& data-rawwidth=&555& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&555& data-original=&/v2-ecd4e97d_r.png&&&p&图片任务完成!&/p&&h2&&b&回到视频上&/b&&/h2&&p&现在我们将前面的代码打个包放到叫process_an_image的函数中,然后&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&moviepy.editor&/span& &span class=&kn&&import&/span& &span class=&n&&VideoFileClip&/span&
&span class=&n&&output&/span& &span class=&o&&=&/span& &span class=&s1&&'video_1_sol.mp4'&/span&
&span class=&n&&clip&/span& &span class=&o&&=&/span& &span class=&n&&VideoFileClip&/span&&span class=&p&&(&/span&&span class=&s2&&&video_1.mp4&&/span&&span class=&p&&)&/span&
&span class=&n&&out_clip&/span& &span class=&o&&=&/span& &span class=&n&&clip&/span&&span class=&o&&.&/span&&span class=&n&&fl_image&/span&&span class=&p&&(&/span&&span class=&n&&process_an_image&/span&&span class=&p&&)&/span&
&span class=&n&&out_clip&/span&&span class=&o&&.&/span&&span class=&n&&write_videofile&/span&&span class=&p&&(&/span&&span class=&n&&output&/span&&span class=&p&&,&/span& &span class=&n&&audio&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&将代码应用到三个不同的video上,看看结果!&/p&&p&&a class=&video-box& href=&/?target=https%3A///x/page/u0377sik121.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&车道检测基础版 - 腾讯视频& data-poster=&///qqvideo_ori/0/u0377sik121_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&///qqvideo_ori/0/u0377sik121_228_128/0&&&span class=&content&&
&span class=&title&&车道检测基础版 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/x/page/u0377sik121.html&/span&
&br&&/p&&p&&a class=&video-box& href=&/?target=https%3A///x/page/r037764yts3.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&车道检测基础版2 - 腾讯视频& data-poster=&///qqvideo_ori/0/r037764yts3_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&///qqvideo_ori/0/r037764yts3_228_128/0&&&span class=&content&&
&span class=&title&&车道检测基础版2 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/x/page/r037764yts3.html&/span&
&br&&/p&&p&&a class=&video-box& href=&/?target=https%3A///x/page/o0377jc77sr.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&车道检测基础版3 - 腾讯视频& data-poster=&///qqvideo_ori/0/o0377jc77sr_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&///qqvideo_ori/0/o0377jc77sr_228_128/0&&&span class=&content&&
&span class=&title&&车道检测基础版3 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/x/page/o0377jc77sr.html&/span&
&br&&/p&&p&注意:对于不同的情况,有些参数可能需要调节,第三个视频的处理需要一些额外的操作,会在我的&a href=&/?target=https%3A///feixia586/zhihu_material/tree/master/car_lane_detection& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Github代码&i class=&icon-external&&&/i&&/a&中有具体描述。&/p&&h2&&b&参考资料&/b&&/h2&&p&1. &a href=&/?target=http%3A//www.learn./resources/articles/2011/high_iso_noise_reduction_article.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&High ISO Noise Reduction&i class=&icon-external&&&/i&&/a&&/p&&p&2. &a href=&/?target=http%3A//homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gaussian Smoothing&i class=&icon-external&&&/i&&/a&&/p&
前言个人兴趣爱好,最近在学习一些无人驾驶相关的技术,便萌生了循序渐进的写一系列文章的想法,这是第一篇。文章主要会以Udacity为主线,综合自己在学习过程中搜集的各种材料,取其精华,补其不足,力求通俗易懂,理论明确,实战有效,即作为一个学习总结…
&img src=&/50/v2-67d6ee44ec7f12fb845ada5c8e9965da_b.jpg& data-rawwidth=&900& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/50/v2-67d6ee44ec7f12fb845ada5c8e9965da_r.jpg&&&p&常有朋友给我留言,让我推荐宝宝看的科普书籍,但我一直没敢推荐。最重要的原因是我认为科普书籍在各方面都有更高的要求,如果处理不当可能会磨灭小朋友对此的兴趣。&/p&&p&本文的主角是这本叫《人类进化圣典》的书(现在出了新版换了个名字)。它是很严肃的科普书籍,有效内容242页,版面比一本杂志还大一些,所述题材即使在儿童科普领域内也是比较冷门的。我儿子开始阅读它的时间是3岁1个月,显然此书对他来说不轻松,存在较高的无法阅读的风险,但他却深深地迷上了此书。&br&&/p&&img src=&/50/v2-67d6ee44ec7f12fb845ada5c8e9965da_b.jpg& data-rawwidth=&900& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&/50/v2-67d6ee44ec7f12fb845ada5c8e9965da_r.jpg&&&p&我觉得这样一本书的陪读过程,具备一定的代表性。所以我把这个过程写出来,供各位爸爸妈妈参考!先想好套路,再谈选书不迟。&br&&/p&&br&&p&闲话少说,正文开始!&/p&&br&&b&1 兴趣和时机&/b&&br&&p&童书有很多种类,但面向低龄宝宝的入门级科普书籍并不多。入门级科普书籍往往是包装成绘本、故事书等形式。我觉得这样的形式很好,符合低龄宝宝的理解能力。我儿子在3岁以前,已看过多套这类包装成绘本的低龄科普书籍了,对此类书籍表现出较强的兴趣。&br&&/p&&br&&p&在他3岁时,我购买了这本严肃的科普书籍《人类进化圣典》。购买它的原因是当时看到网上有活动,而且看介绍觉得此书很不错,于是就买了。但由于此书介绍是7~14岁看的,所以我买回来并没有给儿子看,而是准备先放几年。&/p&&br&&p&在儿子3岁1个月的某一个周末,他在当时家里的200本书中选来选去,却选不出想看的,我看他精神也为之不振。&/p&&br&&p&于是,我对他说,我买了一本书,是7岁的小朋友看的,但我今天可以先给你看看,不过可能会看不懂,如果能看懂就看,看不懂也没关系,放起来等到7岁再看不迟。&br&&/p&&br&&p&儿子欢呼雀跃,连声说,好好好!&/p&&br&&p&我拿出此书,儿子立刻就翻看起来。&/p&&br&&p&从那一天开始,在后来的3个月中,他几乎每天都只看这一本书,缠着我给他讲,缠着我媳妇给他讲,缠着来家里的每一个客人给他讲。&/p&&br&&img src=&/50/v2-9e51ce5df7cb1cbefc2f_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-9e51ce5df7cb1cbefc2f_r.jpg&&&img src=&/50/v2-aa4a9fa06a6e_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-aa4a9fa06a6e_r.jpg&&&br&&p&我后来总结,早期给儿子看了一些低龄宝宝的科普书籍,对他应该是一个这方面很好的启蒙。加之我本人和我媳妇都是理科生,所以可能讲这类科普读物比较擅长,更容易让他体会到这类书籍中的乐趣。所以,在3岁1个月过渡到严肃的科普书籍时,非常顺利。&/p&&br&&p&另外,我那天观察他的状态,和事先做的铺垫也还算恰当。以我儿子的性格,在我说出“看不懂也没关系”这种话后,他即使在开始的时候真看不懂也不会承认,反而会坚持下去。而这种严肃书籍往往需要坚持一小会儿才能体会到乐趣。&/p&&br&&blockquote&&p&tip:循序渐进地培养孩子在这方面的兴趣是非常重要的!阶段性提升的时候,父母一定要结合自己孩子的特点,找一个好的时机,做足铺垫,不要操之过急。&/p&&/blockquote&&p&&b&2 选书很关键&/b&&/p&&br&&p&书选得合适,就更容易激发小朋友的兴趣,反之则有负作用。我个人总结面向小朋友的优秀科普书籍有3个特点。&/p&&br&&blockquote&&p&特点1:画面精美&/p&&/blockquote&&p&不管怎么说,给学龄前儿童看的书,字太多图太少一定是不合适的。&br&&/p&&br&&p&小朋友首先上来也是看颜值的,颜值太低的书基本上很快会被打入冷宫。&/p&&br&&p&下图是我家的《十万个为什么》中的一页:&/p&&img src=&/50/v2-96b9b9e84cd0dfc482a355_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-96b9b9e84cd0dfc482a355_r.jpg&&&br&&p&下图这是《人类进化圣典》中的一页,讲化石形成的几个阶段:&/p&&img src=&/50/v2-bdcc5aeccb82a221af3710_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-bdcc5aeccb82a221af3710_r.jpg&&&br&&p&这两本书的颜值体现了作者投入的精力,一眼便知谁投入的精力更大!&/p&&br&&p&通常每本新书买回家,我会让儿子先自己看一遍,然后我再陪读。他在自己看完上面那套《十万个为什么》之后,对我说——这套书每本讲4页就行了。&/p&&br&&p&这是什么意思呢?这意味着这套书的颜值低得他根本就不想看下去!&/p&&br&&blockquote&&p&特点2:入门级科普书籍需要内容集中&/p&&/blockquote&&p&注意,此处说的是“入门级”科普书籍,而《人类进化圣典》不属于这一类。&/p&&br&&p&入门级科普书籍往往是面向低龄小朋友(0~3岁),或者是刚接触科普书籍的小朋友。如果内容太多太发散,小朋友理解不了,会造成很大的障碍,进而影响兴趣。&br&&/p&&br&&p&所以,入门级科普书籍,往往不厚,但是内容完全集中到一个点上,从头到尾都在讲这个点。&/p&&br&&p&比如,我之前在绘本点评文章中提到的这本书——《美丽的螺旋》。&/p&&img src=&/50/b7bded613cccf24b38e9e_b.jpg& data-rawwidth=&1300& data-rawheight=&1000& class=&origin_image zh-lightbox-thumb& width=&1300& data-original=&/50/b7bded613cccf24b38e9e_r.jpg&&&p&它就着眼于一个点——螺旋这种形状。然后书中内容就是展示自然界的各种动物会盘成螺旋形状,各种植物会形成螺旋形状,海浪、龙卷风这类自然现象是螺旋形状,DNA是螺旋形状……&/p&&br&&p&这就是一种很好的模式!小朋友容易理解每页的内容,并且明白每一页底下的潜在线索。我观察儿子在看完这一页之后就会很想看下一页是什么样的螺旋的事物,所以会很迫切地去看下一页。&br&&/p&&br&&p&如果让我举一个大家都知道的反例,还是《十万个为什么》。&/p&&br&&p&它的内容几乎是完全不集中的,每一页都是回答一个问题,没有一个固定的点,问题与问题之间缺乏联系。所以,我个人认为它不适合作为入门级科普书籍给小朋友看。&/p&&br&&blockquote&&p&特点3:严肃科普书籍需系统性组织知识&/p&&/blockquote&&p&看科普书籍当然要学知识,但知识如果靠死记硬背来记忆是低效又无趣的,而如果能理解知识的内在核心和逻辑,往往是不需要记忆过程却自然就记住了。一本系统性强的书,会让人更容易理解它。&br&&/p&&br&&p&我个人非常看重系统性这一点!&/p&&br&&p&什么是系统性呢?我举一个例子,我写过一篇白血病的文章——&a href=&/p/?refer=daddygrowup& class=&internal&&白血病,你给我站住!&/a&&a href=&/p/?refer=daddygrowup& class=&internal&&知乎专栏&/a&&/p&&br&&p&这篇白血病的文章中写了白血病的症状。白血病的具体症状有几十个,如果用背电话号码的方式来背,过几天我就会忘了。所以,在写白血病的症状之前,我要先写血液有4种成分,每种成分的功能是什么,而白血病的核心是未成熟的白细胞多了,从而导致血液中有3种成分会变少。那么这3种成分变少,自然它们原本的正常功能就受损,进而出现对应的症状。再加上未成熟的白细胞会渗入身体其他组织,渗入到哪儿,哪儿就会出现症状。&/p&&br&&p&所以,只要知道血液的4种成分是干嘛的,再理解了白血病的一个核心特征(未成熟的白细胞多了),自然就会推导出几十种症状,所以症状就不用背了。&br&&/p&&br&&p&回到咱们说的严肃科普书籍上。&/p&&br&&p&一本系统性组织的图书,会先告诉你一个主干,让读者对整体知识有一个全面的了解。然后,会按照一定的顺序告诉读者每一个分支的具体情况。这样,读者的脑海中就会形成一棵树,只需要记住树干,理解分支的逻辑,然后几乎完整的一整棵树就会存在于读者的脑海中。&/p&&br&&p&比如《人类进化圣典》中,有相当篇幅是讲人类进化的过程中经历的各个人种。这个部分在开始时,有一幅谱系图,清楚地标注了各个人种在时间长河中的进化顺序:&br&&/p&&br&&img src=&/50/v2-d1f2f895bc5ffb22f5a0a693_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-d1f2f895bc5ffb22f5a0a693_r.jpg&&&p&然后就是依照时间顺序逐一介绍每个人种的相关知识。&/p&&br&&p&全部介绍完毕后,又按照时间顺序给出这些人种的头部对比:&/p&&img src=&/50/v2-9cc5e97c3b22f37a7cb6fc2152e0ffa6_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-9cc5e97c3b22f37a7cb6fc2152e0ffa6_r.jpg&&&br&&p&我儿子最喜欢的就是这两页,大家从照片中可以看到,这两页都翻烂了,都是用胶带粘上的。&/p&&br&&p&讲每个人种的内容遵循了几乎一致的结构。&/p&&br&&p&开始是面部特写:&/p&&img src=&/50/v2-ba9e6dd38edaa21727c1_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-ba9e6dd38edaa21727c1_r.jpg&&&br&&p&然后讲一下遗址怎么发现的:&img src=&/50/v2-1cdaad5a6bc5a84cb7506e_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-1cdaad5a6bc5a84cb7506e_r.jpg&&&/p&&br&&p&身体结构特征:&img src=&/50/v2-fd03ea62a56c02e0d8c8_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-fd03ea62a56c02e0d8c8_r.jpg&&&/p&&br&&p&头部特征:&img src=&/50/v2-ba71efbdb9bc_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-ba71efbdb9bc_r.jpg&&&/p&&br&&p&生活场景:&img src=&/50/v2-01b2ab52b4e9e0ab26b13_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-01b2ab52b4e9e0ab26b13_r.jpg&&&/p&&br&&p&由于每一个人种都讲这些,所以前后章节之间的联系就很紧密了。小朋友很容易看出,在进化过程中,各个方面都从古猿越来越靠近现代人。&/p&&br&&p&系统性组织的科普书籍,前后内容不会是孤立的,而是有紧密联系。读者看到每一个部分都会自动把它和别的内容联系起来,并清楚地知道其在整个知识结构中的位置。&br&&/p&&br&&p&如果要举一个反例,还是《十万个为什么》。&/p&&br&&p&这类书里面的组织结构是靠很多问题来支撑的,问题通常来说五花八门,以猎奇的问题为主。这个问题和下一个问题没有必然联系,即使把所有问题的顺序随机交换,也是没有关系的。所以,这样的书看过之后,在脑子里留不下什么。&/p&&br&&blockquote&&p&tip:书对路自然事半功倍&/p&&/blockquote&&br&&p&&b&3 讲书有讲究&/b&&/p&&br&&p&通常来说,小朋友是不能自己看懂科普书籍的,肯定需要父母讲。&/p&&br&&blockquote&&p&讲究1:父母自己得先看懂&/p&&/blockquote&&p&有的科普书籍,其实蛮难的,其中的知识父母也未必全知道,所以,父母得先花时间读一下,自己先看懂。否则,在讲书过程中难有好的效果。&/p&&br&&p&再一个,书中的内容并非要全讲,也并非只能讲书中的内容。根据孩子的理解能力、生活经验等具体情况,在讲书过程中应该进行筛选和发散。而这要求父母对所讲内容是能够掌控的。&/p&&br&&blockquote&&p&讲究2:重点是理解,而非记忆&/p&&/blockquote&&p&让小朋友背诵知识点,是低效而又无趣的,宏观上也没有必要。应当着重引导小朋友去发现和理解众多知识点下面的潜在逻辑。并通过系统性地组织,将知识点串在一起。&/p&&br&&p&这本质上是在学习如何学习。&/p&&br&&blockquote&&p&讲究3:对比和联想是高阶的乐趣&/p&&/blockquote&&p&书不必按顺序从第一页看到最后一页。看到和前面的内容有关联的内容,可以引导小朋友翻来覆去地对比,以及进行联想。这件事情本身是很有乐趣的,其体现了小朋友对已读内容的掌握,小朋友完成后会有一种满足感。&/p&&br&&img src=&/50/v2-6daa69d517dffd089041f_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-6daa69d517dffd089041f_r.jpg&&&p&上面这张图,是我儿子后来在另外一本书中也看到了黑猩猩的骨架,于是自己去把《人类进化圣典》中相关的一页翻出来,说要对比一下两个骨架有什么不同。最后他的结论是颜色不同。尽管这种对比方式不是我们成人的对比方式,但我觉得一点也无妨。&/p&&br&&blockquote&&p&讲究4:结合多媒体&/p&&/blockquote&&p&书有很多优点,但也有一个缺点,就是是静态的,不如动态的看着鲜活。&/p&&br&&p&如果小朋友在某一个方面表现出很强的兴趣,就可以在这个方面再更多地进行一下。比如可以找一些相关的视频再给小朋友看一下。&/p&&br&&p&我儿子不是对人类进化感兴趣么?我就陆续找了4、5部讲人类进化的纪录片,跟他一起看。看完每一部,再结合之前从书中看的内容,进行讨论。&/p&&br&&blockquote&&p&讲究5:定期得安排复习&/p&&/blockquote&&p&根据人脑长期记忆的原理,定期复习会巩固长期记忆的效果。另外,过了一段时间,会从其他地方吸收到很多新的知识,那么复习过程就有可能在新知识和老知识中建立桥梁,从而进一步加深理解。&/p&&br&&p&这本质上也不是真的为了学习某种知识,而是学习如何学习。&/p&&br&&p&我会不定期地将儿子看过的书再讲,当然复习的过程会讲得快一些。他本人对这一过程已经非常适应,过一段时间会自己要求复习哪一本。&/p&&br&&blockquote&&p&tip:亲子阅读的过程,本质上是父母传递信息、价值和方法论的过程,润物细无声是最高境界。&/p&&/blockquote&&p&&b&4 理论联系实际&/b&&/p&&br&&p&书上看的东西,有的距离我们的生活有点距离。像本文所说的人类进化,就属于距离我们生活很遥远的东西,要想理论联系实际有点困难。但其实只要想办法,都能处理的。&/p&&br&&p&如前文所述,我儿子3岁1个月的时候开始看的《人类进化圣典》。&/p&&br&&p&在他3岁4个月的时候,我带他去了古脊椎动物博物馆,其中有一个展厅是古人类。他进去之后,根本不需要我指引,自己就逛了起来:&/p&&img src=&/50/v2-689a496d317b04a9dabe_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-689a496d317b04a9dabe_r.jpg&&&img src=&/50/v2-2ae1f399eff87abecf161_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-2ae1f399eff87abecf161_r.jpg&&&img src=&/50/v2-d941f8fcafac_b.jpg& data-rawwidth=&1280& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/50/v2-d941f8fcafac_r.jpg&&&br&&br&&p&在他3岁9个月的时候,我们去香港旅行,路过一个小小的博物馆,是香港古人类马湾人的博物馆,立刻就进去看了:&/p&&img src=&/50/v2-c297f7c7ff64573ff95bbda8_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-c297f7c7ff64573ff95bbda8_r.jpg&&&img src=&/50/v2-e54d42a3dea693a387823_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-e54d42a3dea693a387823_r.jpg&&&br&&p&他4岁生日的时候,我们送他的礼物,是带他去周口店住了3天,每天去周口店北京人遗址和博物馆参观,他兴奋极了,指着每一样东西跟我们讨论:&/p&&img src=&/50/v2-9b0dbfd18_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-9b0dbfd18_r.jpg&&&img src=&/50/v2-ce4001df30ac_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-ce4001df30ac_r.jpg&&&img src=&/50/v2-fd263c17c1f450bb45aca5f481f0d552_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-fd263c17c1f450bb45aca5f481f0d552_r.jpg&&&img src=&/50/v2-a14ce6adc7_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-a14ce6adc7_r.jpg&&&br&&p&下面这张图,是他看在古人类的头骨,想和现代人的头比较一下,看谁的脑容量大。于是,我给他建议可以把自己的帽子摘下来,和古人类进行比较:&/p&&br&&img src=&/50/v2-ab636a7b2eac6d6143874_b.jpg& data-rawwidth=&960& data-rawheight=&1280& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/50/v2-ab636a7b2eac6d6143874_r.jpg&&&br&&blockquote&&p&tip:把书中内容和现实世界建立联系,更有利于小朋友加深理解,增进兴趣。&/p&&/blockquote&&br&&p&&b&5 总结&/b&&/p&&br&&p&本文写得很长了。&/p&&br&&p&在文章的最后,我想写一下为什么我要给孩子看严肃的科普书籍。&/p&&br&&p&&b&首先,看科普书籍当然是要学知识。&/b&&/p&&br&&p&现在有一种流行的说法,认为给孩子灌输知识是不对的,应该让孩子无忧无虑地玩。&/p&&br&&p&我部分同意这种说法,我也认为灌输是不对的,但这是方法不对,不是目标不对。换一种方法,看书也可以是一种玩,玩中顺便学点知识,知道更大的世界。&/p&&br&&p&&b&其次,比学知识更重要的是学习学习的方法。&/b&&/p&&br&&p&孩子们早晚是要上学的,上学之后是要学习的。而学习本身是讲方法的。&/p&&br&&p&方法不合适的学习过程是书山有路勤为径,学海无涯苦作舟。&/p&&br&&p&方法合适的学习过程是充满乐趣与快感的。&/p&&br&&p&让孩子从一开始就能去感受并寻找适合自己的学习方法,是很重要的。&/p&&br&&p&&b&最后,比学习方法更重要的是过程中获得乐趣。&/b&&/p&&br&&p&乐趣不仅对孩子,对成年人也是很重要的。有乐趣的事情,更容易达到自我驱动的效果,尤其对孩子更是这样。&/p&&br&&p&看书获得的乐趣可以有很多种,有一些是很独特的,难以用别的过程替代。&/p&&br&&p&我们去参观周口店北京人遗址,遇到了很多游客,以我观察绝大多数人在看北京人和山顶洞人时完全是茫然的,通常在一个展位不会停留超过10秒钟。而我和我儿子的第一句对话是,北京人是直立人,山顶洞人是智人。这句话就把我们要看的东西和我们脑中的知识树建立了连接,接下来的参观过程就顺理成章了。&/p&&br&&p&正是因为我儿子感受到了这类书的乐趣,所以一发不可收拾,目前我家这种严肃科普书籍得有20多本。每次买回来一本,他都高兴得不行。客观说,复杂的书比简单的书往往更耐看也更有趣。&/p&&br&&p&文章的末尾,我放一个视频。这个视频是在我儿子3岁2个月的时候录的,他在有一天晚上从卧室去厕所洗澡的路上,突然就唱出了这首歌。这首歌的歌词完全是他自己编的,用的是有代表性的一些人种名称,曲子是《字母歌》的曲子,完事之后他自己给这首歌起了一个名字叫《撒哈儿人乍得种之歌》。从这个过程可以看出看《人类进化圣典》的过程对他来说是快乐的:&/p&&p&&a class=&video-box& href=&/?target=https%3A///x/page/y.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&撒哈儿人乍得种之歌 - 腾讯视频& data-poster=&///qqvideo_ori/0/y_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&///qqvideo_ori/0/y_228_128/0&&&span class=&content&&
&span class=&title&&撒哈儿人乍得种之歌 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/x/page/y.html&/span&
&/p&&p&=====================&/p&&p&未经授权,禁止转载!&/p&&p&欢迎关注微信公众号:奶爸de自我修养&/p&&p&微信号:DaddyGrowUp&/p&&p&不爱鸡汤,只有干货!&/p&
常有朋友给我留言,让我推荐宝宝看的科普书籍,但我一直没敢推荐。最重要的原因是我认为科普书籍在各方面都有更高的要求,如果处理不当可能会磨灭小朋友对此的兴趣。本文的主角是这本叫《人类进化圣典》的书(现在出了新版换了个名字)。它是很严肃的科普书…
&img src=&/50/v2-f273eec3ce56b834f2dda_b.jpg& data-rawwidth=&1024& data-rawheight=&696& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/50/v2-f273eec3ce56b834f2dda_r.jpg&&&p&&a href=&/?target=http%3A//mp./s/QrjpyIRdx9kgEljna4gE0A& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&原文链接&i class=&icon-external&&&/i&&/a&:&a href=&/p/& class=&internal&&知乎专栏&/a&&/p&&h1&目录:&/h1&&p&一、为什么要做一份数据报告&br&二、制作数据报告的流程&/p&&h1&一、为什么要做一份数据报告&/h1&&p&你是一个在校学生,上着自己喜欢或不喜欢的课,闲来无事,你打开知乎,看到了数据分析话题,你下定决心要成为一个数据分析师,你搞来一堆学习资料和在线课程,看完之后自信满满,准备去投简历,然后发现不清楚各种工具和模型的适用范围,也不知道数据报告需要包括哪些内容,面试的感觉就是一问三不知……&br&你是一个工作了一段时间的白领,你觉得现在这份工作不适合你,你下班以后去逛知乎,在上面看到很多人在说大数据代表未来,数据分析师是21世纪最性感的十大职业之一……你激动了,你也要成为数据分析师,你利用空余时间补上了统计知识,学了分析工具,然后发现自己目前的工作跟数据分析没啥关系,觉得没有相关经验没公司要你……&br&这些问题的根源是什么?一句话可以概括:你没有办法在最短的时间内向招聘者展示,你能够胜任数据分析这项工作。&br&我在之前的回答如何快速成为数据分析师? - 陈丹奕的回答中,提出过一个“100小时学习计划”,在开始投简历前的最后一步,我建议用25个小时——占整个计划的四分之一,来做一份数据报告,这个步骤至少能为你带来三个好处:&br&检验你的学习成果——数据分析是一门实用学科,能灵活运用学到的知识做出成果,比通过任何考试都重要;&br&测试你是否真的想做/适合做数据分析工作——比起你转行后用半年或是一年时间来发现自己的真实想法,不如在此之前就看看你能否做好这份工作,或是从其中得到乐趣;&br&展示你具有的能力——程序员的世界里讲究“No more talk,Show me the code”,数据分析师同样可以“Show me the report”,一份内容完整的数据报告,能帮你的面试官省下很多判断/评估/纠结的时间,给你更多的机会。&/p&&p&写了一大堆做数据报告的好处,那么以一个初学者的水平,如何去做一份数据报告呢?下文细说。&/p&&h1&二、制作数据报告的流程&/h1&&p&先放一张图&/p&&img src=&/50/v2-78b75b94c495_b.jpg& data-rawwidth=&600& data-rawheight=&227& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50/v2-78b75b94c495_r.jpg&&&p&可以很清楚的看到,一个数据报告(副本)依据需求不同,有普通难度(蓝-&橙-&绿-&红),也有英雄难度(蓝-&橙-&绿+黄-&红),这次我们先讲普通难度的攻略,英雄难度放到下次讲。&br&普通难度的数据报告要经历7个步骤:&/p&&h3&Step 1:目标确定&/h3&&p&这一步在工作中通常是由你的客户/上级/其他部门同事/合作方提出来的,但第一次的数据报告中,需要你自己来提出并确定目标。&br&选择目标时,请注意以下几点:&br&选择一个你比较熟悉,或者比较感兴趣的领域/行业;&br&选择一个范围比较小的细分领域/细分行业作为切入点;&br&确定这个领域/行业有公开发表的数据/可以获取的UGC内容(论坛帖子,用户点评等)。&/p&&p&逐一分析上面三个注意点:&br&选择熟悉/感兴趣的领域/行业,是为了保证你在后续的分析过程中能够真正触及事情的本质——这一过程通常称为洞察——而不是就数字论数字;&br&选择细分领域/行业作为切入点,是为了保证你的报告能够有一条清晰的主线,而非单纯堆砌数据;&br&确定公开数据/UGC内容,是为了保证你有数据可以分析,可以做成报告,你说你是个军迷,要分析一下美国在伊拉克的军事行动与基地组织恐怖活动之间的关系……找到了数据麻烦告诉我一声,我叫你一声大神……&br&不管用什么方法,你现在有了一个目标,那么就向下个阶段迈进吧。&/p&&h3&Step 2:数据获取&/h3&&p&目标定下来了,接下来要去找相应的数据。如果你制定目标时完全遵循了第一步的三个注意点,那么你现在会很明确要找哪些数据。如果现在你还不确定自己需要哪些数据,那么……回到第一步重来吧。&br&下面我总结一下,在不依赖公司资源,不花钱买数据的情况下,获取目标数据的三类方法:&br&一是从一些有公开数据的网站上复制/下载,比如统计局网站,各类行业网站等,通过搜索引擎可以很容易找到这些网站。举例:要找汽车销量数据,在百度输入“汽车销量数据查询”关键字,结果如下:&/p&&img src=&/50/v2-a4c5c2b0d47cd78c7084_b.jpg& data-rawwidth=&600& data-rawheight=&437& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50/v2-a4c5c2b0d47cd78c7084_r.jpg&&&p&我打码的那个链接,也就是第三个链接(第一个非推广链接)就是要找的结果,点进去可以看到各月的汽车销量,但只是全国数据,没有分省统计数据。&br&当然不会每次找数据都这么顺利,这里只是告诉你:要善用搜索引擎。&br&二是通过一些专门做数据整理打包的网站/api来下载,如果你要找金融类的数据,这种方法比较实用。其他类型的数据也有人做,但通常要收费。另外,淘宝上有很多帮人抓数据的店……&br&三是自行收集所需数据,比如用爬虫工具爬取点评网站的商家评分、评价内容等,或是直接自己人肉收集(手工复制下来),亦或是找一个免费问卷网站做一份问卷然后散发给你身边的人,都是可以的。这种方式受限制较少,但工作量/实现难度相对较大。&br&如果你是在职人员或是实习生,我建议你不要用任何现在公司的数据。保证数据的安全性,不对外泄露公司的任何非公开数据,是数据分析师的基本职业道德。实在非要用(例如你要在面试中展示你在以前公司做过的数据报告),请将一切有意义的内容,包括但不限于各种数字、竞品及本品名称、时间、用户属性全部打码并转成pdf格式,只留图形和叙事逻辑描述内容。&/p&&h3&Step 3:数据清洗&/h3&&p&在工作中,90%以上的情况,你拿到的数据都需要先做清洗工作,排除异常值、空白值、无效值、重复值等等。这项工作经常会占到整个数据分析过程将近一半的时间。&br&如果在上一步中,你的数据是通过手工复制/下载获取的,那么通常会比较干净,不需要做太多清洗工作。但如果数据是通过爬虫等方式得来,那么你需要进行清洗,提取核心内容,去掉网页代码、标点符号等无用内容。&br&无论你采用哪一种方式获取数据,请记住,数据清洗永远是你必须要做的一项工作。&/p&&h3&Step 4:数据整理&/h3&&p&清洗过后,需要进行数据整理,即将数据整理为能够进行下一步分析的格式,对于初学者,用Excel来完成这一工作就OK。&br&如果你的数据已经是表格形式,那么计算一些二级指标就好,比如用今年销量和去年销量算出同比增长率。鉴于你是第一次做数据报告,建议你不要计算太多复杂的二级指标,基本的同比、环比、占比分布这些就OK。&br&如果你收集的是一些非数字的数据,比如对商家的点评,那么你进行下一步统计之前,需要通过“关键词-标签”方式,将句子转化为标签,再对标签进行统计。&/p&&h3&Step 5:描述分析&/h3&&p&描述分析是最基本的分析统计方法,在实际工作中也是应用最广的分析方法。描述统计分为两大部分:数据描述和指标统计。&br&数据描述:用来对数据进行基本情况的刻画,包括:数据总数、时间跨度、时间粒度、空间范围、空间粒度、数据来源等。如果是建模,那么还要看数据的极值、分布、离散度等内容。这次我们是零基础做数据报告,那么就不用考虑后一类数据了。&br&指标统计:用来作报告,分析实际情况的数据指标,可粗略分为四大类:变化、分布、对比、预测;&br&变化:指标随时间的变动,表现为增幅(同比、环比等);&br&分布:指标在不同层次上的表现,包括地域分布(省、市、区县、店/网点)、用户群分布(年龄、性别、职业等)、产品分布(如动感地带和全球通)等;&br&对比:包括内部对比和外部对比,内部对比包括团队对比(团队A与B的单产对比、销量对比等)、产品线对比(动感地带和全球通的ARPU、用户数、收入对比);外部对比主要是与市场环境和竞争者对比;这一部分和分布有重叠的地方,但分布更多用于找出好或坏的地方,而对比更偏重于找到好或坏的原因;&br&预测:根据现有情况,估计下个分析时段的指标值。&br&以上部分引用自我的一个回答面试中针对一个企业的数据分析场景应该怎么去分析?应届生还不懂怎么结合企业业务做系统的分析,求指点 - 陈丹奕的回答,希望进一步了解的话,可以进这个答案。&br&描述分析的产出是图表,下一个步骤的内容将基于这些图表产出。&/p&&h3&Step 6:洞察结论&/h3&&p&这一步是数据报告的核心,也是最能看出数据分析师水平的部分。一个年轻的分析师和一个年迈的分析师拿到同样的图表,完全有可能解读出不同的内容。&br&举个例子:&/p&&img src=&/50/v2-4eb5f9bb52d0e661ae64cabd_b.jpg& data-rawwidth=&481& data-rawheight=&289& class=&origin_image zh-lightbox-thumb& width=&481& data-original=&/50/v2-4eb5f9bb52d0e661ae64cabd_r.jpg&&&p&年轻的分析师:2013年1月销售额同比上升60%,迎来开门红。2月销售额有所下降,3月大幅回升,4月持续增长。&br&年迈的分析师:2013年1月、2月销售额去除春节因素后,1月实际同比上升20%,2月实际同比上升14%,3月、4月销售额持续增长。&br&看到两者的区别了吗?2013年春节在2月,2012年则在1月,因此需要各去除一周的销售额,再进行比较。如果不考虑这一因素,那么后续得出的所有结论都是错的。挖掘数字变化背后的真正影响因素,才是洞察的目标。&br&再举个例子:&/p&&img src=&/50/v2-c93c92d51b1c4ae_b.jpg& data-rawwidth=&600& data-rawheight=&284& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50/v2-c93c92d51b1c4ae_r.jpg&&&p&这张图是一个用户行为聚类的结果,人群被聚成四类。前三类人群可以很清楚的得出结论:他们是某一种游戏主机的用户。那么第四类人群,是什么人群呢?&br&年轻的分析师:第四类人群是游戏主机的狂热爱好者,他们交易频率远高于一般用户。&br&年迈的分析师:第四类人群是二手贩子,否则谁没事一年内会搞将近7台索尼主机放家里。&br&很明显,年迈的分析师由于具备丰富的行业经验,能迅速看穿数据背后的真实情况,得出正确的洞察结论,这也是为什么我在step 1里一再强调要找你熟悉或感兴趣的领域/行业,缺乏业务经验,很可能你的洞察结果是完全错误的。&br&以上这两个洞察的例子本身比较简单,但通常来说,即使是复杂的数据报告,也是由一个个相对简单的洞察结论组成的,这其中涉及到问题的分拆,逻辑线的建立等一系列内容。作为初学者,做到自己力所能及的程度就好。&br&总结一下,所谓洞察,就是要越过数据,去推测和理解真实情况。单纯描述数据,谁都会做,根据数据得出有价值的结论,报告才有意义。&/p&&h3&Step 7:报告撰写&/h3&&p&都到这一步了,相信各位对数据报告也不再陌生了。这一步中,需要保证的是数据报告内容的完整性。&br&一个完整的数据报告,应至少包含以下六块内容:&br&报告背景&br&报告目的&br&数据来源、数量等基本情况&br&分页图表内容及本页结论&br&各部分小结及最终总结&br&下一步策略或对趋势的预测&/p&&p&其中,背景和目的决定了你的报告逻辑(解决什么问题);数据基本情况告诉对方你用了什么样的数据,可信度如何;分页内容需要按照一定的逻辑来构建,目标仍然是解决报告目的中的问题;小结及总结必不可少;下一步策略或对趋势的预测能为你的报告加分。&br&还觉得复杂么?我再换一种说法:&br&各位应该都写过议论文,一份好的数据分析报告其实就是一篇好的议论文,立论(背景)——破题(目的)——列举论据(图表+结论)——论证论点(小结及总结)——结题(策略或预测)。按照这个逻辑去组织你的报告,你的论点就很容易被人接受,自然能得高分喽。&/p&&img src=&/50/v2-78b75b94c495_b.jpg& data-rawwidth=&600& data-rawheight=&227& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/50/v2-78b75b94c495_r.jpg&&&br&&p&那么,普通难度的数据报告做法就是这样了。高深的固然要更难一些,但是普通的已经将整体的路径将的很清楚了。&/p&
:目录:一、为什么要做一份数据报告 二、制作数据报告的流程一、为什么要做一份数据报告你是一个在校学生,上着自己喜欢或不喜欢的课,闲来无事,你打开知乎,看到了数据分析话题,你下定决心要成为一个数据分析师,你搞来一堆学习资料和…
前阵子在Coursera上了infographic的课(&a href=&///?target=https%3A//www.coursera.org/learn/infographic-design/home/welcome& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/learn/info&/span&&span class=&invisible&&graphic-design/home/welcome&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&),课上涉及了几个,觉得应该适用于对编程语言不熟悉也不大会用AI的小朋友&br&&br&&a href=&///?target=https%3A//plot.ly/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Plotly&i class=&icon-external&&&/i&&/a&&br&很方便的一点是和R, python, Excel等常见的数据处理软件/语言之间都是有API接过去&br&&img src=&/7d1d32f205ade4c1f9236a_b.png& data-rawwidth=&1440& data-rawheight=&833& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/7d1d32f205ade4c1f9236a_r.png&&&br&&br&&a href=&///?target=http%3A//datavisu.al/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Datavisual&i class=&icon-external&&&/i&&/a&&br&&img src=&/2ca6d74e632a0ffcfbfbb5_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/2ca6d74e632a0ffcfbfbb5_r.png&&&br&&br&&a href=&///?target=http%3A//infogr.am/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Infogra.am&i class=&icon-external&&&/i&&/a&&br&&img src=&/d5dda17b_b.png& data-rawwidth=&1440& data-rawheight=&838& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/d5dda17b_r.png&&&br&&br&下面这几个应该比较符合大家对infographic的普遍预期,相比传统的数据可视化要有趣很多&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PiktoChart&i class=&icon-external&&&/i&&/a&&br&&img src=&/8bed3cf41fa_b.png& data-rawwidth=&1440& data-rawheight=&835& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/8bed3cf41fa_r.png&&&br&&br&&a href=&///?target=https%3A//www.easel.ly/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Easel.ly&i class=&icon-external&&&/i&&/a&&br&&img src=&/c56ab91fcbc12c9be4ea_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/c56ab91fcbc12c9be4ea_r.png&&&br&&br&著名的tableau的public version&br&&a href=&///?target=https%3A///s/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tableau Public&i class=&icon-external&&&/i&&/a&&br&&br&&img src=&/3e90dff9d19ee990406bbfa456f8efeb_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/3e90dff9d19ee990406bbfa456f8efeb_r.png&&&br&&br&&a href=&///?target=http%3A//www.visme.co/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visme&i class=&icon-external&&&/i&&/a&&br&Visme有个Blog非常好,很多人特别在意infographic是因为觉得表现形式看起来特别高级,其实内在的思路非常重要,要养成如何正确看待数据、发现数据之间的内在联系的好习惯&br&&a href=&///?target=http%3A//blog.visme.co& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visual Learning Center by Visme, Infographics & Presentation Resources&i class=&icon-external&&&/i&&/a&&br&&img src=&/fc48ca6de6638bbb8748ddc30dca0c12_b.png& data-rawwidth=&1440& data-rawheight=&831& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/fc48ca6de6638bbb8748ddc30dca0c12_r.png&&&br&&br&&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Canva&i class=&icon-external&&&/i&&/a&&br&偏图形设计,其实适合用来做Presentation多一点,也可以用于infographic后期的美化&br&&img src=&/bbd31affcb_b.png& data-rawwidth=&1440& data-rawheight=&839& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/bbd31affcb_r.png&&&br&&br&*免费账号的模版应该就够用了,如果日常工作有特别强的需求的话,再考虑付费版本
前阵子在Coursera上了infographic的课(),课上涉及了几个,觉得应该适用于对编程语言不熟悉也不大会用AI的小朋友
很方便的一点是和R, python, Excel等常见的数据处理软件/语言之间…
和一个前同事以前都很爱研究Excel:他走快捷键+函数的路线;我走VBA的路线,而且不怎么记忆快捷键。我感觉他是点错了科技树,他的路线就是马车,快捷键就是在马鞍、马镫等细枝末节上下文章,最终还是生物驱动的车。而VBA路线是蒸汽火车或者高铁。结果也是如此,VBA程序驱动的Excel,在效率上可以远胜过在那里吭哧吭哧按快捷键的肉身。&br&&br&因此建议与其死记硬背快捷键,不如好好学习和使用VBA,详见&a href=&/question//answer/& class=&internal&&Excel 到底有多厉害? - 何明科的回答&/a&。不过后来进一步深入使用Excel,发现快捷键还是很有价值的,如同不少程序员迷恋VIM。因此本回答就罗列一些本人最常用的供大家参考,保证不用死记硬背那么多快捷键,一样可以飞。&br&&br&&b&1、最最常用而必须记住的&/b&&br&Ctrl+C/V/X/S/F:不想解释了,自己去查,这5个必须在最开始就熟练掌握&br&&br&&b&2、移动焦点&/b&&br&Ctr+↑↓← → :切换到有内容区域的上下左右的尽头&br&Ctr+Shift+↑↓← → :切换到有内容区域的上下左右的尽头并选中该区域&br&Ctrl+PgUp/PgDn:在工作表选项卡之间从左至右(从右至左)进行切换&br&&br&&b&3、编辑格式&/b&&br&Alt+E+S:调出“选择性粘贴”的界面,&br&Ctrl+Shift+%:使用不带小数位的“百分号”格式&br&Ctrl+Shift+^:使用带有两位小数的科学计数格式&br&Ctrl+;:输入当前日期&br&Ctrl+B:使用或取消加粗格式设置&br&Ctrl+U:使用或取消下划线&br&&br&&b&4、操作&/b&&br&Ctr+Y/Z:重复或撤销上一次操作&br&Alt+I+W:插入新的工作表&br&Alt+F11:打开VBA编辑器(VBA是最爱,详见&a href=&/question//answer/& class=&internal&&Excel 到底有多厉害? - 何明科的回答&/a&)&br&&br&&blockquote&更多文章请到&a href=&/hemingke& class=&internal&&数据冰山 - 知乎专栏&/a&&br&更多回答请看&a href=&/people/he-ming-ke& class=&internal&&何明科的主页&/a&&/blockquote&
和一个前同事以前都很爱研究Excel:他走快捷键+函数的路线;我走VBA的路线,而且不怎么记忆快捷键。我感觉他是点错了科技树,他的路线就是马车,快捷键就是在马鞍、马镫等细枝末节上下文章,最终还是生物驱动的车。而VBA路线是蒸汽火车或者高铁。结果也是如…
&u&思路很简单,主要看细节。&/u&&br&&b&Thinking is shit, god wanna see details.(误&/b&&br&&br&首先上结果:&br&&img src=&/a1e360c20b49ab3b5fc30_b.png& data-rawheight=&3000& data-rawwidth=&2000& class=&origin_image zh-lightbox-thumb& width=&2000& data-original=&/a1e360c20b49ab3b5fc30_r.png&&&br&&br&&br&细节:&br&&img src=&/e6d752bb94e8572701fdc4eae03514d2_b.png& data-rawheight=&322& data-rawwidth=&231& class=&content_image& width=&231&&&br&&img src=&/32c51eb24f8b69f2b8047_b.png& data-rawheight=&731& data-rawwidth=&688& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&/32c51eb24f8b69f2b8047_r.png&&&br&&img src=&/6f0b42cfe1b4f75c8bf5a276_b.png& data-rawheight=&504& data-rawwidth=&387& class=&content_image& width=&387&&&br&&img src=&/a5a845552bfbff4d770f_b.png& data-rawheight=&552& data-rawwidth=&341& class=&content_image& width=&341&&&br&&img src=&/4c8ae46beb9_b.png& data-rawheight=&209& data-rawwidth=&569& class=&origin_image zh-lightbox-thumb& width=&569& data-original=&/4c8ae46beb9_r.png&&&br&说实话还是有点惨不忍睹,素材像素低是一个主要原因。&br&&br&下面是思路:&br&&br&&p&建立三个面的形状&/p&&img src=&/e80b2ecc6eeac629f8cecb2_b.png& data-rawheight=&305& data-rawwidth=&308& class=&content_image& width=&308&&&img src=&/b1c36745edbaf7f_b.png& data-rawheight=&344& data-rawwidth=&342& class=&content_image& width=&342&&&img src=&/276f700ab28d1a8e94ec0b795f4c064a_b.png& data-rawheight=&286& data-rawwidth=&324& class=&content_image& width=&324&&&p&再加一个底层,得到下面的几何图形&img src=&/a0aafc35ba8bda4ccc2df4f2_b.png& data-rawheight=&496& data-rawwidth=&583& class=&origin_image zh-lightbox-thumb& width=&583& data-original=&/a0aafc35ba8bda4ccc2df4f2_r.png&&&/p&&br&&p&把三个海的图层扔进去,用每个面的选区做蒙版&/p&&img src=&/2c62bbbab0f2ad4dc53df1_b.png& data-rawheight=&118& data-rawwidth=&224& class=&content_image& width=&224&&&p&效果如下&/p&&img src=&/ff7da4ab9afbd0a784cf4f_b.png& data-rawheight=&385& data-rawwidth=&379& class=&content_image& width=&379&&&p&再加一个土层&/p&&p&&b&素材不合适要拉伸!&/b&&/p&&img src=&/86eda0b326ecbee7ef8cc993a4325520_b.png& data-rawheight=&398& data-rawwidth=&366& class=&content_image& width=&366&&&p&再加点其他素材,用快速选择抠图&/p&&img src=&/bcef1fb87d30f1f_b.png& data-rawheight=&379& data-rawwidth=&378& class=&content_image& width=&378&&&img src

我要回帖

更多关于 迪奥888和080好纠结 的文章

 

随机推荐