python是什么能干啥_人生苦短,python能干啥?

互联网浪潮来袭,人们已经进入数字化时代,科技的进步离不开一批批程序员的创意Idea,如果说过去一年编程语言界最流行的语言是什么,毫无疑问python首当其冲。如果你经常关注互联网相关新闻,你会看到如下几条信息:

1、Python将纳入浙江省高考!从 2018 年起浙江省信息技术教材编程语言将会更换为 Python。

2、Python纳入山东省的小学教材课程,小学生都开始接触 Python 语言了。

3、Python 将加入全国计算机等级考试!教育部考试中心决定自2018年起,在计算机二级考试加入了“Python语言程序设计”科目。

可想而知,python的火爆程度连小学生都折服了,作为一名大学生不知道python为何物,会不会分分钟被鄙视哦。究其火爆原因,是因为人工智能时代已经到来,你可以看到许多人工智能产品已经落地,比如苹果手机上的siri问答助手,谷歌旗下DeepMind研发的阿尔法狗智能程序等,还有最近互联网巨头百度、阿里、小米、京东等疯狂发布低价智能音箱,为的就是布局人工智能。而人工智能的核心是深度学习算法的实现,这一算法对于python语言来说是最好的实现路径,因此,人工智能火爆的背后必然会引起python的流行。

如果您正在考虑学习Python,或者您最近刚开始学习,您可能会问自己:

“我到底可以用Python做什么?”

这是个棘手的问题,因为Python有很多用途。但是随着时间的推移,我发现Python主要可用于一下三个方面:Web开发

数据科学——包括机器学习、数据分析和数据可视化

脚本编写

Web开发

像Django和Flask这样基于Python的Web框架最近在web开发中变得非常流行。

这些web框架帮助您用Python创建服务器端代码(后端代码)。这些代码在您的服务器上而不是在用户设备以及浏览器上(前端代码)运行。

但是,等等,我为什么需要web框架呢?

那是因为web框架让构建通用后端逻辑变得更简单了。这包括把不同的URL映射到Python代码块、处理数据库和生成用户在浏览器中看到的HTML文件。

我应该用哪个Python web框架?

Django和Flask是两种最流行的Python web框架。如果您刚刚开始学习,那么可以用它们中的任何一个。

数据科学 —— 包括机器学习、数据分析和数据可视化

首先,我们来回顾一下什么是机器学习。

我认为,解释什么是机器学习的最好方法莫过于举个例子。

假设您想开发一个程序用于自动检测图片中的内容。

因此,对于下面的这张图片(图片1),您希望您的程序能识别出这是条狗。cv7566231

而对于下面的这张图片(图片2),您希望您的程序能识别出它是张桌子。cv7566231

您也许会说,我可以用几行代码搞定。例如,如果在图片上有很多淡棕色的像素,那么我们可以说那是狗。

或者,您可以找到在照片中检测边缘的方法。然后,您也许会说,如果有很多直边,那么那就是一张桌子。

但是,这种方法很快就遇到麻烦了。如果图片上是条没有棕色毛发的白狗怎么办?如果图片上显示的只是桌子的圆形部分呢?

轮到机器学习大显身手了。

机器学习可实现一些算法,能自动检测给定输入中的模式。

比如,您给机器学习的算法提供1000张狗的照片和1000张桌子的照片。那么,它将会学习区别狗和桌子。当您给出一张狗或桌子的新图片时,它将能够识别出是狗还是桌子。

我认为,这和婴儿学习新事物有点类似。婴儿是如何知道一样东西看起来像狗,而另一样东西看起来像桌子呢?可能就是从大量的例子中学到的。

您也许不会明确地告诉一个婴儿:“如果一样东西是毛茸茸的,并且有着淡棕色的毛发,那么它可能是条狗。”

您可能只是说:“那是条狗。这也是条狗。这是桌子。那也是桌子。”

机器学习算法的工作方式大致相同。

您可以把同样的想法应用于:推荐系统(像YouTube、Amazon和Netflix在用的)

面部识别

声音识别

您可能听说过的流行的机器学习算法包括:神经网络

深度学习

支持向量机

随机森林

您可以使用任何一个上述算法来解决我刚才解释过的图片标注问题。

将Python用于机器学习

有一些流行的Python机器学习库和框架,其中最流行的两个是scikit-learn和TensorFlow。scikit-learn附带了一些更流行的内置机器学习算法。我刚才提到了其中的几个。

TensorFlow更像是个低级库,它允许您构建自定义机器学习算法。

如果您刚开始一个机器学习项目,那么我建议您先用scikit-learn。如果您开始遇到效率问题,那么我建议用TensorFlow。

那么数据分析和数据可视化呢?

为了帮助您理解,我在这里给您举个简单的例子。假设,您为一家在线销售产品的公司工作。

那么,作为数据分析师,您也许会画一个类似的条形图。cv7566231

从这张图上,我们可以看到,在某个特定的周日,对于某件产品来说,男性购买了400多件,而女性购买了大约350件。

作为一个数据分析师,您也许会对其中的差异做出几个可能的解释。

一个很显然的可能解释是,该产品在男性中比在女性中更流行。另一个可能的解释是,样本量太小,这个差异是偶尔产生的。还有一个可能的解释是,在周日,由于某种原因,男性比女性更倾向于购买该产品。

为了搞明白哪个解释是正确的,您可能绘制另一张图,如下图所示:cv7566231

我们不再只显示周日的数据,而是整整一周的数据。正如您所见,从这张图中,我们可以看到,这种差异在不同的日子里很一致。

从这个简单的分析中,您可能得出了结论,对这种差异,一个最有说服力的解释就是,这个产品更受男性而不是女性欢迎。

另一方面,如果您看到是如下所示的图呢?cv7566231

那么,如何解释出现在周日的差异呢?

您也许会说,也许出于某种原因,男性在周日更倾向于购买该产品。或者,也许只是巧合,男性在周日购买了更多的该产品。

好了,这是个简化的例子,展示了数据分析在真实世界中看起来的样子。

我在谷歌和微软工作的时候做过数据分析,跟这个例子非常相似,只是更复杂一些罢了。事实上,我在谷歌工作时,是用Python来做这种分析,而我在微软的时候,用的是JavaScript。

在这两家公司工作的时候,我用SQL从数据库中提取数据。然后,我会用Python和Matplotlib(在谷歌工作时)或JavaScrip和D3.js(在微软工作时)进行数据可视化和分析。

用Python进行数据分析/可视化

最流行的数据可视化库之一是Matplotlib。

刚开始学习的话,它是个不错的库,因为:它容易上手

其他一些库,如seaborn是以它为基础的。因此,学习Matplotlib可以帮助您随后学习其他库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值