分享

【Python】Python到底能干啥?

 新用户8173JS52 2020-10-27

注:

本文中推荐的书籍《Django for Beginners》。

你可以在公众号后台回复Django获得。

如果您想学习Python(或者最近开始学习Python),则可能会问自己:

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

很多的答案会涌入我们的脑海,因为Python实在是能做太多事情了。
但是慢慢静下心来思考,我发现Python主要有三个方面的应用,今天就让我们一起来讨论一下吧:
第一个:Web开发
第二个:数据科学-包括机器学习,数据分析和数据可视化
第三个:脚本编写

让我们依次来揭开她神秘的面纱。

最近,基于Python的Web框架(如DjangoFlask)在Web开发中非常流行。

这些Web框架可帮助我们使用Python创建服务器端的一些代码(后端代码)。那是在服务器上运行的代码,而不是在用户的设备和浏览器上运行的代码(前端代码)。如果您不熟悉后端代码和前端代码之间的区别,请参见下面的脚注。

但是,为什么我们需要一个Web框架?

这是因为用Web框架使得构建通用后端逻辑更加容易。这包括将不同的URL映射到Python代码块,处理数据库以及生成用户在浏览器中看到的HTML文件。

我应该使用哪个Python网络框架?

Django和Flask是两个最受欢迎的Python网络框架。如果是刚刚入门,建议使用这两个中的一个。

那么Django和Flask有什么区别?

参考Gareth Dwyer撰写的一篇有关该问题的文章,因此在这里引用一下:

主要对比:

Flask:提供了简单性,灵活性的控制。它是不受限制的(它使您可以决定如何实现事物)。

Django:提供了全方位的体验:您可以很方便地获得管理面板,数据库界面,ORM [对象关系映射]以及目录结构。

您可能应该选择:

Flask,如果您专注于体验和学习机会,或者想要更多地控制要使用哪些组件(例如,要使用哪些数据库以及如何与它们交互)。

Django,如果您专注于最终产品。尤其是如果您正在开发简单的应用程序(例如新闻站点,电子商店或博客),并且希望始终有一种单一的,显而易见的处理方式。
换句话说,如果您是初学者,则Flask可能是一个更好的选择,因为它需要处理的组件更少。另外,如果您想进行更多定制,则Flask是更好的选择。

另一方面,如果您想直接构建一些东西,Django可能会让您更快地到达那里。

现在,如果您想学习Django,我推荐一本名为《Django for Beginners》的书籍。你可以在公众号后台回复Django获得

数据科学-包括机器学习,数据分析和数据可视化

首先,让我们来回顾一下机器学习
        可以参考公众号的几篇文章进行复习:
        机器学习从零开始系列连载(1)——基本概念
        机器学习原来这么有趣!【第一章】

要解释什么是机器学习的最好方法是给您一个简单的例子。

假设要开发一个程序来自动检测图片中的内容。
比如说下面这张图片,您希望通过程序识别出它是狗。

又比如下面的图片内容,您希望程序识别出它是一个桌子。

您可能会说,嗯,我可以编写一些代码来做到这一点。例如,如果图片中有很多浅棕色的像素,那么我们可以说它是一只狗。

对于第二张图片,您可以弄清楚如何检测图片中的边缘。然后,您可能会说,如果有很多笔直的边缘,那就是一张桌子。

但是,这种方法很快就会发现行不通。如果图片中有只白狗没有棕色头发怎么办?如果图片仅显示桌子的圆形部分怎么办?

这就是机器学习的用武之地。

机器学习通过一种算法,来自动检测给定输入中的模式。

例如,您可以将1,000张狗的照片和1,000张桌子的照片提供给机器学习算法。然后,它将了解狗和桌子之间的区别。当给它一张新的狗或桌子的图片时,它将能够识别出它是狗狗还是桌子。

这其实有点类似于婴儿学习新事物的方式。婴儿是如何学会区分狗狗和桌子的?

我们通常一开始不会明确地告诉婴儿:“毛茸茸且头发浅棕色,是狗。”

我们可能会说:“那是一条狗。这也是一条狗。这是一张桌子。那也是一张桌子。”

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

您可以将相同的想法应用于:
推荐系统(例如YouTube,Amazon和Netflix)
人脸识别
语音识别
以及其他应用程序中。

常见的机器学习算法包括:
神经网络
深度学习
支持向量机
随机森林
我们可以使用上述任何一种算法来解决我之前解释的图片标记问题。

Python常用于机器学习

Python拥有非常流行的机器学习库和框架。
其中最受欢迎的两个是:scikit-learnTensorFlow
scikit-learn内置了一些流行的机器学习算法。

TensorFlow更像是一个低级库,但是可让您构建自定义的机器学习算法。

如果您刚开始使用机器学习项目,建议您先从scikit-learn开始。如果您开始遇到效率问题,那么TensorFlow则更加适合。

我应该如何学习机器学习?
当然最简单的一步便是关注加置顶我们公众号,每天都会有非常有用的机器学习知识供你学习!

其次要学习机器学习的基础知识,我更会推荐斯坦福大学或加州理工学院的机器学习课程。(请注意:需要复习一些微积分和线性代数的基本知识才能理解这些课程)

然后,将自己所学习的内容在Kaggle(kaggle.com)网站中加以练习。在这个网站上,有很多不错的初学者教程。

下面我将在这里举一个简单的例子。
假设您在一家在线销售某些产品的公司工作。
然后,作为数据分析师,您可以绘制一个条形图。

条形图1 —用Python生成

从该图可以看出,在这个特定的星期日,男性购买了400多的这种产品,女性购买了大约350多。

作为数据分析师,您可能会针对这种差异提出一些可能的解释:
一个明显的可能解释是:与男性相比,该产品在男性中更受欢迎。另一个可能的解释可能是样本数量太小,而这种差异是偶然造成的。还有另一个可能的解释是,由于某种原因,男人倾向于只在星期日购买更多该产品。

那么要了解这些解释中的哪一个是正确的,您可以绘制另一张这样的图表。

折线图1-使用Python生成

我们不仅仅可以显示星期日的数据,还可以查看整周的数据。从该图可以看出,这一差异在不同的日子是相当一致的。

从这个小小的分析中,您可能会得出结论,对此差异最有说服力的解释是,与男性相比,该产品在男性中更受欢迎。

但是,如果您看到像这样的图形怎么办?

折线图2-也使用Python生成

那么,什么如何解释星期天的不同呢?

那么你可能会说,也许出于某种原因,男人往往只会在星期日购买更多这种产品。或者,也许是偶然的,人们在星期天买了更多。
这就是在现实生活中数据分析所需要用到的一个简单的场景。

在Google和Microsoft两家公司的数据分析工作与该示例非常相似,只是更为复杂。实际上,在Google通常是使用Python进行这种分析,而在Microsoft则使用了JavaScript。

两家公司的数据分析都使用SQL从数据库中提取数据。然后,再使用Python和Matplotlib(在Google)或JavaScript和D3.js(在Microsoft)来可视化和分析这些数据。

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

Matplotlib是用于数据可视化的最受欢迎的库之一。
这是一个很好的入门库,因为:
很容易上手,同时诸如seaborn之类的其他一些库也以此为基础。
因此,学习Matplotlib将有助于您稍后学习其他一些库。

如何使用Python学习数据分析/可视化?
您应该首先学习数据分析和可视化的基础知识。推荐大家观看下面一个博主的视频来了解下这些基础知识:

   然后我还推荐大家在Pluralsight网站上完成数据分析/可视化的完整课程,可以通过注册来获得10天的免费学习。


在学习了数据分析和可视化的基础知识之后,我们还可以在Coursera和Khan Academy等网站学习统计基础知识。

脚本编写

什么是脚本?
脚本编写通常是指编写自动化、以及一些简单任务的小型程序。

例如我们可以通过脚本来统计包含某些关键字的电子邮件的数量,以便我们可以分析收到的电子邮件。

在下面的时间里,我们公众号团队将会推出一系列实用的脚本案例供大家进行学习和使用。
















1.机器学习原来这么有趣!【第一章】

2.机器学习从零开始系列连载(1)——基本概念

3.机器学习从零开始系列连载(2)——线性回归

4.机器学习从零开始系列连载(3)——支持向量机

5.机器学习从零开始系列连载(4)——逻辑回归

扫描个人微信号,

拉你进机器学习大牛群。

福利满满,名额已不多…

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多