你到底能用Python做什么?下面是Python的三个主要应用程序。

11 篇文章 0 订阅
3 篇文章 0 订阅

在这里插入图片描述
如果你正在考虑学习Python–或者你最近开始学习它–你可能会问自己:
“我到底能用Python做什么?”
这是一个很难回答的问题,因为Python的应用程序太多了。
但随着时间的推移,我注意到Python有3种主要的流行应用程序:
Web开发
数据科学-包括机器学习、数据分析和数据可视化。
脚本编写
让我们依次讨论每一个问题。
Web开发
基于Python的Web框架,如姜戈和烧瓶最近在web开发中变得非常流行。
这些Web框架帮助您在Python中创建服务器端代码(后端代码)。这是在您的服务器上运行的代码,而不是在用户的设备和浏览器上运行的代码(前端代码)。如果您不熟悉后端代码和前端代码之间的区别,请参见下面的脚注。
但是等等,为什么我需要一个网络框架?
这是因为Web框架使构建公共后端逻辑变得更容易。这包括将不同的URL映射到Python代码块,处理数据库,以及生成用户在浏览器上看到的HTML文件。
我应该使用哪个Python Web框架?
Django和Flask是最流行的PythonWeb框架之一。如果你才刚开始的话,我建议你使用其中之一。
Django和烧瓶有什么区别?
有一个优秀文章关于Gareth Dwyer的这个话题,让我在这里引用:

主要对比:
烧瓶提供了简单、灵活和细粒度的控制.它是不固执己见的(它让您决定如何实现事物)。
Django提供了一种包罗万象的体验:您可以获得一个管理面板、数据库接口、一个对象关系映射,以及应用程序和项目的目录结构。
你应该选择:
如果您专注于体验和学习机会,或者您希望更多地控制使用哪些组件(例如您想使用哪些数据库以及如何与它们交互),则需要更多的控制。
Django,如果你专注于最终产品。特别是当你正在开发一个直截了当的应用程序,比如新闻网站、电子商店或博客时,你希望总是有一种单一的、显而易见的方式来做事。
</end quote>
换句话说,如果你是一个初学者,瓶可能是一个更好的选择,因为它有较少的组件需要处理。另外,如果你想要更多的定制,瓶是一个更好的选择。
另一方面,如果你想建立一个直截了当的东西,Django可能会让你更快地到达那里。
现在,如果你想学习Django,我推荐这本书叫做Django给初学者。你可以找到它这里.
你也可以找到那本书的免费样本章节。这里.
好吧,让我们进入下一个话题!
数据科学-包括机器学习、数据分析和数据可视化。
首先,让我们回顾一下机器学习是.
我认为解释机器学习的最好方法是给你一个简单的例子。
假设您想开发一个自动检测图片中的内容的程序。
所以,根据下面的图片(图1),你想让你的程序认识到它是一只狗。在这里插入图片描述
考虑到下面的另一个(图2),您希望您的程序能够识别它是一个表。
Image for post

在这里插入图片描述

你可能会说,好吧,我可以写一些代码来做这件事。例如,如果图片中有很多浅棕色像素,那么我们可以说它是一只狗。
或者,你可以找出如何检测图片中的边缘。然后,你可能会说,如果有很多直线的边,那么它就是一张桌子。
然而,这种方法很快就会变得棘手。如果照片里有一只没有棕色头发的白狗怎么办?如果这张照片只显示了桌子的圆形部分呢?
这就是机器学习的来龙去脉。
机器学习通常实现一种自动检测给定输入中的模式的算法。
比如说,你可以把1000张狗的照片和1000张桌子的图片交给机器学习算法。然后,它将了解狗和桌子的区别。当你给它一张狗或桌子的新照片时,它就能认出它是哪一只。
我认为这有点类似于婴儿学习新事物的方式。婴儿怎么知道一件事看上去像一只狗,另一件事看上去像一张桌子?可能是一堆例子。
你可能不会直截了当地告诉婴儿:“如果有什么东西是毛茸茸的,头发是浅棕色的,那它很可能是一只狗。”
你可能会说,“那是条狗。这也是条狗。这张是一张桌子。那张也是一张桌子。“
机器学习算法的工作方式也是一样的。
您可以将相同的想法应用于:
推荐系统(想想YouTube、Amazon和Netflix)
人脸识别
语音识别
在其他应用中。
您可能听说过的流行机器学习算法包括:
神经网络
深度学习
支持向量机
随机林
您可以使用上述任何算法来解决我前面解释过的图片标记问题。
用于机器学习的Python
有流行的机器学习库和Python框架。
最受欢迎的两个是科学-学习和TensorFlow.
SICKIT-学习与一些更流行的机器学习算法内置。我上面提到过一些。
TensorFlow是一个低级库,允许您构建自定义机器学习算法。
如果你刚刚开始一个机器学习项目,我建议你先从科学学习开始。如果您开始遇到效率问题,那么我将开始研究TensorFlow。
我应该如何学习机器学习?
为了学习机器学习的基本原理,我建议斯坦福大学或加州理工学院机器学习课程。
请注意,你需要微积分和线性代数的基本知识来理解这些课程中的一些材料。
然后,我会把你从其中一门课上学到的东西卡格尔。这是一个网站,人们竞争为一个给定的问题建立最好的机器学习算法。他们也为初学者提供了很好的教程。
数据分析和数据可视化呢?
为了帮助你理解这些可能是什么样子,让我在这里给你一个简单的例子。
假设你在一家在线销售产品的公司工作。
然后,作为数据分析人员,您可能会绘制如下条形图。在这里插入图片描述
条形图1-用Python生成从这张图中,我们可以看出,在这个特别的周日,男性购买了400多台这款产品,而女性购买了大约350台这款产品。
作为一名数据分析师,您可能会对这种差异提出一些可能的解释。
一个显而易见的可能解释是,这种产品在男性中比在女性中更受欢迎。另一种可能的解释可能是样本大小太小,而这一差异只是偶然造成的。另一个可能的解释是,由于某种原因,男性只在周日才会购买这种产品。
要理解这些解释中的哪一种是正确的,你可以画另一张图,像这张。我们不是只显示周日的数据,而是看了整整一周的数据。正如你所看到的,从这个图表中,我们可以看到,这种差异在不同的日子里是非常一致的。
从这个小小的分析中,你可能会得出结论,这种区别最有说服力的解释是,这种产品在男性中比在女性中更受欢迎。
另一方面,如果你看到的是这样的图形呢?
在这里插入图片描述

Image for post
那么,周日有什么不同呢?
你可能会说,也许因为某种原因,男人只在星期天才会购买更多的这种产品。或者,也许这只是一个巧合,男人在星期天买了更多。
因此,这是一个简化的例子,说明在现实世界中数据分析可能是什么样子。
我在谷歌(Google)和微软(Microsoft)工作时所做的数据分析工作非常类似于这个例子–只是更复杂。实际上,我在Google使用Python进行这种分析,而在Microsoft使用JavaScript。
我在这两家公司使用SQL从我们的数据库中提取数据。然后,我将使用Python和Matplotlib(在Google)或JavaScript和D3.js(在Microsoft)来可视化和分析这些数据。
用Python进行数据分析/可视化
最流行的数据可视化库之一是Matplotlib.
这是一个很好的开始库,因为:
很容易开始
其他一些库,如海航是以它为基础的。因此,学习Matplotlib将有助于您稍后学习这些其他库。
如何使用Python学习数据分析/可视化?
我们下期见

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值