sklearn工具-学习笔记4

本文介绍了Sklearn中的数据集变换,包括Pipeline和FeatureUnion的使用,用于串联和组合变换器。同时讲解了特征提取,如DictVectorizer实现的'one-hot'编码,以及数据预处理的多个步骤,如标准化、正则化、二值化、类别编码、缺失值处理和多项式特征生成等。此外,还提到了自定义转换器的概念。
摘要由CSDN通过智能技术生成

Sklearn数据集变换 Dataset Transformation:
1、Pipeline and FeatureUnion:并行或串行组合变换器
1)Pipeline :可以用于把多个estimators级联为一个estimator,pipeline对象使用(key,value)列表来构建,其中k是一个标识步骤的名称字符串,值是一个estimator对象,也可以使用make_pipeline,是一个构造Pipeline的简短工具,它接受可变数量的estimators并返回一个pipeline,每个estimator的名称自动填充。
form sklearn.pipeline import Pipeline
estimators=[]
pipe=Pipeline(estimators)
pipe.setps[]/pipe.named_steps[‘name’]
pipe.set_params()
params=dict()
grid_search=Gridsearchcv(pipe,param=params):联合超参数优化
2)FeatureUnion:组合特征空间,把若干transformer objects组合成一个新的transformer,这个新的transformer组合了他们的输出。在数据变换阶段,所有训练好的transformer可以并行执行。FeatureUnion和Pipeline可以共同使用创建更加复杂的模型。FeatureUnion对象实例使用(key,value)构成的list来构造,k是一个名称字符串,值是一个estimator对象。与Pipeline类似,FeaturesUnions也有make_union简单的构造方法,不需要给每个estimator指定名称。
form sklearn.pipeline import FeatureUnion
estimators=[(‘linear_pca’,PCA()),(‘kernel_pca’,kernelPCA())]
combined=FeatureUnion(estimators)
combined.set_params()
2、Feature Extraction:特征提取
Form sklearn .feature_extraction import DictVectorizer
Vec= DictVectorizer()
Vec.fit_transform(measurements).toarray()
DictVectorizer实现了’one-hot’
词袋模型:
Tokenizing:标记字符串
Counting:统计词频
Normalizing:归一化加权
X=vectorizer.fit_transform(corpus)
Analyze=vectorizer.bulid_analyzer()
Vectorizer.vocabulary_.get(‘word’):得到该单词位于特征空间的第几列
Countvectorizer(ngram_range=(1,2)):指定2-grams of words 或1-grams
3、data preprocessing:数据预处理
1)standardization
from sklearn import preprocessing
x_scaled=preprocessing.scale(x)
x_scaled.mean(axis=0)
x_scaled.std(axis=0)
min_max_scaler=preprocessing.MinMaxScaler()
x_train_minmax=min_max_scaler.fit_transform(x_train)
RobusScaler:使用更加鲁棒的方式估计数据中心和范围,但不能处理稀疏矩阵
以上如果不操作对象也可直接调用相应函数:
minmax_scale\maxabs_scale\scale\robust_scale
2)Normalization
正则化针对的是每行,或者说每个样本的不同特征,一般计算样本之间的距离时使用其做归一化处理。Normalization主要思想是对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的p-范数(L1,L2)等于1。
preprocessing.normalize(x,norm=’l2’)
3)Binarization
   Feature binarization:将数值型特征取值阈值化转变为布尔型特征取值,这一过程主要是为概率型学习器提供数据预处理机制
4)Encoding categorical features
enc = preprocessing.OneHotEncoder()
enc.fit()
enc.transform([]).toarray()
5)Imputation of  missing values
Imputer class 提供了补全缺失值的基本策略,使用一行或一列的均值,中值,出现次数最多的值
From sklearn.preprossing import Imputer
Imp=Imputer (missing_value=’NaN’,stratey=’mean’,axis=0)
Imp.fit([np.nan,3])
6)Generating ploynomial features
From sklearn preprocessing import ploynomialFeaturns
X=np.arange(6).reshape(3,2)
Ploy =ploynomialFeatures(2)
Ploy.fit_transform(X)
如只要互乘积项,设置参数’interaction_only=True’
7)Custom transformers
借助于FunctionTransformer类
from sklearn.preprocessing import Function Tansformer
transformer=FunctionTransformer(np.log1p)
x=np.array
Transformer.transform(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值