描述:Binarizer是一個Transformer,只能對DataFrame進行單特徵轉換,而且特徵的數據類型必須是DoubleType。spa
參數信息 | 參數描述 | 備註 | 其餘 |
setInputCol | DF中待變換的特徵 | 特徵類型必須爲:DoubleType | |
setOutputCol | 變換後的特徵名稱 | 轉換後的類型爲:DoubleType | |
setThreshold | 將數據分段的閾值 | 若選中特徵列的值大於閾值,則返回1.0,不然返回0.0 | 默認值:0.0 |
//特徵名稱 var feature = "weight" var feature_new = "weight_binarizer" //數據預處理 var dataset = dataFrame.select(col(feature).cast(DataTypes.DoubleType)) //特徵二值化 var transform = new Binarizer() .setInputCol(feature) //待變換的特徵 .setOutputCol(feature_new) //變換後的特徵名稱 .setThreshold(60d) //閾值 .transform(dataset) //show transform.show()
+------+----------------+ |weight|weight_binarizer| +------+----------------+ | 45.0| 0.0| | 60.0| 0.0| | 69.0| 1.0| | 89.0| 1.0| | 45.0| 0.0| | 53.0| 0.0| | 88.0| 1.0| | 76.0| 1.0| +------+----------------+
有一批學生的成績,60分爲合格,那麼咱們的閾值就能夠設置爲:59.99999999。code