“”"
Created on Wed Dec 21 10:45:54 2022
@author: niuzhen
“”"
#导入numpy 包
import numpy as np
#导入preprocessing库
from sklearn import preprocessing
#创建样本数据
data=np.array([[3,-1.5,2,-5.4],[0,4,-0.3,2.1],[1,3.3,-1.9,-4.3]])
print(“初始样本数据为:{}”.format(data))
#一、使用arange()函数创建等差数列
print(“一、使用arange()函数创建等差数列”)
NpArray1=np.arange(10)
print(“使用arange()创建0-10的等差数列:”,NpArray1)
#使用arrange()函数创建10到100,步长为5的递进数列
NpArray2=np.arange(10,100,5)
print(“使用arrange()函数创建10到100,步长为5的递进数列:”,NpArray2)
#'使用linspace()函数创建0,10 包含50个元素的等差数列
NpArray3=np.linspace(0,10,50)
print(‘使用linspace()函数创建0,10 包含50个元素的等差数列:’,NpArray3)
#二、均值移除法进行数据预处理,是一种使用中心化数据的技术,进行数据缩放。x=(x-mean)/sd (mean表示均值,sd表示标准差)
print(“二、均值移除法进行数据预处理,是一种使用中心化数据的技术,进行数据缩放。x=(x-mean)/sd (mean表示均值,sd表示标准差)”)
mean=data.mean(axis=0)
#axis参数声明了函数所用的数据轴,其中0表示列,1表示行
sd=data.std(axis=0)
print(“标准化前的均值:{},标准差:{}”.format(mean,sd))
#进行标准化操作,scale()函数对数据集散的所有数据轴进行标准化操作,标准化后的数据集以均值为中心点,并调整大小得到单位方差
data_standardized=preprocessing.scale(data)
#定义标准化之后的mean,标准差
standardized_mean=data_standardized.mean(axis=0)
standardized_std=data_standardized.std(axis=0)
print(“标准化之后的均值:{},标准差:{}\n”.format(standardized_mean,standardized_std))
print(“均值移除法之后的数组为:\n”,data_standardized)
#三、数据缩放min-max方法,获取【0,1】区间范围内的数据,x=(x-min)/(max-min)
print(“三、数据缩放min-max方法,获取【0,1】区间范围内的数据,x=(x-min)/(max-min)”)
#定义变量data_scaler
data_scaler=preprocessing.MinMaxScaler(feature_range=(0,1))
#进行拟合数据并进行转换
data_scaled=data_scaler.fit_transform((data))
#输出对比结果
print(“原始数据的最小值:{};最大值:{},转换之后的最小值:{},最大值:{}”.format(data.min(axis=0),data.max(axis=0),data_scaled.min(axis=0),data_scaled.max(axis=0)))
print(“缩放后的数组为:\n”,data_scaled)
#四、归一化处理。通过调整特征向量的值,让其数值之和为1
print(“四、归一化处理。通过调整特征向量的值,让其数值之和为1”)
data_normalized=preprocessing.normalize(data,norm=“l1”,axis=0)
print(“归一化的数组为:\n”,data_normalized)
#五、二值化 将数据转为布尔型数据,常用于图像二值化处理
print(“五、二值化 将数据转为布尔型数据,常用于图像二值化处理”)
data_binarized=preprocessing.Binarizer(threshold=1.4).transform(data)
print(“二值化后的数组:\n”,data_binarized)
运行后结果:
runfile(‘D:/BaiduNetdiskDownload/python 机器学习经典实例第二版/未命名0.py’, wdir=‘D:/BaiduNetdiskDownload/python 机器学习经典实例第二版’)
初始样本数据为:[[ 3. -1.5 2. -5.4]
[ 0. 4. -0.3 2.1]
[ 1. 3.3 -1.9 -4.3]]
一、使用arange()函数创建等差数列
使用arange()创建0-10的等差数列: [0 1 2 3 4 5 6 7 8 9]
使用arrange()函数创建10到100,步长为5的递进数列: [10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]
使用linspace()函数创建0,10 包含50个元素的等差数列: [ 0. 0.20408163 0.40816327 0.6122449 0.81632653 1.02040816
1.2244898 1.42857143 1.63265306 1.83673469 2.04081633 2.24489796
2.44897959 2.65306122 2.85714286 3.06122449 3.26530612 3.46938776
3.67346939 3.87755102 4.08163265 4.28571429 4.48979592 4.69387755
4.89795918 5.10204082 5.30612245 5.51020408 5.71428571 5.91836735
6.12244898 6.32653061 6.53061224 6.73469388 6.93877551 7.14285714
7.34693878 7.55102041 7.75510204 7.95918367 8.16326531 8.36734694
8.57142857 8.7755102 8.97959184 9.18367347 9.3877551 9.59183673
9.79591837 10. ]
二、均值移除法进行数据预处理,是一种使用中心化数据的技术,进行数据缩放。x=(x-mean)/sd (mean表示均值,sd表示标准差)
标准化前的均值:[ 1.33333333 1.93333333 -0.06666667 -2.53333333],标准差:[1.24721913 2.44449495 1.60069429 3.30689515]
标准化之后的均值:[ 5.55111512e-17 -1.11022302e-16 -7.40148683e-17 -7.40148683e-17],标准差:[1. 1. 1. 1.]
均值移除法之后的数组为:
[[ 1.33630621 -1.40451644 1.29110641 -0.86687558]
[-1.06904497 0.84543708 -0.14577008 1.40111286]
[-0.26726124 0.55907936 -1.14533633 -0.53423728]]
三、数据缩放min-max方法,获取【0,1】区间范围内的数据,x=(x-min)/(max-min)
原始数据的最小值:[ 0. -1.5 -1.9 -5.4];最大值:[3. 4. 2. 2.1],转换之后的最小值:[0. 0. 0. 0.],最大值:[1. 1. 1. 1.]
缩放后的数组为:
[[1. 0. 1. 0. ]
[0. 1. 0.41025641 1. ]
[0.33333333 0.87272727 0. 0.14666667]]
四、归一化处理。通过调整特征向量的值,让其数值之和为1
归一化的数组为:
[[ 0.75 -0.17045455 0.47619048 -0.45762712]
[ 0. 0.45454545 -0.07142857 0.1779661 ]
[ 0.25 0.375 -0.45238095 -0.36440678]]
五、二值化 将数据转为布尔型数据,常用于图像二值化处理
二值化后的数组:
[[1. 0. 1. 0.]
[0. 1. 0. 1.]
[0. 1. 0. 0.]]