Binarization
是一个将数值特征转换为二值特征的处理过程。threshold
参数表示决定二值化的阈值。 值大于阈值的特征二值化为1,否则二值化为0。 例如商城有个需求, 根据年龄来进行物品推荐,把50以上的人分为老年,50以下分为非老年人,那么我们根据二值化可以很简单的把50以上的定为1,50以下的定为0。这样就方便我们后续的推荐了。Binarizer就是根据阈值进行二值化,大于阈值的为1.0,小于等于阈值的为0.0
// $example on$ import org.apache.spark.SparkConf import org.apache.spark.ml.feature.Binarizer // $example off$ import org.apache.spark.sql.SparkSession /** * 二值化 */ object BinarizerExample { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf(); sparkConf.setMaster("local[*]").setAppName(this.getClass.getSimpleName) val spark = SparkSession .builder .config(sparkConf) .appName("BinarizerExample") .getOrCreate() // $example on$ val data = Array((0, 0.1), (1, 0.8), (2, 0.6)) val dataFrame = spark.createDataFrame(data).toDF("id", "feature") // transform 开始转换,将该列数据二值化,大于阈值的为1.0,否则为0.0 val binarizer: Binarizer = new Binarizer() .setInputCol("feature") .setOutputCol("binarized_feature") .setThreshold(0.5) val binarizedDataFrame = binarizer.transform(dataFrame) println(s"Binarizer output with Threshold = ${binarizer.getThreshold}") binarizedDataFrame.show() // $example off$ spark.stop() } }
输出结果:
+---+----+-----------------+
| id| age|binarized_feature|
+---+----+-----------------+
| 1|34.0| 0.0|
| 2|56.0| 1.0|
| 3|58.0| 1.0|
| 4|23.0| 0.0|
+---+----+-----------------+
Spark ML机器学习:SQLTransformer
Spark ML机器学习:Tokenizer分词器
Spark ML机器学习:多项式转化-PolynomialExpansion
Spark ML机器学习:N-gram
Spark ML机器学习:归一化之最小最大值标准化-MinMaxScaler
Spark ML机器学习:绝对值最大标准化-MaxAbsScaler
Spark ML机器学习:标准化-StandardScaler
Spark ML机器学习:连续型数据处理之给定分位数离散化-QuantileDiscretizer
Spark ML机器学习:连续型数据处理之二值化-Binarizer
Spark ML机器学习:连续型数据处理之给定边界离散化-Bucketizer
Spark ML机器学习:元素智能乘积-ElementwiseProduct
原文链接:https://blog.csdn.net/linweidong/article/details/87279225
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
评论前必须登录!
立即登录