AI人工智能:数据预处理技术

开课吧开课吧锤锤2021-03-22 16:59

    人工智能的一个比较流行的定义,也是该领域较早的定义,是由当时麻省理工学院的约翰·麦卡锡在1956年的达特矛斯会议上提出的(对此有争议):人工智能就是要让机器的行为看起来就像是人所表现出的智能行为一样。但是这个定义似乎忽略了强人工智能的可能性。另一个定义指人工智能是人造机器所表现出来的智能。总体来讲,当前对人工智能的定义大多可划分为四类,即机器“像人一样思考”、“像人一样行动”、“理性地思考”和“理性地行动”。这里“行动”应广义地理解为采取行动,或制定行动的决策,而不是肢体动作。

    下面介绍数据预处理技术-

    二值化

    这是当需要将数值转换为布尔值时使用的预处理技术。我们可以用一种内置的方法来二值化输入数据,比如说用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]

    现在,下面的代码将删除输入数据的平均值和标准偏差-

data_scaled = preprocessing.scale(input_data)
print("Mean =", data_scaled.mean(axis=0))
print("Std deviation =", data_scaled.std(axis = 0))

    运行上述代码行后,将得到以下输出-

Mean = [ 1.11022302e-16 0.00000000e+00 0.00000000e+00]
Std deviation = [ 1.             1.             1.]

    缩放

    这是另一种数据预处理技术,用于缩放特征向量。特征向量的缩放是需要的,因为每个特征的值可以在许多随机值之间变化。换句话说,我们可以说缩放非常重要,因为我们不希望任何特征合成为大或小。借助以下Python代码,我们可以对输入数据进行缩放,即特征矢量-

    最小最大缩放

data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print ("\nMin max scaled data:\n", data_scaled_minmax)

    运行上述代码行后,将得到以下输出-

[ [ 0.48648649  0.58252427   0.99122807]
[   0.          1.           0.81578947]
[   0.27027027  0.           1.        ]
[   1.          0. 99029126  0.        ]]

    正常化

    这是另一种数据预处理技术,用于修改特征向量。这种修改对于在一个普通的尺度上测量特征向量是必要的。以下是可用于机器学习的两种标准化-

    L1标准化

    它也被称为最小绝对偏差。这种标准化会修改这些值,以便绝对值的总和在每行中总是最多为1。它可以在以下Python代码,使用上面的输入数据来实现-

## Normalize data
data_normalized_l1 = preprocessing.normalize(input_data, norm = 'l1')
print("\nL1 normalized data:\n", data_normalized_l1)
Python

    上面的代码行生成以下输出:

L1 normalized data:
[[ 0.22105263  -0.2          0.57894737]
[ -0.2027027    0.32432432   0.47297297]
[  0.03571429  -0.56428571   0.4       ]
[  0.42142857   0.16428571  -0.41428571]]

    L2标准化

    它也被称为最小二乘。这种归正常化修改了这些值,以便每一行中的平方和总是最多为1。它可以在以下Python代码,使用上面的输入数据来实现-

## Normalize data
data_normalized_l2 = preprocessing.normalize(input_data, norm = 'l2')
print("\nL2 normalized data:\n", data_normalized_l2)
Python

    执行以上代码行将生成以下输出-

L2 normalized data:
[[ 0.33946114  -0.30713151   0.88906489]
[ -0.33325106   0.53320169   0.7775858 ]
[  0.05156558  -0.81473612   0.57753446]
[  0.68706914   0.26784051  -0.6754239 ]]

    以上就是AI人工智能:数据预处理技术的详细解析,如果想要更多的面试资料,不妨点击下方图片,免费领取。

AI

    纵使你技术能力很优秀,但是你不会说,你没办法表达出来,没人会监视你的优秀,所以,拿上这份资料,让自己更优秀吧。

有用
分享