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