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