【机器学习】科学库使用第3篇:机器学习概述,学习目标【附代码文档】

news/2025/3/14 17:18:54/

机器学习(科学计算库)完整教程(附代码资料)主要内容讲述:机器学习(常用科学计算库的使用)基础定位、目标,机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小案例。机器学习概述,1.5 机器学习算法分类学习目标,学习目标,1 监督学习,2 无监督学习,3 半监督学习,4 强化学习。机器学习概述,1.7 Azure机器学习模型搭建实验学习目标,学习目标,Azure平台简介,学习目标,1 深度学习 —— 神经网络简介,2 深度学习各层负责内容。Matplotlib,3.2 基础绘图功能 — 以折线图为例学习目标,学习目标,1 完善原始折线图 — 给图形添加辅助功能,2 在一个坐标系中绘制多个图像,3 多个坐标系显示— plt.subplots(面向对象的画图方法),4 折线图的应用场景。Matplotlib,3.3 常见图形绘制学习目标,学习目标,1 常见图形种类及意义,2 散点图绘制,3 柱状图绘制,4 小结。Numpy,4.2 N维数组-ndarray学习目标,学习目标,1 ndarray的属性,2 ndarray的形状,3 ndarray的类型,4 总结。Numpy,4.4 ndarray运算学习目标,学习目标,问题,1 逻辑运算,2 通用判断函数,3 np.where(三元运算符)。Pandas,5.1Pandas介绍学习目标,学习目标,1 Pandas介绍,2 为什么使用Pandas,3 小结,学习目标。Pandas,5.3 基本数据操作学习目标,学习目标,1 索引操作,2 赋值操作,3 排序,4 总结。Pandas,5.6 文件读取与存储学习目标,学习目标,1 CSV,2 HDF5,3 JSON,4 小结。Pandas,5.8 高级处理-数据离散化学习目标,学习目标,1 为什么要离散化,2 什么是数据的离散化,3 股票的涨跌幅离散化,4 小结。Pandas,5.12 案例学习目标,学习目标,1 需求,2 实现,1.独立同分布(i.i.d.),2.简单解释 — 独立、同分布、独立同分布。

全套笔记资料代码移步: 前往gitee仓库查看

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


全套教程部分目录:


部分文件图片:

机器学习概述

学习目标

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

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

学习目标

  • 目标

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


Azure平台简介

image-20190220120303537

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

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

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

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

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为:[

想让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()

  • ```python 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仓库查看

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


http://www.ppmy.cn/news/1405413.html

相关文章

Linux非管理员安装ninja,解决RuntimeError: Ninja is required to load C++ extensions错误

最近在复现代码的时候&#xff0c;需要用到C环境进行编译&#xff0c;这就少不了ninja&#xff0c;但是因为服务器是实验室公用的&#xff0c;所以一般没有管理员权限&#xff0c;所以就很难办&#xff01;&#xff01;&#xff01;&#xff01; 下面是非管理员权限安装ninja&a…

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具&#xff0c;一…

EOCR3EZ-05CUH施耐德综合漏电保护继电器

EOCR3EZ-05CUH施耐德综合漏电保护继电器由承德尚越电子代理销售&#xff0c;该产品是施耐德升级款保护器产品&#xff0c;具有过电流&#xff0c;缺相&#xff0c;堵转&#xff0c;逆相&#xff0c;相不平衡&#xff0c;漏电&#xff0c;预报警和密码设置功能。 是韩国三和生产…

基于蚁群算法的三维路径规划(matlab实现)

作品简介 1 理论基础 1.1 三维路径规划问题概述 三维路径规划指在已知三维地图中&#xff0c;规划出一条从出发点到目标点满足某项指标最优&#xff0c;并且避开了所有三维障碍物的三维最优路径。现有的路径规划算法中&#xff0c;大部分算法是在二维规划平面或准二维规划平面…

Linux学习笔记————C 语言版 LED 灯实验

这里写目录标题 一、实验程序编写二、 汇编部分实验程序编写三、C 语言部分实验程序编写四、编译下载验证 汇编 LED 灯实验中&#xff0c;我们讲解了如何使用汇编来编写 LED 灯驱动&#xff0c;实际工作中是很少用到汇编去写嵌入式驱动的&#xff0c;毕竟汇编太难&#xff0c;而…

rtthread 学习

地址对齐 在大多数系统中需要做栈空间地址对齐&#xff0c;例如在 ARM 体系结构中需要向 4 字节地址对齐。 实现栈对齐的方法为&#xff0c;在定义栈之前&#xff0c;放置一条 ALIGN(RT_ALIGN_SIZE)语句&#xff0c;指定接下来定义的变量的地址对齐方式。其中 ALIGN 是在 rtde…

ubuntu下mysql常用命令

1. 登录数据库 mysql -u root -p 2.创建数据库 create database 数据库名字 mysql> create database yourdb; Query OK, 1 row affected (0.03 sec)3.显示数据库 show databases; 实操结果如下 mysql> show databases; -------------------- | Database | ---…

Mysql中的那些索引

主键索引 表的主键使用的就是主键索引&#xff0c;一张表只能有一个主键索引&#xff0c;主键索引不能为null,且不能重复。 主键索引存在于B树的非叶子节点和叶子节点&#xff0c;叶子节点存放的还有数据。 非主键索引 非主键索引也叫二级索引&#xff0c;包括有唯一索引&a…