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

相关文章
相关标签/搜索