日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python sklearn CountVectorizer的使用及相關(guān)說(shuō)明

系統(tǒng) 2243 0

最近想用python對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,想要分析系統(tǒng)調(diào)用之間的關(guān)系。初步想法是利用n-gram方法,因此查詢(xún)到了python的sklearn中有一個(gè)CountVectorizer方法可以使用,在這里介紹一下這個(gè)函數(shù)的使用方法,以及其輸出的相關(guān)含義。

0x01 輸入及輸出

            
              from sklearn.feature_extraction.text import CountVectorizer
# from sklearn.feature_extraction.text import TfidfTransformer
import pandas as pd

data = ['I love you', 'you are my angle are']


vecl = CountVectorizer(ngram_range=(1, 1), binary=False, token_pattern='\w{1,}')
xl = vecl.fit_transform(data)
print(vecl.get_feature_names())  # 特征名稱(chēng)
print(vecl.vocabulary_)             # 特征在列表中的索引位置
X = vecl.fit_transform(data)
print(X)
df = pd.DataFrame(X.toarray(), columns=vecl.get_feature_names()) # to DataFrame
print(df.head())
            
          

首先調(diào)用CountVectorizer方法,其中的幾個(gè)參數(shù)意義如下:

ngram_range:(1,1)表示1-gram (2,2)表示2-gram? ?(1,2)表示1-gram + 2-gram

binary:FALSE表示不將文本進(jìn)行二進(jìn)制表示

token_pattern:通過(guò)正則表達(dá)式來(lái)確定哪些數(shù)據(jù)被過(guò)濾掉,默認(rèn)情況下單個(gè)英文字母會(huì)被過(guò)濾掉,代碼中的\w{1,}可以避免這種情況

            fit_transform(data) 用來(lái)對(duì)數(shù)據(jù)進(jìn)行處理,表示成n-gram的形式
          
            get_feature_names()來(lái)獲取都獲取了哪特征
          
            vocabulary_用來(lái)表示特征在get_feature_names()中的列表中的位置
          

調(diào)用pandas庫(kù)主要用于將特征以及生成的稀疏矩陣用表的形式展現(xiàn)出來(lái)

以下為輸出結(jié)果:

python sklearn CountVectorizer的使用及相關(guān)說(shuō)明_第1張圖片

圖中第一行為獲取的特征

第二行為各個(gè)特征的索引號(hào),例如‘i’:2 表示字符i在特征表中的索引為2

第三部分為稀疏矩陣 正常的輸出矩陣如下面的一部分所示, (0,2) 1? 表示在全部矩陣的第0行第2列有數(shù)據(jù)1 在稀疏矩陣中沒(méi)有表示的索引全部為0

第四部分為全部矩陣 最左側(cè)的一列表示文本的索引號(hào),0表示第一個(gè)文本 'I love you'? ?1表示'you are my angle are'

再看第二列 angle在0行值為0,在1行值為1 表示angle在一個(gè)文本中沒(méi)有出現(xiàn),在第二個(gè)文本中出現(xiàn)了一次

同理 第二列表示are在第一個(gè)文本中沒(méi)有出現(xiàn),在第二個(gè)文本中出現(xiàn)了兩次。

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 囊谦县| 吴旗县| 清新县| 天门市| 黄浦区| 泰安市| 鄂托克前旗| 信宜市| 石家庄市| 雷山县| 伊宁市| 鄂伦春自治旗| 高雄县| 福州市| 连州市| 定兴县| 瑞丽市| 乐业县| 灌南县| 景东| 东山县| 鹰潭市| 巴林左旗| 宁乡县| 桓仁| 呼伦贝尔市| 沿河| 万盛区| 潮州市| 嘉善县| 咸阳市| 肇州县| 阜平县| 五寨县| 亚东县| 托克逊县| 岳池县| 玛沁县| 积石山| 延边| 和平区|