• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

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

bigdata admin 2年前 (2017-08-17) 2574次浏览 0个评论 扫描二维码

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

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


下面还是进入主题吧

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

$$
y = \left\{ \begin{array}{ll}
0 & \textrm{if \(x<=\theta\)}\\
1& \textrm{if \(x>\theta\)}\\
\end{array} \right.
$$

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

sklearn 函数

 

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

输出结果

[[ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]]

spark 函数

>>> df = sqlContext.createDataFrame([(0.5,)], ["values"])
>>> binarizer = Binarizer(threshold=1.0, inputCol="values", outputCol="features")
>>> binarizer.transform(df).head().features
0.0
#setParams 是用来设置二值化参数
>>> binarizer.setParams(outputCol="freqs").transform(df).head().freqs
0.0
>>> params = {binarizer.threshold: -0.5, binarizer.outputCol: "vector"}
>>> binarizer.transform(df, params).head().vector
1.0
 transform(datasetparams=None),其中 param 可以是字典参数,字典的键是类对象成员

Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明特征工程(4)-数据预处理二值化
喜欢 (1)
admin
关于作者:
互联网行业码农一枚/业余铲屎官/数码影音爱好者/二次元

您必须 登录 才能发表评论!