【机器学习科学库】全md文档笔记:Jupyter Notebook和Matplotlib使用(已分享,附代码)

本系列文章md笔记(已分享)主要讨论人工智能相关知识。主要内容包括,了解机器学习定义以及应用场景,掌握机器学习基础环境的安装和使用,掌握利用常用的科学计算库对数据进行展示、分析,学会使用jupyter notebook平台完成代码编写运行,应用Matplotlib的基本功能实现图形显示,应用Matplotlib实现多图显示,应用Matplotlib实现不同画图种类,学习Numpy运算速度上的优势,知道Numpy的数组内存块风格,了解Numpy与Pandas的不同,学习Pandas的使用,应用crosstab和pivot_table实现交叉表与透视表,应用Pandas实现数据的读取和存储,并且了解完整机器学习项目的流程。

全套笔记和代码自取移步gitee仓库: gitee仓库获取完整文档和代码

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


共 7 章,33 子模块

机器学习概述

学习目标

  • 了解人工智能发展历程
  • 了解机器学习定义以及应用场景
  • 知道机器学习算法监督学习与无监督学习的区别
  • 知道监督学习中的分类、回归特点
  • 知道机器学习的开发流程

1.7 Azure机器学习模型搭建实验

学习目标

  • 目标

  • 了解Azure机器学习平台,知道机器学习流程


Azure平台简介

image-20190220120303537

Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推出的基于Web使用的一项机器学习服务,机器学习属人工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行识别。这种方式能够通过历史数据来预测未来事件和行为,其实现方式明显优于传统的商业智能形式。

微软的目标是简化使用机器学习的过程,以便于开发人员、业务分析师和数据科学家进行广泛、便捷地应用。

这款服务的目的在于“将机器学习动力与云计算的简单性相结合”。

AML目前在微软的Global Azure云服务平台提供服务,用户可以通过站点:https://studio.azureml.net/ 申请免费试用。

image-20190220120544975

  • Azure机器学习实验
  • 实验目的:了解机器学习从数据到建模并最终评估预测的整个流程。

1.8 深度学习简介

学习目标

  • 目标

  • 了解什么是深度学习


1 深度学习 —— 神经网络简介

深度学习(Deep Learning)(也称为深度结构学习【Deep Structured Learning】、层次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是一类算法集合,是机器学习的一个分支。

image-20190218131208199

深度学习方法近年来,在会话识别、图像识别和对象侦测等领域表现出了惊人的准确性。

但是,“深度学习”这个词语很古老,它在1986年由Dechter在机器学习领域提出,然后在2000年有Aizenberg等人引入到人工神经网络中。而现在,由于Alex Krizhevsky在2012年使用卷积网络结构赢得了ImageNet比赛之后受到大家的瞩目。

卷积网络之父:Yann LeCun

image-20190218131327040

  • 深度学习演示

  • 链接:http://playground.tensorflow.org

image-20190312224420601

2 深度学习各层负责内容

神经网络各层负责内容:

1层:负责识别颜色及简单纹理

image-20190218132153757

2层:一些神经元可以识别更加细化的纹理,布纹,刻纹,叶纹等

image-20190218132305039

3层:一些神经元负责感受黑夜里的黄色烛光,高光,萤火,鸡蛋黄色等。

image-20190218132332337

4层:一些神经元识别萌狗的脸,宠物形貌,圆柱体事物,七星瓢虫等的存在。

image-20190218132403457

5层:一些神经元负责识别花,黑眼圈动物,鸟,键盘,原型屋顶等。

image-20190218132428140

4 小结

  • 深度学习的发展源头--神经网络【了解】
  • 多层神经网络,在最初几层是识别简单内容,后面几层是识别一些复杂内容。【了解】

机器学习基础环境安装与使用

学习目标

  • 完成机器学习基础阶段的环境安装

  • 学会使用jupyter notebook平台完成代码编写运行

2.1 库的安装

学习目标

  • 目标

  • 搭建好机器学习基础阶段的环境


整个机器学习基础阶段会用到Matplotlib、Numpy、Pandas等库,为了统一版本号在环境中使用,将所有的库及其版本放到了文件requirements.txt当中,然后统一安装

新建一个用于人工智能环境的虚拟环境

python mkvirtualenv ai

python matplotlib==2.2.2 numpy==1.14.2 pandas==0.20.3 tables==3.4.2 jupyter==1.0.0

注意:

  • 每个包安装的过程中,尽量指定稳定版本进行安装

使用pip命令安装

python pip3 install -r requirements.txt

小结

  • 机器学习(科学计算库)阶段环境的搭建和基本库的安装

  • 注意:最好安装指定的稳定版本

2.2 Jupyter Notebook使用

学习目标

  • 目标

  • 学会使用Jupyter Notebook


1 Jupyter Notebook介绍

Jupyter项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算

  • Jupyter Notebook,原名IPython Notbook,是IPython的加强网页版,一个开源Web应用程序
  • 名字源自Julia、Python 和 R(数据科学的三种开源语言)
  • 是一款程序员和科学工作者的编程/文档/笔记/展示软件
  • .ipynb文件格式是用于计算型叙述的JSON文档格式的正式规范

jupyternotebook

2 为什么使用Jupyter Notebook?

  • 传统软件开发:工程/目标明确

  • 需求分析,设计架构,开发模块,测试

  • 数据挖掘:艺术/目标不明确

  • 目的是具体的洞察目标,而不是机械的完成任务

  • 通过执行代码来理解问题
  • 迭代式地改进代码来改进解决方法

实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事

对比Jupyter Notebook和Pycharm

  • 画图

  • 数据展示

  • 总结:Jupyter Notebook 相比 Pycharm 在画图和数据展示方面更有优势。

3 Jupyter Notebook的使用-helloworld

3.1 界面启动、创建文件

  • 3.1.1 界面启动

环境搭建好后,本机输入jupyter notebook命令,会自动弹出浏览器窗口打开Jupyter Notebook

```python

进入虚拟环境

workon ai

输入命令

jupyter notebook ```

本地notebook的默认URL为:http://localhost:8888

想让notebook打开指定目录,只要进入此目录后执行命令即可

notebook1

  • 3.1.2 新建notebook文档
  • notebook的文档格式是.ipynb

  • 3.1.3 内容界面操作-helloworld

标题栏:点击标题(如Untitled)修改文档名

编辑栏:

controlnotebook

3.2 cell操作

  • 什么是cell?

  • cell:一对In Out会话被视作一个代码单元,称为cell

  • cell行号前的 * ,表示代码正在运行

Jupyter支持两种模式:

  • 编辑模式(Enter)

  • 命令模式下回车Enter鼠标双击cell进入编辑模式

  • 可以操作cell内文本或代码,剪切/复制/粘贴移动等操作

  • 命令模式(Esc)

  • Esc退出编辑,进入命令模式

  • 可以操作cell单元本身进行剪切/复制/粘贴/移动等操作
3.2.1 鼠标操作

工具栏cell

3.2.2 快捷键操作
  • 两种模式通用快捷键

  • Shift+Enter,执行本单元代码,并跳转到下一单元

  • Ctrl+Enter,执行本单元代码,留在本单元

  • 命令模式:按ESC进入

  • Y,cell切换到Code模式

  • M,cell切换到Markdown模式

  • A,在当前cell的上面添加cell

  • B,在当前cell的下面添加cell

  • 其他(了解)

  • 双击D:删除当前cell

  • Z,回退

  • L,为当前cell加上行号 <!--

  • Ctrl+Shift+P,对话框输入命令直接运行

  • 快速跳转到首个cell,Crtl+Home

  • 快速跳转到最后一个cell,Crtl+End -->

  • 编辑模式:按Enter进入

  • 补全代码:变量、方法后跟Tab键

  • 为一行或多行代码添加/取消注释:Ctrl+/(Mac:CMD+/)

  • 其他(了解):

  • 多光标操作:Ctrl键点击鼠标(Mac:CMD+点击鼠标)

  • 回退:Ctrl+Z(Mac:CMD+Z)
  • 重做:Ctrl+Y(Mac:CMD+Y)

3.3 markdown演示

掌握标题和缩进即可

一级标题

二级标题

三级标题

四级标题
五级标题
  • 缩进

  • 二级缩进

    • 三级缩进

4 Jupyter Notebook中自动补全代码等相关功能拓展【了解】

效果展示:

image-20190312225838970

4.1 安装jupyter_contrib_nbextensions库

安装该库的命令如下:

shell python -m pip install jupyter_contrib_nbextensions

然后执行:

shell jupyter contrib nbextension install --user --skip-running-check

在原来的基础上勾选: “Table of Contents” 以及 “Hinterland”

部分功能:

image-20190313100409052

5 小结

  • 是什么

  • 是一个ipython的web加强版

  • 为什么要使用jupyter

  • 用于数据探索过程

  • 怎么用

  • 1.通过jupyter notebook 就可以使用

  • 2.保存文件是.ipynb
  • 3.每个内容,都对应的是一个cell

  • 快捷键

  • Shift+Enter,执行本单元代码,并跳转到下一单元

  • Ctrl+Enter,执行本单元代码,留在本单元

Matplotlib

学习目标

  • 应用Matplotlib的基本功能实现图形显示
  • 应用Matplotlib实现多图显示
  • 应用Matplotlib实现不同画图种类

3.1 Matplotlib之HelloWorld

学习目标

  • 目标

  • 了解什么是matplotlib

  • 为什么要学习matplotlib
  • matplotlib简单图形的绘制

1 什么是Matplotlib

matplotlib

  • 是专门用于开发2D图表(包括3D图表)

  • 以渐进、交互式方式实现数据可视化

2 为什么要学习Matplotlib

可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。

  • 能将数据进行可视化,更直观的呈现
  • 使数据更加客观、更具说服力

例如下面两个图为数字展示和图形展示:

star

3 实现一个简单的Matplotlib画图 — 以折线图为例

3.1 matplotlib.pyplot模块

matplotlib.pytplot包含了一系列类似于matlab的画图函数。

python import matplotlib.pyplot as plt

3.2 图形绘制流程:

  • 1.创建画布 -- plt.figure()

  • python plt.figure(figsize=(), dpi=) figsize:指定图的长宽 dpi:图像的清晰度 返回fig对象

  • 2.绘制图像 -- plt.plot(x, y)

  • python 以折线图为例

  • 3.显示图像 -- plt.show()

3.3 折线图绘制与显示

举例:展现上海一周的天气,比如从星期一到星期日的天气温度如下

```python import matplotlib.pyplot as plt

1.创建画布

plt.figure(figsize=(10, 10), dpi=100)

2.绘制折线图

plt.plot([1, 2, 3, 4, 5, 6 ,7], [17,17,18,15,11,11,13])

3.显示图像

plt.show() ```

折线图

4 认识Matplotlib图像结构(了解)

img

5 小结

  • 什么是matplotlib【了解】

  • 是专门用于开发2D(3D)图表的包

  • 绘制图像流程【掌握】

  • 1.创建画布 -- plt.figure(figsize=(20,8))

  • 2.绘制图像 -- plt.plot(x, y)
  • 3.显示图像 -- plt.show()

未完待续, 同学们请等待下一期

全套笔记和代码自取移步gitee仓库: gitee仓库获取完整文档和代码

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/400693.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑远控工具Venom Rat 毒液的测试和预防

电脑远控工具的概念 电脑远控工具是一种软件程序&#xff0c;能够让用户通过网络在远程位置控制另一台计算机。使用远控工具&#xff0c;用户可以在不同地点之间实现计算机的连接和控制&#xff0c;方便远程管理、技术支持、远程教学等应用场景。远控工具通常包括远程桌面查看…

Redis之缓存击穿问题解决方案

文章目录 一、书接上文二、介绍三、解决方案1. 单例双检锁2. 缓存预热和定时任务 一、书接上文 Redis之缓存雪崩问题解决方案 二、介绍 缓存击穿就是大量并发访问同一个热点数据&#xff0c;一旦这个热点数据缓存失效&#xff0c;则请求压力都来到数据库。 三、解决方案 1…

git版本回退在eclipse和命令中的操作

一.背景 老程序员了&#xff0c;熟悉eclipsesvn&#xff0c;git用的不溜。近几年用了git&#xff0c;偶尔修改了某个文件希望放弃本次修改重新恢复到最新版本重新修改。或者回退到某个版本&#xff0c;再修改。记录一下Eclipse中的操作&#xff0c;和命令操作的情况。 二.Ecli…

如何在debian上实现一键恢复操作系统?

在Debian或任何其他Linux发行版上实现一键恢复操作系统&#xff0c;需要创建一个系统镜像或快照&#xff0c;并设置一个简单的方法来从该镜像恢复。以下是创建和恢复系统的基本步骤&#xff1a; 1. 创建系统镜像&#xff1a; 使用像dd&#xff0c;rsync或专门的备份工具&#…

解决Uncaught SyntaxError: Cannot use import statement outside a module(at XXX)报错

报错原因&#xff1a;这个错误通常是因为你正在尝试在一个不支持 ES6 模块语法的环境中使用 import 语句。这可能是因为你的代码是在一个只支持 CommonJS 或 AMD 模块系统的环境中运行的&#xff0c;或者你的代码运行的环境没有正确配置以支持 ES6 模块。如果是在浏览器环境&am…

C++面向对象程序设计-北京大学-郭炜【课程笔记(四)】

C面向对象程序设计-北京大学-郭炜【课程笔记&#xff08;四&#xff09;】 1、this指针1.1、this指针的作用1.2、this指针和静态成员函数 2、静态成员变量和静态成员函数2.1、基本概念2.2、基本概念总结2.3、如何访问静态成员2.4、静态成员变量的使用场景&#xff08;重要&…

浏览器垃圾回收机制与 Vue 项目内存泄漏场景分析

目录 一、Vue项目 二、浏览器垃圾回收机制 三、内存泄漏场景 四、Vue项目会内存泄漏吗&#xff1f; 一、Vue项目 Vue.js 是一种流行的JavaScript 框架&#xff0c;用于构建用户界面。以下是关于Vue项目的一些基本信息和概念&#xff1a; 安装 Vue&#xff1a;您可以通过使…

探究网络工具nc(netcat)的使用方法及安装步骤

目录 &#x1f436;1. 什么是nc&#xff08;netcat&#xff09;&#xff1f; &#x1f436;2. nc&#xff08;netcat&#xff09;的基本使用方法 2.1 &#x1f959;使用 nc 进行端口监听 2.2 &#x1f959;使用 nc 进行端口扫描 2.3 &#x1f959;使用 Netcat 进行文件传输…

报表控件Stimulsoft 新版本2024.1中,功能区工具栏新功能

今天&#xff0c;我们将讨论Stimulsoft Reports、Dashboards 和 Forms 2024.1版本中的一项重要创新 - 在一行中使用功能区工具栏的能力。 Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinF…

第六十六天 API安全-接口安全阿里云KEY%postmanDVWSXEE鉴权泄露

第66天 API安全-接口安全&阿里云KEY%postman&DVWS&XEE&鉴权&泄露 知识点 1.HTTP类接口-测评 2.RPC类接口-测评 3.Web Service类-测评 参考链接&#xff1a;https://www.jianshu.com/p/e48db27d7c70 内容点&#xff1a; SOAP(Simple Object Access Prot…

板块一 Servlet编程:第八节 文件上传下载操作 来自【汤米尼克的JavaEE全套教程专栏】

板块一 Servlet编程&#xff1a;第八节 文件的上传下载操作 一、文件上传&#xff08;1&#xff09;前端内容&#xff08;2&#xff09;后端内容 二、文件下载&#xff08;1&#xff09;前端的超链接下载&#xff08;2&#xff09;后端下载 在之前的内容中我们终于结束了Servle…

《安全历史第1讲——从故宫修建看软件物料清单的重要性》

故宫&#xff0c;这座中国传统文化的重要代表和象征性建筑已屹立近600年&#xff0c;是世界上现存规模最大、保存最为完整的木质结构古建筑之一。 故宫之所以能至今保存完好&#xff0c;除持续保护和修缮外&#xff0c;其使用的木材和砖石等材料也经过了精挑细选&#xff0c;保…

仿12306校招项目-项目业务和架构

目录 业务图 用户管理 业务难点 1. 如何确定用户注册信息的真实性 2. 面对亿级用户量 3. 支持多种登录方式会造成读请求扩散&#xff0c;需要解决用户定位问题 4. 高并发场景下缓存穿透问题需要有效解决&#xff0c;避免数据库压力过大 5. 明文存储用户敏感信息会造成安…

js设计模式:委托者模式

作用: 一个对象可以将一些任务交给另外一个对象去执行,两者执行这个方法的结果是一致的 被委托者去替代委托者完成了某个功能,通常各种服务镜像就是这样的 示例: //npmconst npm {downModules(name){console.log(下载${name}依赖包)}}//mirrornpmconst mirrornpm {src:npm…

如何使用ArcGIS Pro生成等高线

无论在制图还是规划中&#xff0c;经常会使用到等高线&#xff0c;大多数情况下&#xff0c;从网上获取的高程数据都是DEM文件&#xff0c;我们可以通过ArcGIS Pro来生成等高线&#xff0c;这里为大家介绍一下生成方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的…

IO 作业 24/2/21

1、使用多线程完成两个文件的拷贝&#xff0c;第一个线程拷贝前一半&#xff0c;第二个线程拷贝后一半&#xff0c;主线程回收两个线程的资源 #include <myhead.h> //定义分支线程1 void *task1(void *arg) {int fdr-1;//只读打开被复制文件if((fdropen("./111.txt…

【概率论与数理统计】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱概率论1. 基本概念2. 随机变量3. 分布函数4. 期望与方差 数理统计1. 数据收集与整理2. 描述性统计3. 推断性统计4. 回归分析5. 方差分析 简述概要 概率论与数理统计基础知识 知识图谱 概率论 1. 基本概…

六大设计原则 (SOLID)

一、设计原则概述 古人云: 有道无术,术可求.有术无道,止于术. 而设计模式通常需要遵循一些设计原则,在设计原则的基础之上衍生出了各种各样的设计模式。设计原则是设计要求,设计模式是设计方案,使用设计模式的代码则是具体的实现。 设计模式中主要有六大设计原则,简称为SOL…

python 3D散点图

from mpl_toolkits import mplot3d import numpy as np import matplotlib.pyplot as plt#解决中文乱码和负号不显示问题 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False fig plt.figure() ax plt.axes(projection3d)#构造3个散点向量x1[[…

【Flink集群RPC通讯机制(二)】创建AkkaRpcService、启动RPC服务、实现相互通信

文章目录 零. RpcService服务概述1. AkkaRpcService的创建和初始化2.通过AkkaRpcService初始化RpcServer3. ResourceManager中RPC服务的启动4. 实现相互通讯能力 零. RpcService服务概述 RpcService负责创建和启动Flink集群环境中RpcEndpoint组件的RpcServer&#xff0c;且Rpc…