机器学习数据预处理

一、均值法

二、数据缩放

三、归一化

四、二值化

-- coding: utf-8 --

“”"
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.]]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值