易百教程人工智能python修正-人工智能数据准备-预处理数据
预处理数据
在我们的日常生活中,需要处理大量数据,但这些数据是原始数据。 为了提供数据作为机器学习算法的输入,需要将其转换为有意义的数据。 这就是数据预处理进入图像的地方。 换言之,可以说在将数据提供给机器学习算法之前,我们需要对数据进行预处理。
数据预处理步骤
按照以下步骤在Python中预处理数据 -
第1步 - 导入有用的软件包 - 如果使用Python,那么这将成为将数据转换为特定格式(即预处理)的第一步。如下代码 -
import numpy as np from sklearn import preprocessing
Python
这里使用了以下两个软件包 -
- NumPy - 基本上NumPy是一种通用的数组处理软件包,设计用于高效处理任意记录的大型多维数组而不牺牲小型多维数组的速度。
- sklearn.preprocessing - 此包提供了许多常用的实用函数和变换器类,用于将原始特征向量更改为更适合机器学习算法的表示形式。
第2步 - 定义样本数据 - 导入包后,需要定义一些样本数据,以便可以对这些数据应用预处理技术。现在将定义以下样本数据 -
input_data = np.array([2.1, -1.9, 5.5], [-1.5, 2.4, 3.5], [0.5, -7.9, 5.6], [5.9, 2.3, -5.8]])
第3步 - 应用预处理技术 - 在这一步中,我们需要应用预处理技术。
以下部分描述数据预处理技术。
数据预处理技术
下面介绍数据预处理技术 -
二值化
这是当需要将数值转换为布尔值时使用的预处理技术。我们可以用一种内置的方法来二值化输入数据,比如说用0.5
作为阈值,方法如下 -
data_binarized = preprocessing.Binarizer(threshold = 0.5).transform(input_data) print("\nBinarized data:\n", data_binarized)
现在,运行上面的代码后,将得到以下输出,所有高于0.5
(阈值)的值将被转换为1
,并且所有低于0.5
的值将被转换为0
。
二值化数据
[[ 1. 0. 1.]
[ 0. 1. 1.]
[ 0. 0. 1.]
[ 1. 1. 0.]]
这是机器学习中使用的另一种非常常见的预处理技术。 基本上它用于消除特征向量的均值,以便每个特征都以零为中心。 还可以消除特征向量中的特征偏差。 为了对样本数据应用平均去除预处理技术,可以编写如下Python代码。 代码将显示输入数据的平均值和标准偏差 -
print("Mean = ", input_data.mean(axis = 0)) print("Std deviation = ", input_data.std(axis = 0))
运行上述代码行后,将得到以下输出 -
Mean = [ 1.75 -1.275 2.2]
Std deviation = [ 2.71431391 4.20022321 4.69414529]