其他分享
首页 > 其他分享> > 第三周:数据预处理

第三周:数据预处理

作者:互联网

数据预处理

1.无量纲化

1.1 最值归一化(MinMaxScaler)

from sklearn.preprocessing import MinMaxScaler
#区间缩放,返回值为缩放到[0, 1]区间的数据
minMaxScaler  = MinMaxScaler().fit_transform(X_train)

当数据(x)按照最小值中心化后,再按极差(最大值 - 最小值)缩放,数据移动了最小值个单位,并且会被收敛到[0,1]之间,而这个过程,就叫做数据归一化(Normalization,又称Min-Max Scaling)。
在这里插入图片描述
缺点:

1.2 均值方差归一化(StandardScaler)

from sklearn.preprocessing import StandardScaler
#标准化,返回值为标准化后的数据
standardScaler  = StandardScaler().fit_transform(X_train)

当数据(x)按均值(μ)中心化后,再按标准差(σ)缩放,数据就会服从为均值为0,方差为1的正态分布(即标准正态分布),就叫做数据标准化(Standardization,又称Z-score normalization)
在这里插入图片描述
优点:

缺点:

一般来说,建议优先使用标准化。对于输出有要求时再尝试别的方法,如归一化或者更加复杂的方法。

2.缺失值处理

2.1 impute.SimpleImputer

from sklearn.impute import SimpleImputer
imp_mean = SimpleImputer()
imp_mean = imp_mean.fit_transform(Age)

class sklearn.impute.SimpleImputer (missing_values=nan, strategy=’mean’, fill_value=None, verbose=0,copy=True)
在这里插入图片描述

3.处理分类型特征

3.1 标签编码(preprocessing.LabelEncoder)

from sklearn.preprocessing import LabelEncoder
data.iloc[:,-1] = LabelEncoder().fit_transform(data.iloc[:,-1])

LabelEncoder:标签专用,能够将分类转换为分类数值

3.2 特征编(preprocessing.OrdinalEncoder)

from sklearn.preprocessing import OrdinalEncoder
data_.iloc[:,1:-1] = OrdinalEncoder().fit_transform(data_.iloc[:,1:-1])

OrdinalEncoder:特征专用,能够将分类特征转换为分类数值

3.3 哑变量(preprocessing.OneHotEncoder)

from sklearn.preprocessing import OneHotEncoder
X = data.iloc[:,1:-1]
enc = OneHotEncoder(categories='auto').fit(X)
result = enc.transform(X).toarray()
result

OneHotEncoder:独热编码,创建哑变量
在这里插入图片描述

4.处理连续型特征

4.1 二值化(preprocessing.Binarizer)

from sklearn.preprocessing import Binarizer
X = data_2.iloc[:,0].values.reshape(-1,1) #类为特征专用,所以不能使用一维数组
transformer = Binarizer(threshold=30).fit_transform(X)

preprocessing.Binarizer:根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量

4.2 分段(preprocessing.KBinsDiscretizer)

from sklearn.preprocessing import KBinsDiscretizer
X = data.iloc[:,0].values.reshape(-1,1)
est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
est.fit_transform(X)

preprocessing.KBinsDiscretizer:将连续型变量划分为分类变量的类,能够将连续型变量排序后按顺序分箱后编码
在这里插入图片描述

标签:fit,第三周,transform,Score,preprocessing,import,数据,预处理,sklearn
来源: https://blog.csdn.net/weixin_43618989/article/details/104815049