找回密码
 立即注册
搜索

AI人工智能 预处理数据

人工智能是计算机迷信的一个分支,它希图了解智能的本质,并消费出一种新的能以人类智能相似的方式做出反应的智能机器,该范畴的研讨包括机器人、言语辨认、图像辨认、自然言语处理和专家系统等。人工智能从诞生以来,实际和技术日益成熟,运用范畴也不断扩展,可以想象,将来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的看法、思想的信息过程的模拟。人工智能不是人的智能,但能像人那样思索、也能够超过人的智能。


本章重点引见机器学习算法的数据预备。
在我们的日常生活中,需求处理大量数据,但这些数据是原始数据。为了提供数据作为机器学习算法的输入,需求将其转换为有意义的数据。这就是数据预处理进入图像的地方。换言之,可以说在将数据提供给机器学习算法之前,我们需求对数据停止预处理。
数据预处理步骤
按照以下步骤在Python中预处理数据-
第1步-导入有用的软件包-假如运用Python,那么这将成为将数据转换为特定格式(即预处理)的第一步。如下代码-
importnumpyasnp
fromsklearnimportpreprocessing
这里运用了以下两个软件包-
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("\nBinarizeddata:\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("Stddeviation=",input_data.std(axis=0))
运转上述代码行后,将得到以下输入-
Mean=[1.75-1.2752.2]
Stddeviation=[2.714313914.200223214.69414529]
如今,下面的代码将删除输入数据的平均值和标准偏向-
data_scaled=preprocessing.scale(input_data)
print("Mean=",data_scaled.mean(axis=0))
print("Stddeviation=",data_scaled.std(axis=0))
运转上述代码行后,将得到以下输入-
Mean=[1.11022302e-160.00000000e+000.00000000e+00]
Stddeviation=[1.1.1.]
缩放
这是另一种数据预处理技术,用于缩放特征向量。特征向量的缩放是需求的,由于每个特征的值可以在许多随机值之间变化。换句话说,我们可以说缩放非常重要,由于我们不希望任何特征合成为大或小。借助以下Python代码,我们可以对输入数据停止缩放,即特征矢量-
最小最大缩放
data_scaler_minmax=preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax=data_scaler_minmax.fit_transform(input_data)
print("\nMinmaxscaleddata:\n",data_scaled_minmax)
运转上述代码行后,将得到以下输入-
[[0.486486490.582524270.99122807]
[0.1.0.81578947]
[0.270270270.1.]
[1.0.990291260.]]
正常化
这是另一种数据预处理技术,用于修正特征向量。这种修正对于在一个普通的尺度上测量特征向量是必要的。以下是可用于机器学习的两种标准化-
L1标准化
它也被称为最小相对偏向。这种标准化会修正这些值,以便相对值的总和在每行中总是最多为1。它可以在以下Python代码,运用下面的输入数据来完成-
##Normalizedata
data_normalized_l1=preprocessing.normalize(input_data,norm='l1')
print("\nL1normalizeddata:\n",data_normalized_l1)
Python
下面的代码行生成以下输入:
L1normalizeddata:
[[0.22105263-0.20.57894737]
[-0.20270270.324324320.47297297]
[0.03571429-0.564285710.4]
[0.421428570.16428571-0.41428571]]
L2标准化
它也被称为最小二乘。这种归正常化修正了这些值,以便每一行中的平方和总是最多为1。它可以在以下Python代码,运用下面的输入数据来完成-
##Normalizedata
data_normalized_l2=preprocessing.normalize(input_data,norm='l2')
print("\nL2normalizeddata:\n",data_normalized_l2)
Python
执行以上代码即将生成以下输入-
L2normalizeddata:
[[0.33946114-0.307131510.88906489]
[-0.333251060.533201690.7775858]
[0.05156558-0.814736120.57753446]
[0.687069140.26784051-0.6754239]]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册