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

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

时间:2024-02-21 18:44:06浏览次数:32  
标签:md 机器 代码 cell Matplotlib 学习 Notebook Jupyter

本系列文章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

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当中,然后统一安装

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

mkvirtualenv ai
matplotlib==2.2.2
numpy==1.14.2
pandas==0.20.3
tables==3.4.2
jupyter==1.0.0

注意:

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

使用pip命令安装

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

  
  
# 进入虚拟环境
  
  
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库

安装该库的命令如下:

python -m pip install jupyter_contrib_nbextensions

然后执行:

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的画图函数。

import matplotlib.pyplot as plt

3.2 图形绘制流程:

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

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




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

* ```python
以折线图为例
  • 3.显示图像 -- plt.show()

3.3 折线图绘制与显示

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

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仓库获取完整文档和代码

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

标签:md,机器,代码,cell,Matplotlib,学习,Notebook,Jupyter
From: https://www.cnblogs.com/yinuo112/p/18025994

相关文章

  • ChemDraw Pro 2022:呈现专业化学绘图的极 致之作 mac/win版
    PerkinElmerChemDrawPro2022是一款功能强大的化学绘图软件,专为化学家、科研工作者和教育者设计。这款软件凭借其卓越的性能和丰富的功能,已经成为化学绘图领域的领导者。→→↓↓载PerkinElmerChemDrawPro2022mac/win版 ChemDrawPro2022提供了广泛的化学符号和工具,使......
  • 【性能测试】性能测试工具LoadRunner,参数化关联。全md文档笔记(已分享文档代码)
    本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1.LoadRunner介绍,2.脚本录制、运行、参数化,3.关联、检查点、事务......
  • 当systemd停止父python脚本时,子进程退出
    KillMode参数contorl-group(默认)#当前控制组里所有的子进程都会被杀掉process:#只杀主进程mixed:#主进程将收到SIGTERM(终止进程)信号,子进程将收到SIGKILL(无条件终止)信号none:  #没有进程会被杀掉,只是执行服务的stop命令 解决办法将KillMode改成process或non......
  • 【深度学习】TensorFlow实现线性回归,代码演示。全md文档笔记(代码文档已分享)
    本系列文章md笔记(已分享)主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归(含代码),熟练掌握numpy,pandas,sklearn等框架使用。在算法上,掌握神经网络的数学原理,手动实现简单的神经网络结构,在应用上熟练掌握TensorFlow框架使用,掌握神经网络图像相关案例。具体......
  • https://repo.radeon.com/rocm/apt/6.0.2 jammy/main amd64 下载太慢
    获取:1https://repo.radeon.com/rocm/apt/6.0.2jammy/mainamd64comgramd642.6.0.60002-115~22.04[51.7MB]获取:2https://repo.radeon.com/rocm/apt/6.0.2jammy/mainamd64composablekernel-devamd641.1.0.60002-115~22.04[109MB]获取:3https://repo.radeon.com/ro......
  • react 备忘.md.18022871
    useStateuseState是React中一个基本的钩子(Hook),用于在函数组件中添加状态。这个钩子让你能够在不编写类组件的情况下保持组件的内部状态。useCallbackuseCallback是React的一个钩子(Hook),它返回一个记忆化(memoized)的回调函数。这个钩子在某些场景下非常有用,特别是当你需要传......
  • python · matplotlib | seaborn 画图与调整图例位置
    1seaborn画图代码存档:sns.set_style("whitegrid")#好看的styleplt.figure()#plt.plot(ppo_data['Step']*step_mul,ppo_data['ppo_mean'],label='PPO')#plt.plot(sac_data['Step']*step_mul,sac_data['sac_m......
  • Jupyter Notebook运行R程序安装过程释疑
    JupyterNotebook是一个开源的交互式笔记本环境,支持多种编程语言,包括Python和R。它被广泛应用于数据分析、机器学习、科学计算等领域。在JupyterNotebook中,用户可以结合编写文本、代码和可视化结果,以便于进行数据探索、模型开发以及结果展示。然而,随着项目的进展,往往需要对......
  • 基于EMD的滚动轴承故障诊断算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a  3.算法理论概述       基于经验模态分解(EmpiricalModeDecomposition,EMD)的滚动轴承故障诊断算法是一种有效的非平稳信号处理方法,特别适用于处理非线性、非平稳的振动信号。该方法通过自适应地将复杂信......
  • Prometheus+Grafana监控cmdb
    目录前言一、实验环境二、基于Prometheus+Grafana的监控解决方案三、实施步骤3.1获取安装包3.2数据库安装用户部署安装包3.3启动文件修改3.4示例3.5增加crontab3.6部署检测3.7安装prometheus(1)下载(2)解压(3)启动3.8安装grafana3.9修改数据库参数前言Prometheus是从......