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.绘制一些数学图像 |
|