Python学习 Day11
机器学习
1、定义
从数据中自动分析获得模型,并利用模型对未知数据进行预测
2、工作流程
1、获取数据 2、数据基本处理 3、特征工程 4、机器学习 5、模型评估
3、获取的数据集介绍
1、专有名词
样本:一行数据 特征:一列数据 目标值 特征值
2、数据类型构成
类型一:特征值加目标值 目标值分为离散和连续 类型二:只有特征值,没有目标值
3、数据划分
训练数据:(训练集) --构建模型 70%-80% 测试数据:(测试集) --模型评估 20%-30%
4、特征工程
将数据转换成为机器更容易识别的数据。
1、特征提取
将任意数据(如文本或图像)转换为可用于机器学习的数字特征。
2、特征预处理
通过一些转换函数将特征数据转换成更适合算法模型的特征数据过程
3、特征降维
指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
5、机器学系算法分类
1、监督学习: 有特征值有目标值 目标值连续:回归 目标值离散:分类 2、无监督学习:只有特征值 --聚类 3、半监督学习:有特征值,但是一部分数据有目标值,一部分没有 4、强化学习:是一个动态过程。上一步数据输出是下一部数据的输入 四要素:agent,环境状态,行动,奖励
6、模型评估
1、分类模型评估
准确率、精确率、召回率、F1-score、AUC指标
2、回归模型评估
均方根误差、相对平方误差、平均绝对误差、相对绝对误差、决定系数
3、拟合
欠拟合、过拟合
Jupyter快捷键操作
shift+enter:执行本单元代码,并跳到下一行 ctrl+enter:执行本单元代码,不跳到下一行
esc命令模式 Y:cell切换到code模式 M:cell切换到Markdown模式 A:在当前cell上添加一行cell B:在当前cell下添加一行cell 双击D:删除当前cell
matplotlin
主要用于2D图像
绘图流程:
1、创建画布
2、绘制图像
3、显示图像

1、matplotlin三层结构
1、容器层 容器层主要Canvas、Figure、Axes组成 2、辅助显示层:添加x轴、y轴描述,标题 3、图像层:绘制什么图象的声明
2、基础功能
1、图像保存
plt.show()后会释放内存资源,因此图像保存要放到show()前。
2、添加x、y轴刻度
第一个参数必须是数字,如果不是数字,需要进行值替换

3、添加网格显示

4、添加描述信息

5、显示图例
当有多条图象时,需要使用图例显示

注意:需要在显示之前,声明plot里面的具体值
plot中可以指定颜色,也可以指定画图用到的线格式

6、多个坐标显示-plt.subplots(面向对象的画图方式)
` import matplotlib.pyplot as plt import random plt.rcParams['font.sans-serif'] = ['Simhei']#设置默认字体为黑体 plt.rcParams['axes.unicode_minus'] = False#解决负号现实问题 #显示温度变化 #生成数据 x = range(60) y_beijing = [random.uniform(10,15) for i in x] y_shaanxi = [random.uniform(5,25) for i in x] #生成画布 fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,10),dpi=80) #nrows--几行 ncols--几列 axes[0].plot(x,y_beijing,label = "北京",color='r',linestyle='-.') axes[1].plot(x,y_shaanxi,label = "陕西") #添加x、y轴刻度 y_ticks = range(40) x_ticks_labels = ["11点{}分".format(i) for i in x] axes[0].set_xticks(x[::5]) axes[0].set_yticks(y_ticks[::5]) axes[0].set_xticklabels(x_ticks_labels[::5]) axes[1].set_xticks(x[::5]) axes[1].set_yticks(y_ticks[::5]) axes[1].set_xticklabels(x_ticks_labels[::5]) #添加网格,true表示确认添加,linestyle表示网格是实线还是虚线(-表示实现,--表示虚线),alpha表示透明度 axes[0].grid(True,linestyle='-',alpha=0.5) axes[1].grid(True,linestyle='-',alpha=0.5) #添加描述信息 axes[0].set_xlabel('时间') axes[1].set_xlabel('时间') axes[0].set_ylabel('温度') axes[1].set_ylabel('温度') axes[0].set_title('温度变化',fontsize = 20) axes[1].set_title('温度变化',fontsize = 20)
#显示图例
axes[0].legend(loc = 'best') axes[1].legend(loc = 'best')
plt.show() `

