《Machine Learning for OpenCV》学习笔记:数据预处理之特征二值化

一.特征二值化

1.1特征二值化

二值化,顾名思义,只有两种值。对于每一个特征值,如果大于某个临界值(也叫做阈值、门槛值),则把该特征值设置为极大值,如果小于某个临界值,则把该特征值设置为极小值。

1.2scikit-learn实现

使用sklearn.preprocessing.Binarizer类。通过向Binarizer类传入关键字参数threshold来指定临界值。

1.3验证

结果就是一个全部由0或1两种值组成的矩阵

# -*- coding:utf-8 -*-
from sklearn import preprocessing
import numpy as np


X = np.array(
	[[1., -2., 2.], [3., 0., 0.], [0., 1., -1]]
)   # 创建一个三行三列的二维数组
binarizer = preprocessing.Binarizer(threshold=0.5)
X_binarizer = binarizer.transform(X)

# 验证
print(X_binarizer)
"""
[[1. 0. 1.]
 [1. 0. 0.]
 [0. 1. 0.]]

"""

 

 

参考资料

[1]维基百科,二值化:https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%80%BC%E5%8C%96

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值