Python人工智能经典算法之机器学习第一篇
时间:2022-07-24
本文章向大家介绍Python人工智能经典算法之机器学习第一篇,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.机器学习概述
1.1 人工智能概述
1.人工智能起源
图灵测试
达特茅斯会议
2.人工智能三个阶段
1980年代是正式成形期
1990-2010年代是蓬勃发展期
2012年之后是深度学习期
3.人工智能、机器学习和深度学习
机器学习是人工智能的一个实现途径
深度学习是机器学习的一个方法发展而来
4.主要分支介绍
1.计算机视觉
eg:人脸识别
2.自然语言处理
语音识别
语义识别
3.机器人
5.人工智能必备三要素【***】
数据
算法
计算力
6.gpu,cpu【**】
gpu -- 计算密集型
cpu -- IO密集型
1.2.机器学习工作流程
1.定义【***】
数据
自动分析获得模型
预测
从数据中自动分析获得模型,并利用模型对未知数据进行预测
2.工作流程【****】
1.获取数据
2.数据基本处理
3.特征工程
4.机器学习(模型训练)
5.模型评估
3.获取到的数据集介绍【*****】
1.专有名词
样本
特征
目标值(标签值)
特征值
2.数据类型构成
类型一:特征值+目标值
目标值分为是离散还是连续
类型二: 只有特征值,没有目标值
3.数据划分
训练数据(训练集) -- 构建模型
0.7--0.8
测试数据(测试集) -- 模型评估
0.2--0.3
4.数据基本处理
对数进行缺失值、去除异常值等处理
5.特征工程
1.定义
把数据转换成为机器更容易识别的数据
2.为什么需要特征工程
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
3.包含内容
特征提取
特征预处理
特征降维
6.机器学习
选择合适的算法对模型进行训练
7.模型评估
对训练好的模型进行评估
1.3 机器学习算法分类【***】
1.监督学习 -- 有特征值,有目标值
目标值连续-- 回归
目标值离散-- 分类
2.无监督学习 -- 仅有特征值
3.半监督学习
有特征值,但是一部分数据有目标值,一部分没有
4.强化学习
动态过程,上一步数据的输出是下一步数据的输入
四要素:agent, action, environment,Reward,
1.4 模型评估
1.分类模型评估
准确率
精确率
召回率
F1-score
AUC指标
2 回归模型评估
均方根误差
相对平方误差
平均绝对误差
相对绝对误差
决定系数
3.拟合
欠拟合
过拟合
2.机器学习基础环境安装与使用
2.1 库的安装
pip install -r requirements.txt
2.2 Jupyter Notebook使用【**】
1.jupyter定义
开源的科学计算平台
类比ipython
可以运行代码,可以做笔记
文件后缀: .ipynb
2.jupyter和pycharm对比
jupyter -- 探索性数据,一边分析,一边运行
pycharm -- 适合逻辑性强的操作(web)
3.如何使用
jupyter notebook
使用方式和ipython一样,但是要比ipython强大(可以画图)
4.cell
一对In Out会话被视作一个代码单元,称为cell
5.jupyter两种模式
编辑模式
直接点击进去,可以进行编写代码,做笔记
命令模式
通过快捷键,操作,eg:添加一行
6.快捷键
通用:
Shift+Enter,执行本单元代码,并跳转到下一单元
Ctrl+Enter,执行本单元代码,留在本单元
命令模式
Y,cell切换到Code模式
M,cell切换到Markdown模式
A,在当前cell的上面添加cell
B,在当前cell的下面添加cell
双击D:删除当前cell
编辑模式:
和常规方式一样
7.markdown语法
# -- *级标题
- -- 缩进
3. Matplotlib
3.1 Matplotlib之HelloWorld
1.定义
主要用于开发2D图表(3D)
数据分析,基于分析,进行展示
2.绘图流程【***】
1.创建画布
2.绘制图像
3.显示图像
3.matplotlib三层结构
容器层
canvas
figure
axes
辅助显示层
添加x轴,y轴描述,标题。。。
图像层
绘制什么图像的声明
3.2 折线图(plot)与基础绘图功能【****】
1.图像保存
plt.savefig()
注意:图像保存一定要放到show前面
2.添加x轴,y轴刻度
plt.xticks
plt.yticks
注意:第一个参数必须是数字,如果不是数字,需要进行值替换
3.添加网格
plt.grid()
参数:
linestyle -- 绘制网格的方式
alpha -- 透明度
4.添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一小时温度变化图", fontsize=20)
5.多次plot
直接进行绘制
6.显示图例
plt.legend()
注意:需要在显示之前,声明plot里面的具体值
7.多个坐标系图像显示【###】
fig, axes = plt.subplots()
nrows -- 几行
ncols -- 几列
注意:有些方法需要添加set_*
8.折线图应用场景
1.表示数据变化
2.绘制一些数学图像
- 虚拟化平台cloudstack(3)——安装(下)
- 机器学习算法实现解析——libFM之libFM的训练过程概述
- 虚拟化平台cloudstack(4)——几个异常
- Golang语言 xml解析实例
- 机器学习算法实现解析——libFM之libFM的模型处理部分
- Go语言使用protobuf数据通信--师出同门,懂的人理解吧
- 虚拟化平台cloudstack(6)——使用maven:jetty调试
- 虚拟化平台cloudstack(7)——新版本的调试
- 一行代码,Pandas秒变分布式,快速处理TB级数据
- 机器学习算法实现解析——word2vec源码解析
- 从零开始创建一个基于Go语言的web service
- 转--Golang项目邮件发送模块代码分享
- 虚拟化平台cloudstack(8)——从UI开始
- 使用oracle的大数据工具ODCH访问HDFS数据文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 算法工程师-SQL进阶:温柔的陷阱-NULL
- SpringBoot 异步任务处理
- SpringBoot整合 ActiveMQ快速入门 实现点对点推送
- Tomcat部署SpringBoot war包
- Vue之插槽Slot理解
- Docker六脉神剑 (三) 编写Dockerfile构建nginx镜像并推送到远程仓库给其他人使用
- 快速学习UML类图查看
- 设计模式 | 抽象工厂模式
- 设计模式 | 单例模式
- macOS 安装软件已损坏无法打开解决办法 (真好用!)
- nginx 配置反向代理
- ES6新特性速查表
- React-Native Android打包
- React-Native iOS打包
- Webpack+Babel手把手带你搭建开发环境(内附配置文件)