特征工程(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 可以是字典參數,字典的鍵是類對象成員

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM