本系列文章md笔记(已分享)次要探讨人工智能相干常识。次要内容包含,理解机器学习定义以及利用场景,把握机器学习根底环境的装置和应用,把握利用罕用的科学计算库对数据进行展现、剖析,学会应用jupyter notebook平台实现代码编写运行,利用Matplotlib的基本功能实现图形显示,利用Matplotlib实现多图显示,利用Matplotlib实现不同画图品种,学习Numpy运算速度上的劣势,晓得Numpy的数组内存块格调,理解Numpy与Pandas的不同,学习Pandas的应用,利用crosstab和pivot_table实现穿插表与透视表,利用Pandas实现数据的读取和存储,并且理解残缺机器学习我的项目的流程。
全套笔记和代码自取移步gitee仓库: gitee仓库获取残缺文档和代码
感兴趣的小伙伴能够自取哦,欢送大家点赞转发~
共 7 章,33 子模块
机器学习概述
学习指标
- 理解人工智能倒退历程
- 理解机器学习定义以及利用场景
- 晓得机器学习算法监督学习与无监督学习的区别
- 晓得监督学习中的分类、回归特点
- 晓得机器学习的开发流程
1.7 Azure机器学习模型搭建试验
学习指标
指标
- 理解Azure机器学习平台,晓得机器学习流程
Azure平台简介
Azure Machine Learning(简称“AML”)是微软在其私有云Azure上推出的基于Web应用的一项机器学习服务,机器学习属人工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行辨认。这种形式可能通过历史数据来预测将来事件和行为,其实现形式显著优于传统的商业智能模式。
微软的指标是简化应用机器学习的过程,以便于开发人员、业务分析师和数据科学家进行宽泛、便捷地利用。
这款服务的目标在于“将机器学习能源与云计算的简略性相结合”。
AML目前在微软的Global Azure云服务平台提供服务,用户能够通过站点:https://studio.azureml.net/ 申请收费试用。
Azure机器学习试验
- 试验目标:理解机器学习从数据到建模并最终评估预测的整个流程。
1.8 深度学习简介
学习指标
指标
- 理解什么是深度学习
1 深度学习 —— 神经网络简介
深度学习(Deep Learning)(也称为深度构造学习【Deep Structured Learning】、档次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是一类算法汇合,是机器学习的一个分支。
深度学习办法近年来,在会话辨认、图像识别和对象侦测等畛域体现出了惊人的准确性。
然而,“深度学习”这个词语很古老,它在1986年由Dechter在机器学习畛域提出,而后在2000年有Aizenberg等人引入到人工神经网络中。而当初,因为Alex Krizhevsky在2012年应用卷积网络结构博得了ImageNet较量之后受到大家的注目。
卷积网络之父:Yann LeCun
深度学习演示
- 链接:http://playground.tensorflow.org
2 深度学习各层负责内容
神经网络各层负责内容:
1层:负责辨认色彩及简略纹理
2层:一些神经元能够辨认更加细化的纹理,布纹,刻纹,叶纹等
3层:一些神经元负责感触黑夜里的黄色烛光,高光,萤火,鸡蛋黄色等。
4层:一些神经元辨认萌狗的脸,宠物形貌,圆柱体事物,七星瓢虫等的存在。
5层:一些神经元负责辨认花,黑眼圈动物,鸟,键盘,原型屋顶等。
4 小结
- 深度学习的倒退源头--神经网络【理解】
- 多层神经网络,在最后几层是辨认简略内容,前面几层是辨认一些简单内容。【理解】
机器学习根底环境装置与应用
学习指标
- 实现机器学习根底阶段的环境装置
- 学会应用jupyter notebook平台实现代码编写运行
2.1 库的装置
学习指标
指标
- 搭建好机器学习根底阶段的环境
整个机器学习根底阶段会用到Matplotlib、Numpy、Pandas等库,为了对立版本号在环境中应用,将所有的库及其版本放到了文件requirements.txt当中,而后对立装置
新建一个用于人工智能环境的虚拟环境
mkvirtualenv ai
matplotlib==2.2.2numpy==1.14.2pandas==0.20.3tables==3.4.2jupyter==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文档格局的正式标准
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关上指定目录,只有进入此目录后执行命令即可
3.1.2 新建notebook文档
- notebook的文档格局是
.ipynb
3.1.3 内容界面操作-helloworld
标题栏:点击题目(如Untitled)批改文档名
编辑栏:
3.2 cell操作
什么是cell?
- cell:一对In Out会话被视作一个代码单元,称为cell
- cell行号前的 * ,示意代码正在运行
Jupyter反对两种模式:
编辑模式(Enter)
- 命令模式下
回车Enter
或鼠标双击
cell进入编辑模式 - 能够操作cell内文本或代码,剪切/复制/粘贴挪动等操作
- 命令模式下
命令模式(Esc)
- 按
Esc
退出编辑,进入命令模式 - 能够操作cell单元自身进行剪切/复制/粘贴/挪动等操作
- 按
3.2.1 鼠标操作
3.2.2 快捷键操作
两种模式通用快捷键
Shift+Enter
,执行本单元代码,并跳转到下一单元Ctrl+Enter
,执行本单元代码,留在本单元
命令模式:按ESC进入
Y
,cell切换到Code模式M
,cell切换到Markdown模式A
,在以后cell的下面增加cellB
,在以后cell的上面增加cell
其余(理解)
双击D
:删除以后cellZ
,回退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中主动补全代码等相干性能拓展【理解】
成果展现:
4.1 装置jupyter_contrib_nbextensions库
装置该库的命令如下:
python -m pip install jupyter_contrib_nbextensions
而后执行:
jupyter contrib nbextension install --user --skip-running-check
在原来的根底上勾选: “Table of Contents” 以及 “Hinterland”
局部性能:
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
- 是专门用于开发2D图表(包含3D图表)
- 以渐进、交互式形式实现数据可视化
2 为什么要学习Matplotlib
可视化是在整个数据挖掘的要害辅助工具,能够清晰的了解数据,从而调整咱们的分析方法。
- 能将数据进行可视化,更直观的出现
- 使数据更加主观、更具说服力
例如上面两个图为数字展现和图形展现:
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)
以折线图为例
- 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图像构造(理解)
5 小结
什么是matplotlib【理解】
- 是专门用于开发2D(3D)图表的包
绘制图像流程【把握】
- 1.创立画布 -- plt.figure(figsize=(20,8))
- 2.绘制图像 -- plt.plot(x, y)
- 3.显示图像 -- plt.show()