sklearn--文字特徵抽取
阿新 • • 發佈:2021-01-11
#文字特徵抽取
#作用:對文字資料進行特徵值化
from sklearn.feature_extraction.text import CountVectorizer
#對文字進行特徵值化
def countvec():
#例項化
cv=CountVectorizer()
data=cv.fit_transform(["life is short,i like python","life is too long,i dislike python"])
print(data. toarray())
return None
if __name__ == '__main__':
countvec()
輸出為:
[[0 1 1 1 0 1 1 0]
[1 1 1 0 1 1 0 1]]
當得到標誌詞時,重複的詞將不予統計
#文字特徵抽取
#作用:對文字資料進行特徵值化
from sklearn.feature_extraction.text import CountVectorizer
import jieba
#對文字進行特徵值化
def countvec():
#例項化
cv=CountVectorizer()
data= cv.fit_transform(["life is short,i like python","life is too long,i dislike python"])
print(cv.get_feature_names())
print(data.toarray())
return None
def cutword():
con1=jieba.cut("今天很殘酷,明天更殘酷,後天很美好,但絕對大部分是死在明天晚上,所以每個人都不要放棄今天。")
#不能直接輸出con1,因為要轉換成列表
con2=jieba.cut("我們看到的是從很遠星系來的光是在幾百萬年之前發出的,這樣當我們看到宇宙時,我們是在看它的過去。")
con3=jieba.cut("如果只用一種方式瞭解某樣事物,你就不會真正瞭解它。瞭解事物真正含義的祕密取決於如何將其與我們所瞭解的事物相聯絡。")
#轉換成列表
content1=list(con1)
content2=list(con2)
content3=list(con3)
#把列表轉換成字串
c1=''.join(content1)
c2=''.join(content2)
c3=''.join(content3)
return c1,c2,c3
def hanzivec():
#中文例項化
c1,c2,c3=cutword()
print(c1,c2,c3)
cv = CountVectorizer()
data = cv.fit_transform([c1,c2,c3])
print(cv.get_feature_names())
print(data.toarray())
return None
if __name__ == '__main__':
hanzivec()```