日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习-特征抽取02

發布時間:2024/9/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习-特征抽取02 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

特征抽取是對文本等數據進行值化,特征值化是為了讓計算機能夠更好的去理解數據。

sklearn特征抽取api

  • sklearn.feature_extraction

字典特征抽取(對字典數據進行特征值化)

  • from sklearn.feature_extraction import DictVectorizer
# 字典特征抽取 from sklearn.feature_extraction import DictVectorizerdict = DictVectorizer(sparse=False) data = dict.fit_transform([{"city":"北京","temperature":100},{"city":"上海","temperature":60},{"city":"深圳","temperature":30}]) print(dict.get_feature_names()) print(data)


文本特征抽取(對文本數據進行特征值化)

  • from sklearn.feature_extraction.text import CountVectorizer

英文特征抽取

from sklearn.feature_extraction.text import CountVectorizer # 導入包# 特征抽取 # 實例化 CountVectorizer 對象 vector = CountVectorizer() # 調用fit_transform 輸入并轉換數據 data = vector.fit_transform(["life is is is short,i like python","life is too long,i dislike python"]) # 打印結果 print(vector.get_feature_names()) print() print(data.toarray())

中文特征抽取

from sklearn.feature_extraction.text import CountVectorizer # 導入包# 特征抽取 # 實例化 CountVectorizer 對象 vector = CountVectorizer() # 調用fit_transform 輸入并轉換數據 data = vector.fit_transform(["人生苦短,我用python","人生 漫長,我不用python"]) # 打印結果 print(vector.get_feature_names()) print() print(data.toarray())


from sklearn.feature_extraction.text import CountVectorizer # 導入包 import jiebadef cutword():# 使用jieba.cut 進行分詞con1 = jieba.cut("今天很殘酷,明天更殘酷,后天很美好,但絕大部分人是死在明天晚上,所以每個人不要放棄今天。")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,c3def hanzi():c1,c2,c3 = cutword()print(c1,c2,c3)# 實例化 CountVectorizer 對象cv = CountVectorizer()# 調用fit_transform 輸入并轉換數據data = cv.fit_transform([c1,c2,c3])# 打印結果print(cv.get_feature_names())print(data.toarray())if __name__=='__main__':hanzi()

TF-IDF

  • TF-IDF 的主要思想是:如果某個詞或短語在一篇文章中出現的頻率高,并且在其它文章中很少出現,則認為改詞或者短語具有很好的類別區分能力,適合用來分類。
  • TF-IDF作用:用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要性。

tf : term frequency : 詞的頻率
idf : 逆文檔頻率 : inverse document frequency log(總文檔數量/(除以)該詞出現的文檔數量)
log(數值):輸入的數值越小,結果越小
tf*idf = 重要性程度

  • from sklearn.feature_extraction.text import TfidfVectorizer

from sklearn.feature_extraction.text import TfidfVectorizer import jiebadef cutword():# 使用jieba.cut 進行分詞con1 = jieba.cut("今天很殘酷,明天更殘酷,后天很美好,但絕大部分人是死在明天晚上,所以每個人不要放棄今天。")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,c3def tfidfvec():c1,c2,c3 = cutword()print(c1,c2,c3)# 實例化 TfidfVectorizer 對象tf = TfidfVectorizer()# 調用fit_transform 輸入并轉換數據data = tf.fit_transform([c1,c2,c3])# 打印結果print(tf.get_feature_names())print(data.toarray())if __name__=='__main__':tfidfvec()

總結

以上是生活随笔為你收集整理的机器学习-特征抽取02的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。