当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark NGram用法及代码示例


本文简要介绍 pyspark.ml.feature.NGram 的用法。

用法:

class pyspark.ml.feature.NGram(*, n=2, inputCol=None, outputCol=None)

将输入字符串数组转换为n-grams 数组的特征转换器。输入数组中的空值将被忽略。它返回一个 n-grams 数组,其中每个 n-gram 由空格分隔的字符串表示。当输入为空时,返回一个空数组。当输入数组长度小于 n(每个 n-gram 的元素数)时,不返回 n-grams。

1.5.0 版中的新函数。

例子

>>> df = spark.createDataFrame([Row(inputTokens=["a", "b", "c", "d", "e"])])
>>> ngram = NGram(n=2)
>>> ngram.setInputCol("inputTokens")
NGram...
>>> ngram.setOutputCol("nGrams")
NGram...
>>> ngram.transform(df).head()
Row(inputTokens=['a', 'b', 'c', 'd', 'e'], nGrams=['a b', 'b c', 'c d', 'd e'])
>>> # Change n-gram length
>>> ngram.setParams(n=4).transform(df).head()
Row(inputTokens=['a', 'b', 'c', 'd', 'e'], nGrams=['a b c d', 'b c d e'])
>>> # Temporarily modify output column.
>>> ngram.transform(df, {ngram.outputCol: "output"}).head()
Row(inputTokens=['a', 'b', 'c', 'd', 'e'], output=['a b c d', 'b c d e'])
>>> ngram.transform(df).head()
Row(inputTokens=['a', 'b', 'c', 'd', 'e'], nGrams=['a b c d', 'b c d e'])
>>> # Must use keyword arguments to specify params.
>>> ngram.setParams("text")
Traceback (most recent call last):
    ...
TypeError: Method setParams forces keyword arguments.
>>> ngramPath = temp_path + "/ngram"
>>> ngram.save(ngramPath)
>>> loadedNGram = NGram.load(ngramPath)
>>> loadedNGram.getN() == ngram.getN()
True
>>> loadedNGram.transform(df).take(1) == ngram.transform(df).take(1)
True

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.ml.feature.NGram。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。