Sklearn入门之数据预处理preprocessing

         Sklearn全称:Scipy-toolkit  Learn是 一个基于scipy实现的的开源机器学习库。它提供了大量的算法和工具,用于数据挖掘和数据分析,包括分类、回归、聚类等多种任务。本文我将带你了解并入门Sklearn下的preprocessing在机器学习中的基本用法。

获取方式

pip install scikit-learn

模块结构

        在Python中,要想熟练地使用一个库来完成各种任务,那么我们必须得对这个库内各个模块的结构比较熟悉才可以,观察Scikit-learn源代码中的第一级模块,我们不难画出这样的一个树状图用来描述其结构:

        在这其中,datasets为内置数据集,剩下的2-13基本包含了整个机器学习中所有比较经典的算法,后边七个模块是我们在进行机器学习任务时常用的工具。

        后续,我将分别为大家介绍这20个模块的基本用法,本文我们着重来了解preprocessing这个模块的基本用法。

Preprocessing

        当我们对需要对数据进行预处理操作的时候,可以使用sklearn的preprocessing模块内的函数来进行操作,这里我给大家罗列出来常用数据预处理操作以及sklearn.preprocessing模块内对应函数。

预处理类型主要函数/类功能描述常用参数适用场景
​​标准化​​StandardScaler将特征缩放为均值为0,方差为1with_meanwith_std适用于大多数基于距离的算法
​​归一化​​MinMaxScaler将特征缩放到给定范围(默认[0,1])feature_range神经网络、图像处理
MaxAbsScaler将特征缩放到[-1,1]范围-稀疏数据
Normalizer对样本进行归一化(行归一化)norm('l1','l2','max')文本分类、聚类
​​鲁棒缩放​​RobustScaler使用中位数和四分位数范围缩放with_centeringwith_scaling存在异常值的数据
​​非线性变换​​PowerTransformer应用幂变换使数据更接近正态分布method('yeo-johnson','box-cox')非正态分布数据
QuantileTransformer使用分位数信息变换特征n_quantilesoutput_distribution非线性模型
​​离散化​​KBinsDiscretizer将连续特征离散化n_binsencodestrategy决策树类算法
​​二值化​​Binarizer根据阈值将数据二值化threshold文本处理、概率输出
​​编码分类特征​​OrdinalEncoder将分类特征编码为整数categories有序分类变量
OneHotEncoder将分类特征进行one-hot编码categoriesdrop无序分类变量
LabelEncoder将目标标签编码为0到n_classes-1-目标变量编码
​​缺失值处理​​SimpleImputer填充缺失值strategy('mean','median','most_frequent','constant')数据缺失处理
​多项式特征​PolynomialFeatures生成多项式特征degreeinteraction_only线性模型扩展特征
​自定义变换​FunctionTransformer应用自定义函数变换funcinverse_func自定义预处理逻辑
​特征选择​VarianceThreshold移除低方差特征threshold预处理中的特征选择

总结

        以上便是 Sklearn入门之preprocessing的基本用法的所有内容,如果本文对你有用,免费的三连来一波,感谢各位大佬支持。后续,我还将继续介绍sklearn中其他模块的使用方法。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值