【机器学习科学库】全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仓库获取完整文档和代码

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue从flask获取数据并显示

记录一个前后端分离遇到的问题&#xff0c;即vue前端从flask后端获取数据。具体描述如下&#xff1a;flask只负责连接数据库并获取数据库的数据&#xff0c;并返回给前端vue&#xff1b;vue则需要获取后端返回的数据并显示。 方法如下&#xff0c;分别用一个vue组件和一个flas…

【网站项目】488服装店销售管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

迷你世界之建筑生成球体

local x0,y0,z00,30,0--起点坐标 local dx,dy,dz60,60,60--外切长方体横纵竖长度 local count,all0,dx*dy*dz--计数&#xff0c;总数 local m,k10000,0--单次生成方块数&#xff0c;无用循环值 local x,y,z0,0,0--当前坐标 local demath.random(2,19)/2 local id600--方块…

中兴通讯携吉林移动迈向5G-A新阶段,完成3CC技术应用

日前&#xff0c;中兴通讯携手中国移动吉林移动分公司&#xff0c;在5G-A领域取得新突破。具体来说&#xff0c;双方基于MTK芯片M80终端&#xff0c;完成了5G-A三载波聚合试点&#xff0c;实测下行速率达到理论峰值4.25Gbps&#xff0c;相比2.6G单载波速率提升2.5倍。如此成绩&…

C++面试题精选与解析

C面试题精选与解析 一、基础与语法 请问C中的指针和引用有什么区别&#xff1f; 指针是一个变量&#xff0c;存储的是另一个变量的内存地址。指针可以被重新赋值以指向另一个不同的对象。而引用是某个变量的别名&#xff0c;一旦引用被初始化为一个变量&#xff0c;就不能改变…

LLM权重量化

LLM权重量化 浮点表示的背景知识Nave 8位量化使用LLM.int8() 进行8位量化结论References 大型语言模型(llm)以其广泛的计算需求而闻名。通常&#xff0c;模型的大小是通过将**参数的数量(大小)乘以这些值的精度(数据类型)**来计算的。为了节省内存&#xff0c;可以通过称为量化…

cmake 项目。qt5升级 qt6 报错 error: “Qt requires a C++17 compiler 已解决

日常项目开发中。需要对qt5升级到qt6 做cmake兼容配置&#xff0c;在编译中发现&#xff0c;有c 编译环境 报错 2>C:\Qt\6.5.3\msvc2019_64\include\QtCore/qcompilerdetection.h(1226,1): fatal error C1189: #error: "Qt requires a C17 compiler, and a suitable …

了解 JavaScript 中的重放攻击和复现攻击

在网络安全领域&#xff0c;重放攻击&#xff08;Replay Attack&#xff09;和复现攻击&#xff08;Playback Attack&#xff09;是一些可能导致安全漏洞的攻击形式。这两种攻击类型涉及在通信过程中再次发送已经捕获的数据&#xff0c;以达到欺骗系统的目的。本文将介绍 JavaS…

企业微信怎么变更企业名称?

企业微信变更主体有什么作用&#xff1f;现在很多公司都用企业微信来加客户&#xff0c;有时候辛辛苦苦积累了很多客户&#xff0c;但是公司却因为各种各样的原因需要注销&#xff0c;那么就需要通过企业微信变更主体的方法&#xff0c;把企业微信绑定的公司更改为最新的。企业…

Qt Android sdk配置报错解决

使用的jdk8总是失败&#xff0c;报错command tools run以及platform sdk等问题。后来主要是设置jdk版本为17&#xff0c;就配置生效了。Android sdk路径可以选用Android Studio自带的&#xff0c;但是也要在Qt中点击“设置SDK”按钮做必要的下载更新等。 编译器这里会自动检测到…

linux中的权限

Linux 的权限 在了解Linux的权限之前&#xff0c;我们需要知道Linux的构成&#xff0c;Linux分为三个部分&#xff0c;内核、外部程序、以及用户。 内核&#xff1a; 内核一般是指Linux的操作系统&#xff0c;用来执行用户发送的指令 或者 拒绝执行用户发布指令时而发出的报…

大数据之Flink优化

文章目录 导言&#xff1a;Flink调优概览第1章 资源配置调优1.1 内存设置1.1.1 TaskManager 内存模型1.1.2 生产资源配置示例 1.2 合理利用 cpu 资源1.2.1 使用 DefaultResourceCalculator 策略1.2.2 使用 DominantResourceCalculator 策略1.2.3 使用DominantResourceCalculato…

YOLOv9来了,可编程梯度信息与广义高效层聚合网络 助力全新检测SOTA前沿

本文首发&#xff1a;AIWalker 欢迎关注AIWalker&#xff0c;近距离接触底层视觉与基础AI技术 摘要 当今的深度学习方法侧重于如何设计最合适的目标函数&#xff0c;以便模型的预测结果最接近真实情况&#xff1b;与此同时&#xff0c;必须设计一个适当的架构&#xff0c;以便…

[electron]官方示例解析

官方例子 github链接 main.js const { app, BrowserWindow } require(electron)说句实话这里的语法是有部分看不懂的。导入模块虽然electron有很多模块。但是这里只是用到了app 和 BrowserWindow function createWindow () {// Create the browser window.const mainWindo…

go语言的理解,看这一篇就够了

1.来源 Go语言是谷歌2009年发布的第二款开源编程语言 2.谷歌为什么要创建Go语言 计算机硬件技术更新频繁, 性能提高很快,默目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个简洁而高效…

SSM项目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架实现登录和主页菜单显示

目录 前言 一、加入DWZ J-UI框架 二、实现登录页面 三、实现主页面菜单显示 前言 大家好&#xff01;写文章之前先列出几篇相关文章。本文内容也在其项目中接续实现。 一. SSM项目集成Spring Security 4.X版本&#xff08;使用spring-security.xml 配置文件方式&#xff…

eclipse中open Type 、 open type in Hierachy、open Resource的区别

目录 场景&#xff1a; open Type open Resource open type in Hierachy 场景&#xff1a; 在项目中想要研究底层代码&#xff0c;经常要用eclipse看依赖jar包的类&#xff0c;比如spring的源码中AbstractApplicationContext类CTLSHIFTT用的少&#xff0c;经常用的CTLSHIR…

YOLO系列论文阅读(v1--v3)

搞目标检测&#xff0c;绕不开的一个框架就是yolo&#xff0c;而且更糟糕的是&#xff0c;随着yolo的发展迭代&#xff0c;yolo网络可以做的事越来越多&#xff0c;语义分割&#xff0c;关键点检测&#xff0c;3D目标检测。。。这几天决定把YOLO系列彻底梳理一下&#xff0c;在…

leet hot 100-4 移动零

移动零 原题链接思路代码 原题链接 leet hot 100-4 283. 移动零 思路 遍历数组 将非0数字 移动到数组前端 数字0就会被移动到数组末端 时间复杂度O(n) 空间复杂度(n) 代码 class Solution { public:void moveZeroes(vector<int>& nums) {int start 0;int ind…

Spring篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、Spring IoC 的实现机制。二、什么是 spring bean?三、spring 提供了哪些配置方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享…