https://www.deeplearn.me/1389.html
上一篇文章講解了區間縮放法處理數據,接下來就講解二值化處理
這個應該很簡單了,從字面意思就是將數據分為 0 或者 1,聯想到之前圖像處理里面二值化處理變為黑白圖片
下面還是進入主題吧
首先給出當前的二值化處理公式:
y={0if x<=θ1if x>θy={0if x<=θ1if x>θ
上圖中θθ是設定的閾值,特征值與閾值相比較,大於閾值則為 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
(
dataset,
params=None
),其中 param 可以是字典參數,字典的鍵是類對象成員
