1、数据预处理

在导入数据、理解数据之后就需要对数据做进一步的处理,这一步的处理称为数据预处理。
数据预处理大致分为3个步骤,我们需要熟知的是数据的转换步骤:

  1. 数据导入
  2. 数据转换
  3. 数据输出

其中数据转换有以下几种方法:

  • 调整数据尺度 (Rescale Data)
  • 正态化数据 (Standardize Data)
  • 标准化数据 (Normalize Data)
  • 二值化数据(Binarize Data)

在这里,我们依旧使用pima indians 印第安人医疗数据来做数据预处理。

# 数据导入
import pandas as pd
names=['preg','plas','pres','skin','test','mass','pedi','age','class']
df=pd.read_csv('pima_data.csv',names=names)
print(df.head())
# 将数据切分为特征集和标签集
X=df.iloc[:,:-1].values
Y=df.iloc[:,-1].values

机器学习-Python实践Day3(数据预处理)

1.1、调整数据尺度

# 数据转换 ---调整数据尺度
from sklearn.preprocessing import MinMaxScaler
import numpy as np

mms=MinMaxScaler(feature_range=(0,1))
newX=mms.fit_transform(X)
# 设置精确度到小数点后3位
np.set_printoptions(precision=3)
print("未调整数据尺度:\n",X)
print("已调整数据尺度:\n",newX)

机器学习-Python实践Day3(数据预处理)

1.2、正态化数据

# 数据转换 ---正态化数据
from sklearn.preprocessing import StandardScaler
import numpy as np

ss_X=StandardScaler()
newX=ss_X.fit_transform(X)
# 设置精确度到小数点后3位
np.set_printoptions(precision=3)
print("未正态化数据:\n",X)
print("已正态化数据:\n",newX)

机器学习-Python实践Day3(数据预处理)

1.3、标准化数据

# 数据转换 ---标准化数据
from sklearn.preprocessing import Normalizer
import numpy as np

nm_X=Normalizer()
newX=nm_X.fit_transform(X)
# 设置精确度到小数点后3位
np.set_printoptions(precision=3)
print("未标准化数据:\n",X)
print("已标准化数据:\n",newX)

机器学习-Python实践Day3(数据预处理)

1.4、二值化数据

# 数据转换 ---二值化数据
from sklearn.preprocessing import Binarizer
import numpy as np

bz_X=Binarizer(threshold=0.0)
newX=bz_X.fit_transform(X)
# 设置精确度到小数点后3位
np.set_printoptions(precision=3)
print("未二值化数据:\n",X)
print("已二值化数据:\n",newX)

机器学习-Python实践Day3(数据预处理)

相关文章: