其實就是對文字資料進行特徵值化,運用到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 生成器函式在被呼...