MGPHPZJ

Hello, friends! Welcome!

介绍
在处理机器学习项目时,通常我们忽略了两个最重要的部分,称为数学和数据。 这是因为,我们知道ML是一种数据驱动方法,我们的ML模型只会产生与我们提供给它的数据一样好或坏的结果。在上一章中,我们讨论了如何将CSV数据上传到我们的ML项目中,但在上传之前了解数据会很好。 我们可以通过统计和可视化两种方式来理解数据。在本章中,借助以下Python配方,我们将使用统计数据来理解ML数据。

看原始数据
第一个方法是查看原始数据。 查看原始数据非常重要,因为我们在查看原始数据后将获得的洞察力将增加我们更好地预处理以及处理ML项目数据的机会。

检查数据的尺寸
对于我们的ML项目,了解行数和列数方面的数据总是一个好习惯。 背后的原因是 假设我们有太多的行和列,那么运行算法和训练模型需要很长时间。假设如果我们的行和列太少,那么我们就没有足够的数据来训练模型。

获取每个属性的数据类型
知道每个属性的数据类型是另一个好习惯。 背后的原因是,根据要求,有时我们可能需要将一种数据类型转换为另一种数据类型。 例如,我们可能需要将字符串转换为浮点或int以表示分类或序数值。 我们可以通过查看原始数据来了解属性的数据类型,但另一种方法是使用Pandas DataFrame的dtypes属性。 在dtypes属性的帮助下,我们可以对每个属性数据类型进行分类。

数据统计摘要
我们已经讨论了Python配方来获取数据的行数和列数,但很多时候我们需要查看数据形状的摘要。 它可以在Pandas DataFrame的describe()函数的帮助下完成,该函数进一步提供了每个数据属性的以下8个统计属性:

  • 计数
  • 意思
  • 标准偏差
  • 最低价值
  • 最大价值
  • 25%
  • 中位数即50%
  • 75%

审查类分布
类分布统计在分类问题中很有用,我们需要知道类值的平衡。 知道类值分布是很重要的,因为如果我们有非常不平衡的类分布,即一个类比其他类有更多的观察,那么它可能需要在我们的ML项目的数据准备阶段进行特殊处理。 我们可以在Pandas DataFrame的帮助下轻松地在Python中进行类分发。

检查属性之间的相关性
两个变量之间的关系称为相关。 在统计学中,计算相关性的最常用方法是Pearson的相关系数。 它可以有三个值如下:

  • 系数值= 1 – 表示变量之间的完全正相关。
  • 系数值= -1 – 表示变量之间的完全负相关。
  • 系数值= 0 – 它表示变量之间没有相关性。

在将数据中的属性用于ML项目之前,检查数据集中属性的成对相关性总是有好处的,因为如果我们具有高度相关的属性,某些机器学习算法(如线性回归和逻辑回归)将表现不佳。 在Python中,我们可以借助Pandas DataFrame上的corr()函数轻松计算数据集属性的相关矩阵。

回顾属性分布的偏差
偏斜可以被定义为假设为高斯分布但在一个方向或另一个方向上或者向左或向右扭曲或移位的分布。 由于以下原因,审查属性的偏差是重要任务之一。数据偏斜的存在需要在数据准备阶段进行校正,以便我们可以从模型中获得更高的精度。大多数ML算法假设数据具有高斯分布,即钟形弯曲数据的法线。在Python中,我们可以通过在Pandas DataFrame上使用skew()函数轻松计算每个属性的偏差。

Leave a Reply

Your email address will not be published. Required fields are marked *