数据挖掘【1】

由于学习课程要求完成的大作业,最近在接触基于python的机器学习以及深度学习框架,大作业是一个大数据分析类题目,由于以前没有这方面经历,因此准备花1周的时间专门学习这方面知识并完成大作业。

数据挖掘

1. 图表绘制

1.1 Matplotlib 三层结构

# 快速入门
import matplotlib.pyplot as plt
%matplotlib inline

plt.figure()
plt.plot([1,0,9],[1,4.5,9])
plt.show()
  • 画板层(Canvas)

    • 画布层(Figure):plt.figure()
    • 创建多个绘图区/坐标系axes:plt.subplots axis 轴
  • 辅助显示层
    辅助显示层为Axes(绘图区)内的除了根据数据绘制出的图像之外的内容,主要包括Axes外观(facecolor)、边框线(spines)、坐标轴(axis)、坐标轴名称(axis label)、坐标轴刻度(tick)、坐标轴刻度标签(tick label)、网格线(grid)、图例(legend)、标题(title)等内容

  • 图像层
    图像层指Axes内通过plot、scatter、bar、histogram、pie等函数根据数据绘制出的图像

  • 总结

    • Canvas(画板) 位于最底层,用户一般接触不到
    • Figure(画布) 建立在Canvas之上
    • Axes(绘图区) 建立在Figure之上
    • 坐标轴(axis)、图例(legend)等辅助显示层以及图像层都是建立在Axes之上

    图像属性设置

    • 设置画布属性与图片保存

      plt.figure(figsize(),dpi=)
          figsize:  # 指定图的长度
          dpi:      # 图像清晰度
      plt.savefig(path) # 图像保存
      '''
      注意,当plt.show使用的时候,其会自动释放plt所有资源,因此所有操作应该在show操作之前
      '''
      
  • x、y刻度值设置

# 设置x轴刻度
plt.xticks(x,**kwargs)
# x:要显示的刻度值
# 设置y轴刻度
plt.yticks(y,**kwargs)
# y:要显示的刻度值

'''
@当使用plot的方法的时候,设置刻度值的方法为plt.set_xticks
@若要使刻度值获得一定的标签,则使用plt.set_xticklabels
'''
  • 添加网格显示
    为了更清楚地观察图形对应的值
    plt.grid(True,linestyle='---',alpha=0.5)
    grid(网格线)\linestyle(线条风格)\alpha(透明度)

  • 添加描述信息
    添加x轴、y轴描述信息及标题
    x\y\tiele对应关系如下代码所示

    plt.xlabel("时间")
    plt.ylabel("温度")
    plt.tittle("标题")
    

1.2 散点图(scatter)

我们前面已经学过了散点图plot

  • 散点图的绘制

2. Numpy

  • ndarray常用属性
属性名字属性解释
ndarray.shape数组维度的元组
ndarray.ndim数组维度
ndarray.size数组中的元素数量
ndarray.itemsize一个数组元素的长度(字节)
ndarray.dtype数组元素的类型
  • 生成数组的方法

    • 生成0和1的数组

      ​```
      shape为数组形状
      若一维可表示为(4,)
      二维可表示为(3,2)
      三维可表示为(2,3,3)
      ​```
      np.zeros(shape)
      np.ones(shape)
      
    • 从现有数组生成

      # 深拷贝
      np.array()、np.copy()
      # 浅拷贝
      np.asarray()
      
    • 生成固定范围的数组

      np.linspace()
      np.arange()
      
      ​```
      解释:
      np.linspace(0,10,100)
      生成左右闭合的集合,[0,10] 等距离
      np.arange()
         arange(a,b,c)
      生成左闭右开的集合,[a,b) c是步长
      ​```
      
    • 生成随机数组

      #  均匀分布
      ​```
      代码表达:
      np.random.uniform(low=0.0,high=1.0,size=None)
      功能:从一个均匀分布[low,high]中随机采样,注意定义域是左闭右开,即包含low,不包含high.
      参数介绍:
      low:采样下界,float类型,默认值为0;
      high:采样上届,float类型,默认值为1;
      size:输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k),则输出mnk个样本,缺省时输出1个值。
      返回值:ndarray类型,其形状和参数size中描述一致。
      ​```
      #  正态分布
      ​```
      μ 期望值                            # 对应loc
      σ 波动程度、离散程度,其值为方差开方  # 对应scale
      代码表达:
      data = np.random.normal(loc=1.75,scale=2,size=100000)
      ​```
      
  • 数组的索引、切片

    # 案例:随机生成8只股票2周的交易日涨幅数据
    stock_change = np.random.normal(loc=0,scale=1,size=(8,10))
    
    # 获取第一个股票的前3个交易日的涨跌幅数据
    stock_change[0,0:3]
    
  • 形状修改

    # 需求:让刚才的股票行、日期列反过来,变成日期行、股票列
    ​```
    能实现需求的方法
    ndarray.reshape()  # 返回新的ndarrya,只修改形状比如将8行10列转成10行8列,并不会对数组进行转置
    ndarray.resize()   # 没有返回值,对原始的ndarray进行了修改
    ndarray.T          # 转置 行变成列,列变成行
    ​```
    
  • 类型修改

  • 数组的去重

  • 小结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值