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

news2025/1/17 4:09:21

本系列文章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.coloradmin.cn/o/1470403.html

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

相关文章

字符串(算法竞赛)--Manacher(马拉车)算法

1、B站视频链接&#xff1a;F05 Manacher(马拉车)_哔哩哔哩_bilibili 题目链接&#xff1a;【模板】manacher - 洛谷 ​ #include <bits/stdc.h> using namespace std; const int N3e7; char a[N],s[N]; int d[N];//回文半径函数void get_d(char*s,int n){d[1]1;for(int…

SpringBoot:数据访问-整合 Druid 配置数据源监控

点击查看数据访问demo&#xff1a;LearnSpringBoot06DataJdbc 点击查看更多的SpringBoot教程 简介 Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。 一、添加druid-spring-boot-starter依赖 点击查询最新版 <dependency&g…

猜字谜|构建生成式 AI 应用实践(一)

在 2023 亚马逊云科技 re:Invent 之后&#xff0c;细心的开发者们也许已经发现有一个很有趣的动手实验&#xff1a;开发一款可部署的基于大语言模型的字谜游戏&#xff1a; 该款游戏使用了文生图模型为玩家提供一个未知的提示词&#xff0c;玩家需要根据模型生成的图像来猜测该…

【基于Ubuntu20.04的Autoware.universe安装过程】方案二:双系统 | 详细记录 | 全过程图文 by.Akaxi

目录 一、Autoware.universe背景 Part-1&#xff1a;安装双系统教程 二、查看Windows引导方式 三、制作安装盘 四、设置电脑配置 1.关闭bitlocker 2.压缩硬盘分区 3.关闭Secure Boot 4.关闭intel RST 5.BIOS设置U盘引导 五、安装Ubuntu20.04 1.ventoy引导 2.安装配…

代码随想录算法训练营Day27 || leetCode 93.复原IP地址 || 78.子集 || 90.子集II

93.复原IP地址 与分割回文串的代码相近&#xff0c;先写出判断函数&#xff0c;之后以判断结果为标准&#xff0c;执行回溯的代码。此题中使用点的个数来决定回溯的终止&#xff0c;需要学习一下。 class Solution { private:vector<string> result;bool isValid(const …

c语言经典测试题5

1.题1 t0; while(printf("*")) { t; if (t<3) break; }关于上述代码描述正确的是&#xff1f; A: 其中循环控制表达式与0等价 B: 其中循环控制表达式与0等价 C: 其中循环控制表达式是不合法的 D: 以上说法都不对 我们来分析一下&#xff1a;printf的返回值…

一个具有强大PDF处理能力的.Net开源项目

PDF具有跨平台、可读性强、不可修改性、无需特定阅读软件、内容安全等好处&#xff0c;在工作中经常都会用到。 所以&#xff0c;我们在项目开发中&#xff0c;经常需要生成PDF的文件&#xff0c;或者把Html、Xml等文件转化为PDF格式。 今天给大家推荐一个具有PDF处理能力的.…

消息队列-RabbitMQ:延迟队列、rabbitmq 插件方式实现延迟队列、整合SpringBoot

十六、延迟队列 1、延迟队列概念 延时队列内部是有序的&#xff0c;最重要的特性就体现在它的延时属性上&#xff0c;延时队列中的元素是希望在指定时间到了以后或之前取出和处理&#xff0c;简单来说&#xff0c;延时队列就是用来存放需要在指定时间被处理的元素的队列。 延…

20240113----重返学习-`nginx/conf/nginx.conf`的https证书配置说明

20240113----重返学习-nginx/conf/nginx.conf的https证书配置说明 文件说明 不同域名的多虚拟主机配置 server {listen 443 ssl;#在443端口上监听SSL/TLS流量;server_name localhost;#指定服务器名称&#xff0c;应该与域名匹配;ssl_certificate fangchaoduan.com.pem;#指定SS…

数据安全之路:深入了解MySQL的行锁与表锁机制

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 数据安全之路&#xff1a;深入了解MySQL的行锁与表锁机制 前言基础innodb中锁与索引的关系如何避免表锁 前言 在当今数据密集的应用中&#xff0c;数据库锁成为了确保数据一致性和并发操作的关键工具…

Java 拦截器深入了解学习

Java 拦截器深入了解学习 命运总是不如愿。 但往往是在无数的痛苦中&#xff0c;在重重的矛盾和艰难中&#xff0c;才使人成熟起来&#xff0c;坚强起来;虽然这些东西在实际感受中给人带来的并不都是欢乐。 ————路遥《平凡的世界》 什么是拦截器&#xff08;Interceptor&am…

【C++】C++对C语言的关系,拓展及命名空间的使用

文章目录 &#x1f4dd;C简述C融合了3种不同的编程方式&#xff1a;C和C语言关系是啥呢&#xff1f;C标准 &#x1f320;C应用&#x1f320;C语言优点第一个C程序 &#x1f320;命名空间&#x1f320;命名空间的使用命名空间的定义 &#x1f320;怎么使用命名空间中的内容呢&am…

强化学习入门到不想放弃-3

第三节我们主要讲一下SARSA模型 上节课的链接:强化学习入门到不想放弃-2 (qq.com) 有模型的概念:简单理解,上节课我讲的就是有模型,就是可以开上帝视角,知道全局地图 无模型的概念: 打CS,但是看不到地图的情况,全凭自己探索 今天的讲解环境还是和上节课一样,如下…

Movelt使用笔记-Movelt Setup Assistant

目录 Setup Assistant配置1 Start 加载urdf模型3 Virtual joints 虚拟关节5 Robot Poses 机器人位姿7 Passive Joints 被动关节8 Controllers 控制器9 Simulation 仿真10 3D Perception 3D感知11 Author Information 作者信息12 Configuration Files 配置文件启动MoveIt!Setup…

【Python笔记-设计模式】前端控制器模式

一、说明 常作为MVC&#xff08;Model-View-Controller&#xff09;模式的一部分&#xff0c;用来处理用户请求并将其分发给相应的处理程序&#xff08;即路由匹配&#xff09;。 (一) 解决问题 将请求的处理流程集中管理&#xff0c;统一处理所有的请求 (二) 使用场景 需…

学习或从事鸿蒙开发工作,有学历要求吗?

目前安卓有2,000万的开发者。本科及以上学历占比为35%&#xff1b;iOS有2,400万开发者&#xff0c;本科及以上学历占比为40% 绝大多数的前端开发者都是大专及以下学历&#xff0c;在2023年华为开发者大会上余承东透露华为的开发者目前有200万&#xff0c;但鸿蒙开发者统计的数据…

3.WEB渗透测试-前置基础知识-快速搭建渗透环境(上)

上一个内容&#xff1a;2.WEB渗透测试-前置基础知识-web基础知识和操作系统-CSDN博客 1.安装虚拟机系统 linux Kali官网下载地址&#xff1a; https://www.kali.org/get-kali/#kali-bare-metal Centos官网下载地址&#xff1a; https://www.centos.org/download/ Deepin官网下…

每个学计算机同学都应该有个创业梦

推荐计算机专业必看的两部电影 经典记录片电影《社交网络》推荐理由豆瓣评分电影简介 德国犯罪喜剧《如何在网上卖迷幻药》推荐理由剧情简介 两部电影主角对比 经典记录片电影《社交网络》 纪录扎克伯格&#xff0c;7年时间&#xff0c;从一名大学生摇身变成亿万富翁的故事 推荐…

解读OpenAI Sora文生视频技术原理

OpenAI Sora文生视频&#xff08;图像看作单帧视频&#xff09;一放出就炸翻整个AI 圈&#xff0c;也是ChatGPT掀起GenAI热潮时隔一年后&#xff0c;OpenAI再次史诗级的更新。OpenAI 随后公布的技术综述[文献1]&#xff0c;难掩其勃勃雄心&#xff1a;视频生成模型作为世界模拟…

Matlab自学笔记二十七:详解格式化文本sprintf各参数设置方法

1.一个程序引例 上篇文章已经介绍了格式化文本的初步应用&#xff0c;程序示例如下&#xff1a; sprintf(|%f\n|%.2f\n|%8.2f,pi*ones(1,3)) 2.格式化操作符各字段的含义解析 格式化操作符可以有六个字段&#xff0c;只有主字符%和转换格式是必需的&#xff0c;其他都是可选…