Day 40 文字特徵抽取,中文特徵值化

2021-10-16 12:44:18 字數 1898 閱讀 6325

其實就是對文字資料進行特徵值化,運用到sklearn的類是sklearn.feature_extraction.text.countvectorizer注意是在text模組下的。

countvectorizer()返回的是詞頻矩陣

1.實列化countvectorizer

2. 呼叫fit_transform方法輸入資料並轉換(需要注意利用toarray()方法從sparse矩陣轉換array陣列)

from sklearn.feature_extraction.text import countvectorizer

defcountvec()

: cv = countvectorizer(

) data = cv.fit_transform(

["life is too short, i like python"

,"life is too long, i dislike python"])

print

(cv.get_feature_names())

print

(data.toarray())

return

none

if __name__ ==

"__main__"

: countvec(

)

輸出

第一行是get_feature_name統計所有文章出現的詞,相當於詞的列表,乙個字母的沒有統計 因為沒有太大意義。

第二行是統計每個詞 出現次數

要想要中文特徵值化 得需要用到 「 jieba」這個工具 幫忙把中文段落用空格分開。在terminal中pip install jieba安裝 用jieba.cut("乙個字串")方法分隔字串。

注意:jieba.cut返回的不是列表,所以得需要轉換列表並且再轉為字串才可以被countvectorizer.fit_transform()方法所應用

import jieba

from sklearn.feature_extraction.text import countvectorizer

defcutword()

: con1 = jieba.cut(

"這裡就隨便寫點中文的字串"

) con2 = jieba.cut(

"這裡要寫一點和上面不一樣的中文字串"

)#轉換為列表後轉化為字串

c1 =

' '.join(

list

(con1)

) c2 =

' '.join(

list

(con2)

)return c1, c2

defcountvec()

: c1, c2 = cutword(

) cv = countvectorizer(

) data = cv.fit_transform(

[c1,c2,])

print

(cv.get_feature_names())

print

(data.toarray())

if __name__ ==

"__main__"

: countvec(

)

輸出

暑期訓練 day40

暑期訓練 day40 趙景樂昨天主要在看書上的知識,積極備戰啊。看的題只有5道sg演算法的題。還是對這類題的方法不清楚,不明白他的sg演算法為什麼要這樣寫。昨天的題目我出了兩道,一道簽到題沒考慮等號錯了一遍,然後a 題暴力出來的。因為a題資料只有50 50,也不是太大,所以暴力是可行的,然後這類題在...

每日演算法 day 40

那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.25 最後乙個資料點卡著時間ac了差了幾十毫秒 本來想吸一口氧氣的結果不吸氧氣...

python學習筆記 day40 協程

程序是cpu資源分配的最小單位 執行緒是cpu排程的最小單位 協程就是在乙個執行緒內切換執行任務 之前使用yield也可以實現在乙個主線程中切換執行 def func1 生成器函式 print 吃飯嗎 yield print 那我們走吧 yield deffunc2 g func1 生成器函式在被呼...