SparkMl-Binarizer(連續特徵二值化)

Binarizer:連續特徵二值化

描述: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

相關文章
相關標籤/搜索