机器学习集训营---第四周总结

来源:互联网 发布:linux 终端切换 编辑:程序博客网 时间:2024/06/06 09:44
本周讲了如何把数据用图表展现出来,主要包括:
  • Matplotlib
  • seaborn


下面直接列出笔记和知识点
一. Matplotlib
  1.  一幅数据图基本上包括如下结构:
    1. Data: 数据区,包括数据点、描绘形状
    2. Axis: 坐标轴,包括 X 轴、 Y 轴及其标签、刻度尺及其标签
    3. Title: 标题,数据图的描述
    4. Legend: 图例,区分图中包含的多种曲线或不同分类的数据
  2. 下面以常规图为例,详细记录作图流程及技巧。按照绘图结构,可将数据图的绘制分为如下几个步骤:
    1. 导入 matplotlib 包相关工具包
    2. 准备数据,numpy 数组存储
    3. 绘制原始曲线
    4. 配置标题、坐标轴、刻度、图例
    5. 添加文字说明、注解
    6. 显示、保存绘图结果
  3. 使用 plot 函数直接绘制上述函数曲线,可以通过配置 plot 函数参数调整曲线的样式、粗细、颜色、标记等:
    1. plt.rcParams["figure.figsize"] = (12,8)
    2. plt.plot(x, y1, color='blue', linewidth=1.5, linestyle='-', marker='.', label=r'$y = cos{x}$')
  4. linestyle 参数主要包含虚线、点化虚线、粗虚线、实线
  5. marker参数设定在曲线上标记的特殊符号,以区分不同的线段
  6. 设置刻度尺间隔 lim、刻度标签 ticks
    1. plt.xlim(x.min()*1.1, x.max()*1.1)
    2. plt.xticks([2, 4, 6, 8, 10], [r'two', r'four', r'6', r'8', r'10'])
  7. 可使用如下两种方式,给绘图设置图例:
    1. 在 plt.plot 函数中添加 label 参数后,使用 plt.legend(loc=’up right’)
    2. 不使用参数 label, 直接使用如下命令:plt.legend(['cos(x)', 'sin(x)', 'sqrt(x)'], loc='upper right')
  8. 可使用如下代码,给绘图设置网格线:plt.grid(True)
  9. 常用图形
    1. 曲线图:matplotlib.pyplot.plot(data)
    2. 灰度图:matplotlib.pyplot.hist(data)
    3. 散点图:matplotlib.pyplot.scatter(data)
    4. 箱式图:matplotlib.pyplot.boxplot(data)
  10. 箱式图科普
    1. 上边缘(Q3+1.5IQR)、下边缘(Q1-1.5IQR)、IQR=Q3-Q1
    2. 上四分位数(Q3)、下四分位数(Q1)
    3. 中位数
    4. 异常值
    5. 处理异常值时与3σ标准的异同:统计边界是否受异常值影响、容忍度的大小


二 . seaborn
  1. 核密度估计的步骤:
    1. 每一个观测附近用一个正态分布曲线近似
    2. 叠加所有观测的正太分布曲线
    3. 归一化
  2. 散点图
    1. sns.jointplot(x="x", y="y", data=df)
  3. 六角箱图
    1. sns.jointplot(x=x, y=y, kind="hex")
  4. 绘制线性回归模型
    1. 最简单的方式:散点图 + 线性回归 + 95%置信区间
    2. 对于变量离线取值,散点图就显得有些尴尬了。。。
  5. 拟合不同模型
    1. 有些时候线性拟合效果不错,有些时候差强人意~
  6. 控制图片的大小和形状
    1. sns.lmplot(x="total_bill", y="tip", col="day", data=tips, col_wrap=2, size=5)


本周还学习神经网络,有点复杂,下面列一下我的学习笔记,只能算个入门,对神经网络概念有个理解:

感知器:它接受多个输入(x1,x2,x3...),产生一个输出(output)

一、权重和阈值:


某些因素是决定性因素,另一些因素是次要因素。因此,可以给这些因素指定权重(weight),代表它们不同的重要性。
还需要指定一个阈值(threshold)。如果总和大于阈值,感知器输出1,否则输出0


二、决策模型:

底层感知器接收外部输入,做出判断以后,再发出信号,作为上层感知器的输入,直至得到最后的结果。(注意:感知器的输出依然只有一个,但是可以发送给多个目标。


神经网络的运作过程:

  • 输入和输出
  • 权重(w)和阈值(b)
  • 多层感知器的结构

其中,最困难的部分就是确定权重(w)和阈值(b)。目前为止,这两个值都是主观给出的,但现实中很难估计它们的值,必需有一种方法,可以找出答案。
这种方法就是试错法。其他参数都不变,w(或b)的微小变动,记作Δw(或Δb),然后观察输出有什么变化。不断重复这个过程,直至得到对应最精确输出的那组w和b,就是我们要的值。这个过程称为模型的训练。

  1. 确定输入和输出
  2. 找到一种或多种算法,可以从输入得到输出
  3. 找到一组已知答案的数据集,用来训练模型,估算w和b
  4. 一旦新的数据产生,输入模型,就可以得到结果,同时对w和b进行校正
























原创粉丝点击