Pyspark特征工程--Binarize

Binarize :在给定阈值的情况下对一列连续特征进行二值化

class pyspark.ml.feature.Binarizer(threshold=0.0, inputCol=None, outputCol=None)[[source]](https://spark.apache.org/docs/2.4.5/api/python/pyspark.ml.html#pyspark.ml.feature.Binarizer

threshold:用于单列,thresholds:用于多列(当前版本2.4.5不支持)

​ threshold即为阈值

inputCol:用于单列,inputCols:用于多列(当前版本2.4.5不支持)

01.创建对象

from pyspark.sql import SparkSession
from pyspark.ml.feature import Binarizer
spark = SparkSession.builder.config("spark.Driver.host","192.168.1.4")\
    .config("spark.ui.showConsoleProgress","false")\
    .appName("Binarize").master("local[*]").getOrCreate()

02.创建数据

data = spark.createDataFrame([
    (0.1,),
    (2.3,),
    (1.1,),
    (4.2,),
    (2.5,),
    (6.8,),
],["values"])
data.show()

​ 输出结果:

+------+
|values|
+------+
|   0.1|
|   2.3|
|   1.1|
|   4.2|
|   2.5|
|   6.8|
+------+

03.创建一个Binarize对象,参数中指定输入列,阈值和输出列

binarizer = Binarizer(threshold=2.4,inputCol="values",outputCol="features")

04.转换原始数据并查看结果

res = binarizer.transform(data)
res.show()

​ 输出结果

+------+--------+
|values|features|
+------+--------+
|   0.1|     0.0|
|   2.3|     0.0|
|   1.1|     0.0|
|   4.2|     1.0|
|   2.5|     1.0|
|   6.8|     1.0|
+------+--------+

05.查看结构

res.printSchema()

1输出结果:

root
 |-- values: double (nullable = true)
 |-- features: double (nullable = true)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值