P6 文字特徵抽取以及中文問題
阿新 • • 發佈:2020-12-29
http://bilibili.com/video/BV184411Q7Ng?p=6
""" 演示字典的特徵抽取, DictVectorizer是一個類的名字 """ from sklearn.feature_extraction import DictVectorizer def dictvec(): """ 字典資料抽取 :return: 加入引數sparse=False可以把轉換成的資料轉換成陣列 """ dict=DictVectorizer(sparse=False) #例項化 sparse=False data=dict.fit_transform([{'city':'北京','temperature':100},{'city':'上海','temperature':60},{'city':'深圳','temperature':30}]) # 呼叫fit_transform就是把字串資料轉化成特徵,返回的是個data print(dict.inverse_transform(data)) return None if __name__=="__main__": dictvec()
執行結果:
C:\Users\TJ\AppData\Local\Programs\Python\Python37\python.exe D:/qcc/python/mnist/feature_abstract.py
[{'city=北京': 1.0, 'temperature': 100.0}, {'city=上海': 1.0, 'temperature': 60.0}, {'city=深圳': 1.0, 'temperature': 30.0}]
Process finished with exit code 0
""" 演示字典的特徵抽取, DictVectorizer是一個類的名字 CountVectorizer是一個類的名字,可以用來例項化一個變數 """ from sklearn.feature_extraction import DictVectorizer from sklearn.feature_extraction.text import CountVectorizer def dictvec(): """ 字典資料抽取 :return: 加入引數sparse=False可以把轉換成的資料轉換成陣列""" dict=DictVectorizer(sparse=False) #例項化 sparse=False data=dict.fit_transform([{'city':'北京','temperature':100},{'city':'上海','temperature':60},{'city':'深圳','temperature':30}]) # 呼叫fit_transform就是把字串資料轉化成特徵,返回的是個data print(dict.inverse_transform(data)) return None def countvec(): """ 對文字進行特徵值化 :return: """ 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 if __name__=="__main__": countvec()
執行結果:
C:\Users\TJ\AppData\Local\Programs\Python\Python37\python.exe D:/qcc/python/mnist/feature_abstract.py
['dislike', 'is', 'life', 'like', 'long', 'python', 'short', 'too']
[[0 1 1 1 0 1 1 0]
[1 1 1 0 1 1 0 1]]
Process finished with exit code 0
註解:
- 統計兩篇文章中所有單詞,返回一個列表,重複的單詞只統計一次。
- 執行結果的下面的二維矩陣說明:針對每篇文章,在詞的列表裡面統計每個詞出現的次數。