91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark MLlib的API CountVectorizer怎么用

發布時間:2022-01-15 10:28:11 來源:億速云 閱讀:160 作者:iii 欄目:大數據

這篇文章主要介紹“Spark MLlib的API CountVectorizer怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Spark MLlib的API CountVectorizer怎么用”文章能幫助大家解決問題。

CountVectorizer

CountVectorizer  CountVectorizerModel 旨在幫助將文本文檔集合轉化為頻數向量。當先驗詞典不可用時,CountVectorizer可以用作Estimator提取詞匯表,并生成一個CountVectorizerModel。該模型會基于該字典為文檔生成稀疏矩陣,該稀疏矩陣可以傳給其它算法,比如LDA,去做一些處理。

在擬合過程中,CountVectorizer會從整個文檔集合中進行詞頻統計并排序后的前vocabSize個單詞。

一個可選參數minDF也會影響擬合過程,方法是指定詞匯必須出現的文檔的最小數量(或小于1.0)。另一個可選的二進制切換參數控制輸出向量。如果設置為true,則所有非零計數都設置為1.這對于模擬二進制計數而不是整數計數的離散概率模型特別有用。

舉例說明該算法

假如我們有個DataFrame有兩列:id和texts。

id

texts

0

Array("a", "b",  "c")

1

Array("a", "b",  "b", "c", "a")

每一行texts都是一個Array [String]類型的文檔。使用字典(A,B,C)調用CountVectorizer產生CountVectorizerModel。然后轉換后的輸出列“向量”包含

vector列:

id

texts

vector

0

Array("a", "b",  "c")

(3,[0,1,2],[1.0,1.0,1.0])

1

Array("a", "b",  "b", "c", "a")

(3,[0,1,2],[2.0,2.0,1.0])

將兩篇文檔中的詞去重后就組成了一個字典,這個字典中有3個詞:a,b,c,分別建立索引為0,1,2. 
在第三列的文檔向量,是由基于字典的索引向量,與對應對索引的詞頻向量所組成的。 
文檔向量是稀疏的表征,例子中只有3個詞可能感覺不出,在實際業務中,字典的長度是上萬,而文章中出現的詞可能是幾百或幾千,故很多索引對應的位置詞頻都是0.

spark中的源碼

導包

import org.apache.spark.ml.feature.{CountVectorizer, CountVectorizerModel}

準備數據

val df = spark.createDataFrame(Seq(
 (0, Array("a", "b", "c")),
 (2, Array("a", "b", "c", "c", "a"))
)).toDF("id", "words")

從全文集中擬合CountVectorizerModel(自動計算字典)

val cvModel: CountVectorizerModel = new CountVectorizer()
 .setInputCol("words")
 .setOutputCol("features")
 .setVocabSize(3)
 .setMinDF(2).fit(df)

查看結果

cvModel.transform(df).show(false)

Spark MLlib的API CountVectorizer怎么用

指定預先字典

val cvm = new CountVectorizerModel(Array("a", "b", "c"))
.setInputCol("words").setOutputCol("features")

為了避免重復,重新造一組數據

val df = spark.createDataFrame(Seq(
 (0, Array("a", "b", "c")),
 (2, Array("a", "b", "c", "c", "a"))
)).toDF("id", "words")

查看結果

cvm.transform(df).show(false)

Spark MLlib的API CountVectorizer怎么用

關于“Spark MLlib的API CountVectorizer怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定陶县| 繁峙县| 寿阳县| 栾川县| 盐津县| 广灵县| 交城县| 兴隆县| 梅河口市| 安图县| 长治市| 杭锦后旗| 石楼县| 科技| 甘泉县| 甘洛县| 巩义市| 汽车| 西贡区| 鄢陵县| 澜沧| 杭锦旗| 淮滨县| 扶风县| 稷山县| 即墨市| 隆尧县| 灵璧县| 光山县| 长寿区| 定州市| 本溪| 林芝县| 临城县| 车险| 和田市| 进贤县| 祁连县| 老河口市| 临湘市| 扎鲁特旗|