當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark PolynomialExpansion用法及代碼示例

本文簡要介紹 pyspark.ml.feature.PolynomialExpansion 的用法。

用法:

class pyspark.ml.feature.PolynomialExpansion(*, degree=2, inputCol=None, outputCol=None)

在多項式空間中執行特征擴展。正如wikipedia of Polynomial Expansion 中所說,“在數學中,和乘積的展開通過使用乘法分布在加法上的事實將其表示為乘積之和”。以一個 2 變量特征向量為例:(x, y),如果我們想將其擴展為 2,則得到 (x, x * x, y, x * y, y * y)

1.4.0 版中的新函數。

例子

>>> from pyspark.ml.linalg import Vectors
>>> df = spark.createDataFrame([(Vectors.dense([0.5, 2.0]),)], ["dense"])
>>> px = PolynomialExpansion(degree=2)
>>> px.setInputCol("dense")
PolynomialExpansion...
>>> px.setOutputCol("expanded")
PolynomialExpansion...
>>> px.transform(df).head().expanded
DenseVector([0.5, 0.25, 2.0, 1.0, 4.0])
>>> px.setParams(outputCol="test").transform(df).head().test
DenseVector([0.5, 0.25, 2.0, 1.0, 4.0])
>>> polyExpansionPath = temp_path + "/poly-expansion"
>>> px.save(polyExpansionPath)
>>> loadedPx = PolynomialExpansion.load(polyExpansionPath)
>>> loadedPx.getDegree() == px.getDegree()
True
>>> loadedPx.transform(df).take(1) == px.transform(df).take(1)
True

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.ml.feature.PolynomialExpansion。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。