from collections import defaultdict
import math
def loaddataset():
dataset = [ ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], # 切分的詞條
['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
['my', 'dalmation', 'is', 'so', 'cute', 'i', 'love', 'him'],
['stop', 'posting', 'stupid', 'worthless', 'garbage'],
['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],
['quit', 'buying', 'worthless', 'dog', 'food', 'stupid'] ]
classvec = [0, 1, 0, 1, 0, 1] # 類別標籤向量,1代表好,0代表不好
return dataset, classvec
def feature_select(list_words):
doc_frequency=defaultdict(int)
#記錄每個詞的數量
for i in list_words:
for j in i:
doc_frequency[j]+=1
s1=sum(doc_frequency.values())
s2=len(list_words)
word_tf={}
#記錄tf中詞頻
for i in doc_frequency:
word_tf[i]=doc_frequency[i]/s1
#記錄每個詞的出現在文章中,文章的數量
word_idf={}
word_idf_doc=defaultdict(int)
for i in doc_frequency:
for j in list_words:
if i in j:
word_idf_doc[i]+=1
#tf與idf相乘
for i in doc_frequency:
word_idf[i]=math.log(s2/(word_idf_doc[i]+1))
word_tf_idf={}
for i in doc_frequency:
word_tf_idf[i]=word_tf[i]*word_idf[i]
#排序,從大到小
dict_feature_select=sorted(word_tf_idf.items(),key=lambda x:x[1],reverse=true)
return dict_feature_select
if __name__ =='__main__':
data_list,lable_list=loaddataset()
feature=feature_select(data_list)
print(feature)
python安裝第三方包
初開始進行機器學習,對python第三方包進行安裝,已經第二次安裝了,還是不太順利,為了記住過程,寫下這篇文章。1 whl檔案 cmd輸入命令pip install packagename 例如安裝numpy包,輸入命令pip install numpy 其餘類似。2 壓縮檔案 tar 例如auto...
python 安裝第三方包
python環境是anaconda3安裝的,由於專案需要用到git的第三方包,但是在conda自帶的環境中沒有。例如使用jieba分詞庫。最後通過 import jieba 來引用 第一種方法 自動安裝 第一種方法又可以分成三種方法 1.直接conda介面自動安裝 第二種方法 半自動 git 2.然...
Python第三方包的匯入
我們知道,定義在環境變數pythonpath裡是可以直接用import匯入的。下面我們來操作如何從非pythonpath目錄匯入第三方包或者自己定義的包。假定我們的包有如下的目錄結構 person 是最頂層的包,man woman child是子包 person init py person.py ...