一、数据L1正则化
以鸢尾花为例子
#数据预处理——数据L1正则化
import pandas as pd
from sklearn.preprocessing import Normalizer
file_name='E:/数学建模2022/算法/数据预处理/iris.csv'
names=['separ-length','separ-width','petal_length','petal_width','class']
f=open(file_name)#因为中文要报错,所以多了这么一个步骤
data=pd.read_csv(f,names=names)
data=data.values
X = data[:,:4] #输入特征
Y = data[:,4] #标签(输出特征)
transformer=Normalizer().fit(X)
newX=transformer.transform(X)
print(newX)
归一化前的数据:
归一化后的数据:
二、数据标准化
import pandas as pd
from sklearn.preprocessing import Normalizer,StandardScaler
file_name='D:/数学建模2022/算法/数据集观察/iris.csv'
names=['separ-length','separ-width','petal_length','petal_width','class']
f=open(file_name)#因为中文要报错,所以多了这么一个步骤
data=pd.read_csv(f,names=names)
data=data.values
X = data[:,:4] #输入特征
Y = data[:,4] #标签(输出特征
transformer2=StandardScaler().fit(X)
newX2=transformer2.transform(X)
print(newX2)
标准化后的数据:
三、数据归一化(映射到0,1)
import pandas as pd
from sklearn.preprocessing import Normalizer,StandardScaler,MinMaxScaler
file_name='D:/数学建模2022/算法/数据集观察/iris.csv'
names=['separ-length','separ-width','petal_length','petal_width','class']
f=open(file_name)#因为中文要报错,所以多了这么一个步骤
data=pd.read_csv(f,names=names)
data=data.values
X = data[:,:4] #输入特征
Y = data[:,4] #标签(输出特征
transformer3=MinMaxScaler()
newX2=transformer3.fit_transform(X)
print(newX2)
映射到0,1后:
四、数据二值化
import pandas as pd
from sklearn.preprocessing import Binarizer
file_name='D:/数学建模2022/算法/数据集观察/iris.csv'
names=['separ-length','separ-width','petal_length','petal_width','class']
f=open(file_name)#因为中文要报错,所以多了这么一个步骤
data=pd.read_csv(f,names=names)
data=data.values
X = data[:,:4] #输入特征
Y = data[:,4] #标签(输出特征
transformer4=Binarizer(threshold=4.5).fit(X)
newX4=transformer4.transform(X)
print(newX4)
二值化的参数没怎么仔细看,后面再说吧