python實(shí)現(xiàn)信息熵的計(jì)算代碼
1、什么是信息熵?
1948年香農(nóng)提出了信息熵(Entropy)的概念。
信息理論:
1、從信息的完整性上進(jìn)行的描述:
當(dāng)系統(tǒng)的有序狀態(tài)一致時(shí),數(shù)據(jù)越集中的地方熵值越小,數(shù)據(jù)越分散的地方熵值越大。
2、從信息的有序性上進(jìn)行的描述:
當(dāng)數(shù)據(jù)量一致時(shí),系統(tǒng)越有序,熵值越低;系統(tǒng)越混亂或者分散,熵值越高。
“信息熵”(informationentropy)是度量樣本集合純度最常用的一種指標(biāo)。
二、python實(shí)現(xiàn)信息熵的計(jì)算代碼
1、導(dǎo)入庫(kù)
importnumpyasnp
importpandasaspd
2、準(zhǔn)備數(shù)據(jù)
data=pd.DataFrame(
{'學(xué)歷':['專(zhuān)科','專(zhuān)科','專(zhuān)科','專(zhuān)科','專(zhuān)科','本科','本科','本科','本科','本科',
'研究生','研究生','研究生','研究生','研究生'],
'婚否':['否','否','是','是','否','否','否','是','否','否','否','否','是','是','否'],
'是否有車(chē)':['否','否','否','是','否','否','否','是','是','是','是','是','否','否',
'否'],
'收入水平':['中','高','高','中','中','中','高','高','很高','很高','很高','高','高',
'很高','中'],
'類(lèi)別':['否','否','是','是','否','否','否','是','是','是','是','是','是','是','否']})
3、定義信息熵函數(shù)
#定義計(jì)算信息熵的函數(shù):計(jì)算Infor(D)
definfor(data):
a=pd.value_counts(data)/len(data)
returnsum(np.log2(a)*a*(-1))
4、數(shù)據(jù)測(cè)試
#print(infor(data["學(xué)歷"]))#測(cè)試結(jié)果為:1.584962500721156
以上就是python實(shí)現(xiàn)信息熵的計(jì)算代碼,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。