1、数据预处理(Pima Indians 印第安人医疗数据)
1、数据预处理
在导入数据、理解数据之后就需要对数据做进一步的处理,这一步的处理称为数据预处理。
数据预处理大致分为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
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)
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)
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)
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)