特征工程(4)-数据预处理二值化

https://www.deeplearn.me/1389.html

上一篇文章讲解了区间缩放法处理数据,接下来就讲解二值化处理

这个应该很简单了,从字面意思就是将数据分为 0 或者 1,联想到之前图像处理里面二值化处理变为黑白图片


下面还是进入主题吧

首先给出当前的二值化处理公式:

y={0if x<=θ1if x>θy={0if x<=θ1if x>θ

上图中θθ是设定的阈值,特征值与阈值相比较,大于阈值则为 1 小于等于阈值为 0

sklearn 函数

  1. from sklearn.preprocessing import Binarizer
  2. tmp=Binarizer().fit_transform(irisdata.data)
  3. print tmp[0:5]

输出结果

  1. [[ 1. 1. 1. 1.]
  2. [ 1. 1. 1. 1.]
  3. [ 1. 1. 1. 1.]
  4. [ 1. 1. 1. 1.]
  5. [ 1. 1. 1. 1.]]

spark 函数

  1. >>> df = sqlContext.createDataFrame([(0.5,)], ["values"])
  2. >>> binarizer = Binarizer(threshold=1.0, inputCol="values", outputCol="features")
  3. >>> binarizer.transform(df).head().features
  4. 0.0
  5. #setParams 是用来设置二值化参数
  6. >>> binarizer.setParams(outputCol="freqs").transform(df).head().freqs
  7. 0.0
  8. >>> params = {binarizer.threshold: -0.5, binarizer.outputCol: "vector"}
  9. >>> binarizer.transform(df, params).head().vector
  10. 1.0
 transform(datasetparams=None),其中 param 可以是字典参数,字典的键是类对象成员
原文地址:https://www.cnblogs.com/yuluoxingkong/p/9010259.html