📜  binarizer pyspark - Python (1)

📅  最后修改于: 2023-12-03 15:13:39.410000             🧑  作者: Mango

概述

Binarizer是PySpark中的一个函数,用于将连续型的数值特征转换为二元特征。此过程也被称为二值化。

使用

示例

以下示例展示了如何将一个DataFrame中的数值特征进行二值化。

from pyspark.ml.feature import Binarizer
from pyspark.sql import SparkSession

# 创建SparkSession实例
spark = SparkSession.builder.appName("BinarizerExample").getOrCreate()

# 创建DataFrame
data = [(0, 0.1), (1, 0.8), (2, 0.2), (3, 0.6), (4, 0.4)]
df = spark.createDataFrame(data, ["id", "feature"])

# 初始化Binarizer实例
binarizer = Binarizer(threshold=0.5, inputCol="feature", outputCol="binarized_feature")

# 对DataFrame应用Binarizer转换
binarized_df = binarizer.transform(df)

# 展示结果
binarized_df.show()

此示例中的DataFrame中有两个列,分别为"id"和"feature"。在将该DataFrame应用到Binarizer实例后,"feature"列就被转化为"binarized_feature"列,其中"feature"列中小于或等于阈值0.5的都被转化为0,大于阈值的则被转化为1。

结果:

+---+-------+----------------+
| id|feature|binarized_feature|
+---+-------+----------------+
|  0|    0.1|             0.0|
|  1|    0.8|             1.0|
|  2|    0.2|             0.0|
|  3|    0.6|             1.0|
|  4|    0.4|             0.0|
+---+-------+----------------+
参数

Binarizer函数有两个参数:

  • threshold: 阈值。默认值为0.0。任何小于或等于此值的数据将会被转换为0,大于此值的数据将会被转换为1。

  • inputCol: 输入列名。默认值为"input"。

  • outputCol: 输出列名。默认值为"output"。

总结

Binarizer是一个简单但非常实用的函数,可以帮助我们将连续型的数值特征转换为二元特征,为后续的机器学习模型提供更加简单和易于处理的数据。