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


Python pyspark IDF用法及代碼示例

本文簡要介紹 pyspark.mllib.feature.IDF 的用法。

用法:

class pyspark.mllib.feature.IDF(minDocFreq=0)

逆文檔頻率 (IDF)。

使用標準公式:idf = log((m + 1) / (d(t) + 1)),其中 m 是文檔總數,d(t) 是包含術語 t 的文檔數。

此實現支持過濾掉未出現在最小數量文檔中的術語(由變量 minDocFreq 控製)。對於至少不在 minDocFreq 文檔中的術語,IDF 被找到為 0,導致 TF-IDFs of 0。

版本 1.2.0 中的新函數。

參數

minDocFreqint

應該出現一個詞以進行過濾的最少文檔

例子

>>> n = 4
>>> freqs = [Vectors.sparse(n, (1, 3), (1.0, 2.0)),
...          Vectors.dense([0.0, 1.0, 2.0, 3.0]),
...          Vectors.sparse(n, [1], [1.0])]
>>> data = sc.parallelize(freqs)
>>> idf = IDF()
>>> model = idf.fit(data)
>>> tfidf = model.transform(data)
>>> for r in tfidf.collect(): r
SparseVector(4, {1: 0.0, 3: 0.5754})
DenseVector([0.0, 0.0, 1.3863, 0.863])
SparseVector(4, {1: 0.0})
>>> model.transform(Vectors.dense([0.0, 1.0, 2.0, 3.0]))
DenseVector([0.0, 0.0, 1.3863, 0.863])
>>> model.transform([0.0, 1.0, 2.0, 3.0])
DenseVector([0.0, 0.0, 1.3863, 0.863])
>>> model.transform(Vectors.sparse(n, (1, 3), (1.0, 2.0)))
SparseVector(4, {1: 0.0, 3: 0.5754})

相關用法


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