提交 65054b9a 编写于 作者: W wizardforcel

2019-12-05 21:14:14

上级 2c22d7fe
......@@ -16,9 +16,9 @@
您可能会问:**用于机器学习的最佳编程语言是什么?**
如果继续阅读,您将了解为什么 Python for Machine Learning 是您的首选。
如果继续阅读,您将了解为什么将 Python 用于机器学习是您的首选。
### 1\. Python 易于理解
### 1\. Python 易于理解
重申一下,机器学习只是在识别数据中的模式,从而能够自己进行改进和做出明智的决策。
......@@ -26,7 +26,7 @@ Python 是最合适的编程语言,因为它易于理解,您可以自己阅
它的可读性,非复杂性以及快速原型制作的能力使其成为全球开发人员和程序员中的流行语言。
### 2\. Python 附带了大量库
### 2\. Python 附带了大量库
这些内置库中有许多是用于机器学习和人工智能的,可以很容易地直接使用。
......@@ -38,13 +38,13 @@ Python 是最合适的编程语言,因为它易于理解,您可以自己阅
![sklearn, scikit-learn, a machine learning module for python](img/5d99d2bfbe94d99072e9460d40821ee1.jpg)
### 3\. Python 允许简单而强大的实现
### 3\. Python 允许简单而强大的实现
使得 Python 成为机器学习的最佳选择之一的原因是它的简单而强大的实现。
对于其他编程语言,编码初学者或学生需要首先熟悉该语言,然后才能将其用于 ML 或 AI。
Python 并非如此。 即使您仅具有 Python 语言的基本知识,由于拥有大量可用的库,资源和工具,因此您可以将 if 用于机器学习。
Python 并非如此。 即使您仅具有 Python 语言的基本知识,由于拥有大量可用的库,资源和工具,因此您可以将用于机器学习。
此外,与使用 Java 或 C++ 相比,在 Python 上编写代码和调试错误的时间更少。
......@@ -64,6 +64,6 @@ Python 的脚本设计具有几乎与人类一样的可读性,使脚本编写
![python readability](img/1c6e625ed7262e6bac5f6e12d1ed7531.jpg)
### 5.社区
### 5\. 社区
最后,Python 提供了广泛的支持。 由于许多人(无论是程序员还是普通用户)都将 Python 视为标准,因此它的支持社区非常庞大,从而极大地提高了 Python 的知名度。
\ No newline at end of file
......@@ -4,7 +4,7 @@
机器学习是人工智能的一个子领域。
科学家一直在尝试制造智能机器。 这台机器擅长于一件事,除了编程要完成的任务外,只有一件事无能为力。 输入机器学习。
科学家一直在尝试制造智能机器。 这台机器擅长于一件事,除了编程要完成的任务外,只有一件事无能为力。
......@@ -12,8 +12,7 @@
### 历史
1997 年,一台名为“深蓝”的计算机击败了世界象棋世界象棋锦标赛的冠军。
聪明? 不,这是这台计算机所能做的:它无能为力。
1997 年,一台名为“深蓝”的计算机击败了世界象棋世界象棋锦标赛的冠军。聪明? 不,这是这台计算机所能做的:它无能为力。
因此,如果您遇到新问题,计算机将无法解决。 这意味着用新的逻辑和规则创建一个新程序。
......@@ -25,10 +24,10 @@
机器学习算法可以解决许多问题,例如:
* 垃圾邮件分类:如果电子邮件是垃圾邮件,则为
* 文档分类:**它是什么类型的文档**
* 人脸检测:**是不是人脸?**
* 价格预测:**的预期价格是多少?**
* **垃圾邮件分类**:电子邮件是否是垃圾邮件
* **文档分类**:它是什么类型的文档
* **人脸检测**:是不是人脸?
* **价格预测**:预期价格是多少?
还有很多。
......
......@@ -20,11 +20,9 @@
这包括机器人技术,自然语言处理,机器学习和深度学习。
计算能力的指数级增长已导致 AI 应用程序的爆炸式增长。
您现在在科幻小说中看到的东西已经成为日常生活的一部分。
计算能力的指数级增长已导致 AI 应用程序的爆炸式增长。您现在在科幻小说中看到的东西已经成为日常生活的一部分。
机器现在可以执行复杂的任务,而无需人工干预。
这种最著名的两种形式是**机器学习****深度学习**
机器现在可以执行复杂的任务,而无需人工干预。这种最著名的两种形式是**机器学习****深度学习**
## 机器学习
......@@ -32,18 +30,15 @@
学习过程需要数据,并且在线生成了大量数据,这才开始。
机器学习由可分析数据并从中学习的算法组成。
这些算法使软件能够进行预测和关联。
机器学习由可分析数据并从中学习的算法组成。这些算法使软件能够进行预测和关联。
这不同于传统编程,在传统编程中,软件依赖于手动编码的软件例程。
**真实世界示例:**
为防止欺诈,机器学习有助于识别模式,行为和风险趋势并对之做出反应。 它使用训练数据来这样做。
**真实世界示例**:为防止欺诈,机器学习有助于识别模式,行为和风险趋势并对之做出反应。 它使用训练数据来这样做。
## 深度学习
深度学习是指一类特定的机器学习和人工智能。
深度学习基于**神经网络**
深度学习是指一类特定的机器学习和人工智能。深度学习基于**神经网络**
神经网络创建于 1950 年代,其灵感来自人脑生物学模型。
......
......@@ -14,7 +14,7 @@
也有梯度增强,随机森林,DBSCAN,k-means。 其开发的主要目的是沿着编程编号以及 NumPy 和 Scipy 之类的技术库交换和使用数据。 如上所述,由 David Cournapeau 编写的 Google Summer of Code 项目以 scikit-learn 的形式引入了该机器学习平台。
该名称来源于基本概念,即该产品是“ SciKit”或 SciPy Toolkit,这是 SciPy 的独特制造和提供的外部组件。 然后,其他编码人员再次编写了本机代码平台。 据说 scikit-learn 仍处于开发阶段。
该名称来源于基本概念,即该产品是“SciKit”或 SciPy Toolkit,这是 SciPy 的独特制造和提供的外部组件。 然后,其他编码人员再次编写了本机代码平台。 据说 scikit-learn 仍处于开发阶段。
![sklearn machine learning python](img/fd8e8017293a8080614eefedfdc5c6b2.jpg)
......@@ -32,8 +32,8 @@ pip install sklearn
### 应用
初级或初学者的 Python 机器学习过去很难。 但是,用户友好的机器学习平台 Scikit-learn 确实使事情变得更简单。 使用 scikit-learn 学习,以及进行任何类型的定制产品开发或用于 R & D 用途。 Scikit 附带了一系列模块和库,供初学者选择,从而提供了处理特定任务的多种方式。 在学习的同时,可以处理一个完整的项目。
初级或初学者的 Python 机器学习过去很难。 但是,用户友好的机器学习平台 Scikit-learn 确实使事情变得更简单。 使用 scikit-learn 学习,以及进行任何类型的定制产品开发或用于 R&D 用途。 Scikit 附带了一系列模块和库,供初学者选择,从而提供了处理特定任务的多种方式。 在学习的同时,可以处理一个完整的项目。
作为工具的 Scikit 非常易于使用。 您可以简单地安装该工具并在初始阶段开始使用 Python Interpreter。 特别是,该工具对于寻找小型端到端项目的初学者可能很有用。
作为工具的 Scikit 非常易于使用。 您可以简单地安装该工具并在初始阶段开始使用 Python 解释器。 特别是,该工具对于寻找小型端到端项目的初学者可能很有用。
尽管有各种版本的 Scikits 软件,但 Scikit Learn 确实是用于机器学习 Python 的最先进且配备最完善的工具。 Scikit-Image 被认为是同等丰富的工具。
\ No newline at end of file
尽管有各种版本的 Scikits 软件,但 Scikit-Learn 确实是用于机器学习 Python 的最先进且配备最完善的工具。 Scikit-Image 被认为是同等丰富的工具。
\ No newline at end of file
......@@ -4,7 +4,7 @@
如何通过 Scikit-Learn 准备要学习的数据。
如果要使用 sci-kit-learn 实现学习算法,则要做的第一件事就是准备数据。
如果要使用 scikit-learn 实现学习算法,则要做的第一件事就是准备数据。
这将向您决定使用的学习算法展示问题的结构。
......@@ -16,7 +16,7 @@
1. 重新缩放数据
2. 数据标准化
3. 标准化数据
3. 规范化数据
4. 将数据转换为二元
## 数据准备
......@@ -177,7 +177,7 @@ print(binaryX[0:6,:])
1. 重新缩放数据
2. 数据标准化
3. 标准化数据
3. 规范化数据
4. 使数据二元化。
[下载示例和练习](https://gum.co/MnRYU)
\ No newline at end of file
......@@ -4,11 +4,11 @@
Cookie 是 Web 服务器提供给 Web 浏览器的消息。 这使您的 Web 浏览器可以存储登录信息,用户名,购物车等信息。 网站需要在不同页面之间记住这一点,有时会使用 cookie。
硒中,您可以使用 get_cookies()和 add_cookie()方法获取并设置 cookie。
Selenium 中,您可以使用`get_cookies()``add_cookie()`方法获取并设置 cookie。
### Selenium Cookie
下面的 cookie 代码获取站点 reddit 设置的所有 cookie。
下面的 Selenium cookie 代码获取站点 reddit 设置的所有 cookie。
```py
# -*- coding: utf-8 -*-
......@@ -29,7 +29,7 @@ browser.quit()
### Selenium 添加删除 cookie
下面的代码获取 cookie,然后添加一个新 cookie,再次获取它们(显示),最后将其删除。
下面的 Selenium 代码获取 cookie,然后添加一个新 cookie,再次获取它们(显示),最后将其删除。
```py
# -*- coding: utf-8 -*-
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/selenium_execute_javascript/](https://pythonbasics.org/selenium_execute_javascript/)
Selenium Webdriver 可以执行 Javascript。 加载页面后,您可以执行所需的任何 JavaScript。 必须安装 Web 驱动程序,才能工作。
Selenium Webdriver 可以执行 Javascript。 加载页面后,您可以执行所需的任何 JavaScript。 必须安装 Web 驱动程序,Selenium 才能工作。
只需调用方法`execute_script(js)`,其中 js 是您的 JavaScript 代码。
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/selenium_find_element/](https://pythonbasics.org/selenium_find_element/)
网页元素可以通过其 ID 来实现。 这是在带有的网页上选择元素的方法之一。
网页元素可以通过其 ID 来实现。 这是在带有 Selenium 的网页上选择元素的方法之一。
您必须具有可通过开发人员工具获得的元素 ID。 您也可以使用 id 或 css 选择网页元素。
......@@ -10,7 +10,7 @@
### Selenium 按 ID 查找元素
硒代码使用 id 的 find 元素来选择搜索框。 然后,它在搜索框中键入一条消息。
Selenium 代码使用`find_element`和 ID 来选择搜索框。 然后,它在搜索框中键入一条消息。
```py
#_*_coding: utf-8_*_
......@@ -33,7 +33,7 @@ browser.close()
### Selenium 查找列表项目
下面的 Python 代码使用 selenium 在网页上查找列表项 li
下面的 Python 代码使用 selenium 在网页上查找列表项`li`
```py
from selenium import webdriver
......
......@@ -12,7 +12,7 @@ Firefox 可以由 Python 控制。 为此,您需要 Selenium 模块和 Web 驱
### Selenium Firefox
看一下 Selenium Firefox 代码。 首先导入 webdriver,然后使其启动 firefox。
打开带有获取页面的 webage,并可以选择发送按键。
打开并获取页面,并可以选择发送按键。
```py
# coding=utf-8
......
......@@ -11,7 +11,7 @@ Selenium 是用于浏览器自动化的 Python 模块。 您可以使用它来
### Selenium 获取 html
下面的代码启动 Firefox Web rbowser,使用 get()方法打开一个网页,最后使用 browser.page_source 存储该网页 html。
下面的代码启动 Firefox Web rbowser,使用`get()`方法打开一个网页,最后使用`browser.page_source`存储该网页 html。
```py
#_*_coding: utf-8_*_
......
......@@ -11,7 +11,7 @@ Selenium Webdriver 启动浏览器,浏览器加载网页,选择文本框和
### Selenium 键盘
下面的键盘代码示例可以完成所有这些操作。 在此示例中,它在 Wikipedia 上进行了自动搜索,但是该原理可在任何站点上使用。
下面的 Selenium 键盘代码示例可以完成所有这些操作。 在此示例中,它在 Wikipedia 上进行了自动搜索,但是该原理可在任何站点上使用。
```py
# -*- coding: utf-8 -*-
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/selenium_maximize/](https://pythonbasics.org/selenium_maximize/)
通过 Python 硒最大化 Web 浏览器非常容易。 简而言之,您要做的就是启动浏览器并调用 maximum_window()
通过 Python Selenium 最大化 Web 浏览器非常容易。 简而言之,您要做的就是启动浏览器并调用`maximum_window()`
(Selenium 是一个 Python 模块,使用 Web 驱动程序来为您控制 Web 浏览器)
......@@ -14,7 +14,7 @@
### Selenium 最大化
首先导入 webdriver 和时间模块。 您需要安装 Web 驱动程序。 然后使用`webdriver.Firefox()`打开 firefox,并使用`maximize_window().`调用最大化窗口
首先导入 webdriver 和时间模块。 您需要安装 Selenium Web 驱动程序。 然后使用`webdriver.Firefox()`打开 firefox,并使用`maximize_window().`调用最大化窗口
```py
from selenium import webdriver
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/selenium_screenshot/](https://pythonbasics.org/selenium_screenshot/)
网页截图可以使用 Python 硒自动获取。 首先加载硒模块和时间模块。 您需要时间模块来等待页面加载完成。
网页截图可以使用 Python Selenium 自动获取。 首先加载 Selenium 模块和时间模块。 您需要时间模块来等待页面加载完成。
然后,一旦页面加载完毕,请截屏。 这可以是 png 文件或其他图像格式。 然后关闭网络浏览器,否则它将保持打开状态。
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/selenium_scroll_down/](https://pythonbasics.org/selenium_scroll_down/)
您是否希望浏览器滚动到页面末尾? 您可以使用代码,确切地说是 javascript 代码。
您是否希望 Selenium 浏览器滚动到页面末尾? 您可以使用代码,确切地说是 javascript 代码。
加载网页后,您可能需要向下滚动。您可以向下滚动特定数量或一直向下滚动到底部。
......@@ -14,7 +14,7 @@
### 示例
向下滚动代码如下所示。 它使用 javascript 校准方法`execute_script()`,以滚动到网页的末尾。
Selenium 向下滚动代码如下所示。 它使用 javascript 校准方法`execute_script()`,以滚动到网页的末尾。
```py
#_*_coding: utf-8_*_
......
......@@ -10,7 +10,7 @@
### Selenium 切换到窗口
切换到如下所示的窗口代码。 它会启动 Firefox,打开一个网页,然后打开一个包含不同网站的新标签页和窗口。
Selenium 切换到如下所示的窗口代码。 它会启动 Firefox,打开一个网页,然后打开一个包含不同网站的新标签页和窗口。
```py
# -*- coding: utf-8 -*-
......
......@@ -4,7 +4,7 @@
等待页面加载 Python Selenium。 在本文中,您将学习如何做到这一点。 这有点违反直觉。
Selenium 可让您自动执行浏览器,但不需要 time.sleep 即可等待页面加载完成。 实际上,它的工作方式与您预期的不同。
Selenium 可让您自动执行浏览器,但不需要`time.sleep`即可等待页面加载完成。 实际上,它的工作方式与您预期的不同。
## 示例
......
# 烧瓶教程
\ No newline at end of file
# Flask 教程
\ No newline at end of file
......@@ -20,7 +20,7 @@ Python 项目位于[虚拟环境](https://pythonbasics.org/virtualenv/)中。
### 创建虚拟环境
打开终端(请参阅下面的如何快速打开终端)。 然后安装 python3-venv
打开终端(请参阅下面的如何快速打开终端)。 然后安装`python3-venv`
在 Ubuntu Linux 上,您可以运行以下命令:
......@@ -46,8 +46,7 @@ $ python3 -m venv venv
### 激活虚拟环境
虚拟环境已创建,但尚未激活。
在 Linux 上激活虚拟环境,请使用以下命令:
虚拟环境已创建,但尚未激活。在 Linux 上激活虚拟环境,请使用以下命令:
```py
source venv/bin/activate
......@@ -78,7 +77,7 @@ $ venv\Scripts\activate
* 在 Linux 上,您可以按组合键`Ctrl+Alt+T`打开终端。
* 在 Mac OS X 上,按`CMD + Space`键打开 Spotlight 搜索,然后键入`terminal`并按回车键。
* 在 Windows 上,按`Super + R`键并键入`cmd`,然后按 Enter 键。
* 在 Windows 上,按`Super + R`键并键入`cmd`,然后按`Enter`键。
您可以使用以下命令安装 Python 软件包:
......
......@@ -10,7 +10,7 @@
## 模板示例
您要做的第一件事是为模板创建目录。 您可以使用以下命令从终端执行此操作。 如果尚未这样做,请[创建一个应用](https://pythonbasics.org/Flask-Tutorial-Hello-World/)。 假设您的项目目录名为“ app”
您要做的第一件事是为模板创建目录。 您可以使用以下命令从终端执行此操作。 如果尚未这样做,请[创建一个应用](https://pythonbasics.org/Flask-Tutorial-Hello-World/)。 假设您的项目目录名为`app`
```py
(venv) $ mkdir app/templates
......@@ -21,7 +21,7 @@
### Flask 模板变量
让我们创建文件 index.html
让我们创建文件`index.html`
```py
<html>
......@@ -35,7 +35,7 @@
```
其中大多数是 HTML 标记(在&lt;&gt;符号之间),这是网络上的标准标记。
其中大多数是 HTML 标记(在`<``>`符号之间),这是网络上的标准标记。
那么,那些 `{{``}}` 符号是什么?
......@@ -99,15 +99,15 @@ sudo python3 app.py
在上面的示例中,您调用了函数`render_template()`。 为什么要调用此方法而不立即返回 html 数据?
Flask 与一种名为 [Jinja2](https://palletsprojects.com/p/jinja/) 的语言捆绑在一起。 这使您能够直接在模板中包含变量,创建循环和添加 if 语句。
Flask 与一种名为 [Jinja2](https://palletsprojects.com/p/jinja/) 的语言捆绑在一起。 这使您能够直接在模板中包含变量,创建循环和添加`if`语句。
在上面的示例中,您已经了解了如何包含`title``username`之类的变量。 那么,如何包含循环和 if 语句?
在上面的示例中,您已经了解了如何包含`title``username`之类的变量。 那么,如何包含循环和`if`语句?
![jinja flask template engine](img/a578844d3e2d5e4b4320841a5cc9c5be.jpg)
## Flask 模板`if`
您可以在模板中包含 if 语句。 可以使用与 Python 中相同的运算符(==,&gt;&lt;&gt; =,&lt; =,)。 也可以使用`else``elif`之类的子句。
您可以在模板中包含`if`语句。 可以使用与 Python 中相同的运算符(`==``>``<``>=``<=`)。 也可以使用`else``elif`之类的子句。
在此代码中,输出将根据输入变量用户名而有所不同。 用户名通过 Python 代码(业务逻辑)传递到模板(表示逻辑)。
......@@ -129,7 +129,7 @@ Flask 与一种名为 [Jinja2](https://palletsprojects.com/p/jinja/) 的语言
## Flask 模板`for`循环
如果您有大量数据(例如用户列表),则希望使用 for 循环对其进行迭代。 将 Python 代码更改为此:
如果您有大量数据(例如用户列表),则希望使用`for`循环对其进行迭代。 将 Python 代码更改为此:
```py
@app.route('/')
......@@ -140,7 +140,7 @@ def index():
```
该代码包括一个列表(用户)。 该列表将传递给 render_template 函数。 在模板中,可以使用 for 循环遍历列表。
该代码包括一个列表(用户)。 该列表将传递给`render_template`函数。 在模板中,可以使用`for`循环遍历列表。
```py
<html>
......@@ -163,4 +163,4 @@ def index():
![for loop in jinja2](img/4060d9fd58b873f1de971a59295495b1.jpg)
**[下载示例](https://gum.co/IMzBy)**
\ No newline at end of file
[**下载示例**](https://gum.co/IMzBy)
\ No newline at end of file
......@@ -2,7 +2,7 @@
> 原文: [https://pythonbasics.org/Flask-Tutorial-Routes/](https://pythonbasics.org/Flask-Tutorial-Routes/)
现代的 Web 应用程序使用一种称为路由的技术。 这可以帮助用户记住 URL。 例如,他们看到的不是/booking.php,而是/ booking /。 他们会看到/ account / 1234 /,而不是/account.asp?id=1234/
现代的 Web 应用程序使用一种称为路由的技术。 这可以帮助用户记住 URL。 例如,他们看到的不是`/booking.php`,而是`/booking/`。 他们会看到`/account/1234/`,而不是`/account.asp?id=1234/`
......@@ -10,7 +10,7 @@
### Flask 路由示例
Flask 中的路由映射到 Python 函数。 您已经创建了一条路由,即“ /”路由:
Flask 中的路由映射到 Python 函数。 您已经创建了一条路由,即`/`路由:
```py
@app.route('/')
......@@ -18,9 +18,9 @@ Flask 中的路由映射到 Python 函数。 您已经创建了一条路由,
```
route()**装饰器** `@app.route()`将 URL 绑定到函数。
`route()`装饰器`@app.route()`将 URL 绑定到函数。
如果需要路由/ hello,可以将其绑定到 hello_world()函数,如下所示:
如果需要路由`/hello`,可以将其绑定到`hello_world()`函数,如下所示:
```py
@app.route('/hello')
......@@ -29,7 +29,7 @@ def hello_world():
```
函数 hello_world()的输出显示在浏览器中。
函数`hello_world()`的输出显示在浏览器中。
### Flask 路径参数
......@@ -46,7 +46,7 @@ def get_product(name):
因此,您可以将参数传递给 Flask 路由,可以传递数字吗?
此处的示例创建路由`/sale/&lt;transaction_id&gt;`,其中 transaction_id 是数字。
此处的示例创建路由`/sale/<transaction_id>`,其中`transaction_id`是数字。
```py
@app.route('/sale/<transaction_id>')
......@@ -57,7 +57,7 @@ def get_sale(transaction_id=0):
### Flask 多参数路由
如果您希望烧瓶路由具有多个参数,则可以这样做。 对于路由`/create/<first_name>/<last_name>`,您可以执行以下操作:
如果您希望 Flask 路由具有多个参数,则可以这样做。 对于路由`/create/<first_name>/<last_name>`,您可以执行以下操作:
```py
@app.route('/create/<first_name>/<last_name>')
......@@ -66,11 +66,11 @@ def create(first_name=None, last_name=None):
```
### Flask POST 路由
### Flask POST 路由
Flask 支持 HTTP POST 请求。 如果您对此不熟悉,我建议您学习此课程:[使用 Flask](https://gum.co/IMzBy) 创建应用。
创建一个名为 login.html 的模板
创建一个名为`login.html`的模板
```py
<html>
......@@ -120,4 +120,4 @@ werkzeug.routing.BuildError
werkzeug.routing.BuildError: Could not build url for endpoint 'dashboard'. Did you forget to specify values ['name']?
```
**[下载示例](https://gum.co/IMzBy)**
\ No newline at end of file
[**下载示例**](https://gum.co/IMzBy)
\ No newline at end of file
......@@ -211,7 +211,7 @@ if __name__ == "__main__":
让我们以 Web 应用程序的使用案例为例。 在 Flask 中构建 Web 应用程序时,您始终会编写网址路由。
条路线都是 Web 应用程序中的特定页面。打开页面`/about`可以调用`about_page()`方法。
个路由都是 Web 应用程序中的特定页面。打开页面`/about`可以调用`about_page()`方法。
```py
@app.route("/about")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册