二值化
有些业务并不需要分析矩阵详细完整的数据(例如:图像的边缘识别, 只需要分析出边缘即可), 可以根据事先给定的阈值, 用0和1表示特征值不高于/高于阈值. 二值化后, 矩阵中每个元素非0即1, 达到简化数学模型的目的。二值化在图像处理中经常会。
二值化相关API:
# 获取二值化器对象
bin = sp.Binarizer(threshold=阈值)
# 基于二值化器转换原始样本矩阵
result = bin.transform(原始样本矩阵)
案例:
"""
二值化
"""
import numpy as np
import sklearn.preprocessing as sp
samples = np.array([
[17., 100., 4000],
[20., 80., 5000],
[23., 70., 5500]])
bin = sp.Binarizer(threshold=80)
r_samples = bin.transform(samples)
print(r_samples)
[[0. 1. 1.]
[0. 0. 1.]
[0. 0. 1.]]