• 【阿里云天池大赛赛题解析】 刷书笔记 Lesson 1 数据探索基础知识



    数据探索基础知识

    1. 双变量分析


    1.1 计算相关性

    import numpy as np
    X = np.array([65, 72, 78, 65, 72, 70, 65, 68])
    Y = np.array([72, 69, 79, 69, 84, 75, 60, 73])
    np.corrcoef(X, Y)
    
    • 1
    • 2
    • 3
    • 4
    array([[1.        , 0.64897259],
           [0.64897259, 1.        ]])
    
    • 1
    • 2

    1.2 卡方检验

    主要用于两个或两个以上的样本;比较理论频次和实际频次的吻合程度

    下面代码为使用iris数据集来演示卡方筛选与目标变量相关的特征

    from sklearn.datasets import load_iris
    from sklearn.feature_selection import SelectKBest
    from sklearn.feature_selection import chi2
    iris = load_iris()
    X,y  = iris.data, iris.target
    chiValues = chi2(X, y)
    X_new = SelectKBest(chi2, k = 2).fit_transform(X, y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.3 小提琴图

    小提琴图可以展示在分析变量不同类别时,另外一个变量的分布情况

    下图为考虑在low、med、high三个变量时连续变量price的分布情况

    在这里插入图片描述

    # 使用 Seaborn包中的violinplot()函数
    
    • 1

    2. 缺失值

    2.1 处理方法

    • 删除
      List Wise Deletion
      Pair Wise Deletion

    • 数值填充
      平均值、众数、中值填充

    • 预测模型填充
      通过简历预测模型


    3. 异常值

    异常值使得模型增加错误方差、降低模型的拟合能力、降低正态性、影响回归、方差假设

    3.1 检测方法

    箱线图、直方图、散点图

    3.1.1 箱线图检测法

    不在-1.5IQR和1.5IQR之间的样本可以认为是异常值

    在这里插入图片描述

    四分位距(interquartile range, IQR),又称四分差。
    其中位数必然等于第三四分位数与第一四分位数的算术平均数,
    四分位数(Quartile)是统计学中分位数的一种,即把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。

    • 第一四分位数(Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
    • 第二四分位数(Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
    • 第三四分位数(Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

    3.1.2 封顶方法

    认为在第5和第95百分位数范围之外的任值都是异常值
    在这里插入图片描述


    3.2 处理方法

    • 删除
    • 转换
    • 填充
    • 区别对待
      存在大量的异常值,可以将数据分为两个不同的组别:异常值为一组、非异常值为一组

    两组分别建立模型、输出两组的合并


    4. 变量转换

    目的:在使用直方图、核密度等工具估计时,我们可能会发现一些变量的取值分布不均匀,会影响估计

    我们使用一些函数对变量进行映射、使其分布在合理的范围内

    在这里插入图片描述

    4.1 转换的方法

    • 标准化
    • 非线性关系转为线性关系
    • 倾斜分布对称

    几种常用的转换方法

    • 对数转换
    • 取平方根或者立方根
    • 变量分组
      对变量进行分类、将其分为高、中、低类,可以将这个方法用于连续性数

    5. 新变量的生成

    目的:新的变量可能与目标变量相关,有助于数据分析

    • 创建派生变量
      我们可以通过提取人名(提取前称Mr、Mrs)、住址(Guangdong、Shandong)来得到新的变量
    • 创建哑变量
      性别 转变为 (是否为男)、(是否为女)
      图3

    写在最后

    各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟!
    才疏学浅,若有纰漏,恳请斧正
    本文章仅用于各位作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知

  • 相关阅读:
    Java BufferedReader类简介说明
    【计算机网络】网络层(四)—— 网络层协议总结(ARP、ICMP、IGMP)
    MES系统究竟有何独特之处?
    全排列——dfs(剪枝/回溯)
    JS中iframe如何却写面包屑功能
    Flutter 处理主题 Theme 的一些建议
    AI智能量化之qlib的回测子框架代码解读
    选择排序(学习笔记)
    MICCAI 2022:使用自适应条形采样和双分支 Transformer 的 DA-Net
    【科学文献计量】pybibx论文原文精读与对照翻译
  • 原文地址:https://blog.csdn.net/LeungSr/article/details/126533635