sklearn学习笔记之preprocessing
官方文档地址
参考链接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:和上面一样,不赘述
示例
- 将数据矩阵缩放到[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相关推荐
- SKlearn学习笔记——XGBoost
SKlearn学习笔记--XGBoost 1. 概述 1.1 xgboost库与XGB的sklearn API 1.2 XGBoost的三大板块 2. 梯度提升树 2.1 提升集成算法:重要参数 n_ ...
- sklearn学习笔记(一)——数据预处理 sklearn.preprocessing
python sklearn 更多 个人分类: Python 数据处理 sklearn 数据预处理 sklearn.preprocessing 查看全文 http://www.taodudu.cc/n ...
- python sklearn学习笔记大全(常见代码速查)
skleran是python中常见的机器学习包,整理下笔记.方便查询. 官方文档链接:sklearn官方英文文档 常见模型 from sklearn.linear_model import Linea ...
- sklearn学习笔记
1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.linear_model.LinearRegression(fit_intercept=True, norm ...
- DataWhale sklearn学习笔记(一)
线性回归 数据生成: 生成数据的思路是设定一个二维的函数(维度高了没办法在平面上画出来),根据这个函数生成一些离散的数据点,对每个数据点我们可以适当的加一点波动,也就是噪声,最后看看我们算法的拟合或者 ...
- sklearn学习笔记之简单线性回归
简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误 ...
- sklearn学习笔记(一):数据预处理
文章目录 1.缺失值处理 2. 数据的规范化 2.1 缩放规范化 2.1.1 最大值-最小值缩放 2.1.2 最大绝对值缩放 2.1.3 自定义缩放区间 2.2 标椎化 2.3 范数规范化 3. 非线 ...
- python之sklearn学习笔记
sklearn介绍 scikit-learn是数据挖掘与分析的简单而有效的工具. 依赖于NumPy, SciPy和matplotlib. 它主要包含以下几部分内容: 从功能来分: classifica ...
- Sklearn学习笔记3 model_selection模块
3 Model selection and evaluation 1 sklearn.model_selection: Model Selection 1.1 Splitter Classes(分组) ...
- sklearn学习笔记3:降维算法
sklearn中降维算法都被包括在模块decomposition中,这个模块本质是一个矩阵分解模块 PCA使用的信息量衡量指标,就是样本方差,又称可解释性方差,方差越大,特征所带信息量就越多 PCA与 ...
最新文章
- 基于android的天气预报的设计与实现
- 07JavaScript中的数组
- CSharpGL(1)从最简单的例子开始使用CSharpGL
- wcf系列5天速成——第一天 binding的使用(1)
- 性能优化:实现动画效果优先考虑css的transition
- 深入理解 Java 锁与线程阻塞
- 兴义高考八中2021成绩查询,兴义第八中学2021年录取分数线
- php iframe 上传图片,利用iframe+php实现图片的上传
- 机器学习问题方法总结
- SpringCloud Netflix Hystrix
- cassandra使用心得_使用Spring Data Cassandra缓存的预备语句
- javascript用户登录_SAP HANA XS的JavaScript安全事项
- PL/SQL-FOR UPDATE 与 FOR UPDATE OF的区别
- html调用一个php文件路径_HTML中利用js调用php的内容
- 12123两小时没付款怎么办_交管12123支付宝小程序付款不了怎么办 交管12123支付宝缴费方法介绍[多图]...
- 电动轮椅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- Struts2框架中s:if标签和s:set标签小结
- Atitit ocr识别原理 与概论 attilax总结
- php168 shell,php168 v6/v7鸡肋Getshell安全问题
- 吴伯凡-认知方法论-结果的简单,起点的复杂