官方文档地址
参考链接sklearn中文翻译地址:http://www.scikitlearn.com.cn/0.21.3/40/

这个模块的主要内容是数据的预处理:

  • scaling:缩放化
  • normalization:标准化
  • binarization 二值化
  • centering:中心化

API

Binarizer
sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)

作用:将数据进行二值化,若是特征值(feature value)大于阈值(threshold)则将特征值赋值为1否则为0

参数

  • threshold:阈值,默认为0
  • copy:默认为True
    设置为False就会将x原值进行替换为二分值(即只为0、1),
    设置为True则不会替换x原值

示例

>>>from sklearn.preprocessing import Binarizer
>>>X = [[ 1., -1.,  2.],[ 2.,  0.,  0.],[ 0.,  1., -1.]]
>>>transformer = Binarizer().fit(X)
>>>transformer
>Binarizer()
>>>transformer.transform(X)
array([[1., 0., 1.],[1., 0., 0.],[0., 1., 0.]])

Binarizer官方地址

LabelEncoder
sklearn.preprocessing.LabelEncoder

作用:将目标label编码成[0-n_classes-1]范围的值

示例

>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit([1, 2, 2, 6])
LabelEncoder()
>>> le.classes_
array([1, 2, 6])
>>> le.transform([1, 1, 2, 6])
array([0, 0, 1, 2]...)
>>> le.inverse_transform([0, 0, 1, 2])
array([1, 1, 2, 6])

也可以对非数值型的对象进行编码(这些对象必须可相互比较)转化为数值型标签

>>> le = preprocessing.LabelEncoder()
>>> le.fit(["paris", "paris", "tokyo", "amsterdam"])
LabelEncoder()
>>> list(le.classes_)
['amsterdam', 'paris', 'tokyo']
>>> le.transform(["tokyo", "tokyo", "paris"])
array([2, 2, 1]...)
>>> list(le.inverse_transform([2, 2, 1]))
['tokyo', 'tokyo', 'paris']

LabelEncoder官方地址

MinMaxScaler
sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), *, copy=True)

作用:将特征缩放到指定范围中,默认是在0-1之间

若是给MinMaxScaler提供一个明确的feature_range=(min,max),完整公式是:

X_std = (X - X.min(axis=0))/(X.max(axis=0)-X.min(axis=0))
#max 是feature_range中的max,min是feature_range中的min
X_scaled = X_std * (max - min) + min

参数

  • feature_range:设置缩放范围,默认是(0,1)
  • copy:和上面一样,不赘述

示例

  1. 将数据矩阵缩放到[0-1]范围
>>> X_train = np.array([[ 1., -1.,  2.],
...                     [ 2.,  0.,  0.],
...                     [ 0.,  1., -1.]])
# 一种写法
>>> min_max_scaler = preprocessing.MinMaxScaler()
>>> X_train_minmax = min_max_scaler.fit_transform(X_train)
>>> X_train_minmax
array([[ 0.5       ,  0.        ,  1.      ],[ 1.        ,  0.5       ,  0.33333333],[ 0.        ,  1.        ,  0.        ]])
#第二种写法
>>>min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0,1))
>>>X_train_minmax = min_max_scaler.fit(X_train_minmax)
>>>X_train_minmax.transform(X_train_minmax)
array([[ 0.5       ,  0.        ,  1.        ],[ 1.        ,  0.5       ,  0.33333333],[ 0.        ,  1.        ,  0.        ]])

MinMaxScaler官网文档

sklearn学习笔记之preprocessing相关推荐

  1. SKlearn学习笔记——XGBoost

    SKlearn学习笔记--XGBoost 1. 概述 1.1 xgboost库与XGB的sklearn API 1.2 XGBoost的三大板块 2. 梯度提升树 2.1 提升集成算法:重要参数 n_ ...

  2. sklearn学习笔记(一)——数据预处理 sklearn.preprocessing

    python sklearn 更多 个人分类: Python 数据处理 sklearn 数据预处理 sklearn.preprocessing 查看全文 http://www.taodudu.cc/n ...

  3. python sklearn学习笔记大全(常见代码速查)

    skleran是python中常见的机器学习包,整理下笔记.方便查询. 官方文档链接:sklearn官方英文文档 常见模型 from sklearn.linear_model import Linea ...

  4. sklearn学习笔记

    1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.linear_model.LinearRegression(fit_intercept=True, norm ...

  5. DataWhale sklearn学习笔记(一)

    线性回归 数据生成: 生成数据的思路是设定一个二维的函数(维度高了没办法在平面上画出来),根据这个函数生成一些离散的数据点,对每个数据点我们可以适当的加一点波动,也就是噪声,最后看看我们算法的拟合或者 ...

  6. sklearn学习笔记之简单线性回归

    简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误 ...

  7. sklearn学习笔记(一):数据预处理

    文章目录 1.缺失值处理 2. 数据的规范化 2.1 缩放规范化 2.1.1 最大值-最小值缩放 2.1.2 最大绝对值缩放 2.1.3 自定义缩放区间 2.2 标椎化 2.3 范数规范化 3. 非线 ...

  8. python之sklearn学习笔记

    sklearn介绍 scikit-learn是数据挖掘与分析的简单而有效的工具. 依赖于NumPy, SciPy和matplotlib. 它主要包含以下几部分内容: 从功能来分: classifica ...

  9. Sklearn学习笔记3 model_selection模块

    3 Model selection and evaluation 1 sklearn.model_selection: Model Selection 1.1 Splitter Classes(分组) ...

  10. sklearn学习笔记3:降维算法

    sklearn中降维算法都被包括在模块decomposition中,这个模块本质是一个矩阵分解模块 PCA使用的信息量衡量指标,就是样本方差,又称可解释性方差,方差越大,特征所带信息量就越多 PCA与 ...

最新文章

  1. 基于android的天气预报的设计与实现
  2. 07JavaScript中的数组
  3. CSharpGL(1)从最简单的例子开始使用CSharpGL
  4. wcf系列5天速成——第一天 binding的使用(1)
  5. 性能优化:实现动画效果优先考虑css的transition
  6. 深入理解 Java 锁与线程阻塞
  7. 兴义高考八中2021成绩查询,兴义第八中学2021年录取分数线
  8. php iframe 上传图片,利用iframe+php实现图片的上传
  9. 机器学习问题方法总结
  10. SpringCloud Netflix Hystrix
  11. cassandra使用心得_使用Spring Data Cassandra缓存的预备语句
  12. javascript用户登录_SAP HANA XS的JavaScript安全事项
  13. PL/SQL-FOR UPDATE 与 FOR UPDATE OF的区别
  14. html调用一个php文件路径_HTML中利用js调用php的内容
  15. 12123两小时没付款怎么办_交管12123支付宝小程序付款不了怎么办 交管12123支付宝缴费方法介绍[多图]...
  16. 电动轮椅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  17. Struts2框架中s:if标签和s:set标签小结
  18. Atitit  ocr识别原理 与概论 attilax总结
  19. php168 shell,php168 v6/v7鸡肋Getshell安全问题
  20. 吴伯凡-认知方法论-结果的简单,起点的复杂

热门文章

  1. django multidb --- router
  2. 日常邮件用语(一)网摘学习
  3. an existing tansporter instance is currently uploading this package 解决方法
  4. 第五节:STM32输入捕获(用CubeMX学习STM32)
  5. 51nod 最小方差
  6. 第六届蓝桥杯:三羊献瑞
  7. Python项目打包成exe文件
  8. UVA - 815 Flooded!
  9. Injection with CDI (Part I)
  10. 在类库中使用Session