一.特征二值化
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