MGPHPZJ

Hello, friends! Welcome!

介绍
机器学习算法完全依赖于数据,因为它是使模型训练成为可能的最重要方面。另一方面,如果我们无法理解这些数据,那么在将其提供给ML算法之前,机器将是无用的。简而言之,我们总是需要以正确的比例,格式和包含有意义的特征来提供正确的数据,即数据,以解决我们希望机器解决的问题。这使得数据准备成为ML过程中最重要的一步。数据准备可以定义为使我们的数据集更适合ML过程的过程。

为什么要进行数据预处理?
在为ML训练选择原始数据之后,最重要的任务是数据预处理。从广义上讲,数据预处理会将所选数据转换为我们可以使用的形式,或者可以提供给ML算法。我们总是需要预处理我们的数据,以便它可以按照机器学习算法的预期。

数据预处理技术
我们有以下数据预处理技术可应用于数据集以生成ML算法的数据 –

缩放
很可能我们的数据集包含具有不同规模的属性,但是我们不能将这样的数据提供给ML算法,因此它需要重新缩放。数据重新缩放可确保属性具有相同的比例。通常,属性被重新调整为0和1的范围.ML算法(如梯度下降和k-最近邻)需要缩放数据。我们可以借助MinMaxScaler类的scikit-learn Python库重新调整数据。

正常化
另一种有用的数据预处理技术是规范化。这用于将每行数据重新调整为长度为1.它主要用于稀疏数据集,其中我们有很多零。我们可以借助于scikit-learn Python库的Normalizer类来重新调整数据。

规范化的类型
在机器学习中,有两种类型的归一化预处理技术如下:

  • L1归一化
  • L2标准化


二值化
顾名思义,这是我们可以使数据二进制化的技术。我们可以使用二进制阈值来制作数据二进制文件。高于该阈值的值将转换为1,低于该阈值将转换为0。

例如,如果我们选择阈值= 0.5,那么它上面的数据集值将变为1,低于此值将变为0.这就是为什么我们可以将其称为二值化数据或对数据进行阈值处理。当我们在数据集中有概率并希望将它们转换为清晰值时,此技术非常有用。

我们可以借助于scarit-learn Python库的Binarizer类来对数据进行二值化。

标准化
另一种有用的数据预处理技术,主要用于使用高斯分布转换数据属性。 它将平均值和SD(标准偏差)与标准高斯分布相区别,平均值为0,SD值为1.此技术在ML算法中非常有用,如线性回归,逻辑回归假设输入数据集中的高斯分布并且产生更好 重新调整数据的结果。 我们可以借助StandardScaler类的scikit-learn Python库来标准化数据(mean = 0和SD = 1)。

数据标签
我们讨论了ML算法的良好fata的重要性,以及在将数据发送到ML算法之前预处理数据的一些技术。 在这方面的另一个方面是数据标记。 将数据发送到具有适当标记的ML算法也是非常重要的。 例如,在分类问题的情况下,数据中存在许多单词,数字等形式的标签。

什么是标签编码?
大多数sklearn函数都希望数据带有数字标签而不是单词标签。 因此,我们需要将这些标签转换为数字标签。 此过程称为标签编码。 我们可以借助scikit-learn Python库的LabelEncoder()函数执行数据的标签编码。

Leave a Reply

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