from pandas import read_csv
from sklearn.preprocessing import StandardScaler
from numpy import set_printoptions
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import Normalizer
from sklearn.preprocessing import Binarizer
filename = 'pima_data.csv'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names = names)
array = data.values
X = array[:,0:8]
Y = array[:,8]
#-----调整数据尺度-----
'''将数据缩放到一个指定范围,或者对数据进行标准化并将数据都聚集到0附近,方差为1'''
transformer = MinMaxScaler(feature_range=(0,1))
#数据转换
newX = transformer.fit_transform(X)
set_printoptions(precision=3)
#print(newX)
#-----正态化数据-------
'''处理符合高斯分布的数据的手段,输出以0为中位数,方差为1'''
transformer = StandardScaler().fit(X)
newX = transformer.transform(X)
set_printoptions(precision=3)
#print(newX)
#------标准化数据-------
'''将每一行的数据的距离处理为1,适合处理稀疏数据'''
transformer = Normalizer().fit(X)
newX = transformer.transform(X)
set_printoptions(precision=3)
#print(newX)
#-------二值数据------
'''使用值将数据转化为二值,大于阈值为1,小于阈值为0'''
transformer = Binarizer(threshold=0.0).fit(X)
newX = transformer.transform(X)
set_printoptions(precision=3)
#print(newX)
机器学习python数据预处理
最新推荐文章于 2023-12-18 11:02:59 发布