电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python計算信息熵實例

瀏覽:6日期:2022-07-20 15:41:01

計算信息熵的公式:n是類別數,p(xi)是第i類的概率

Python計算信息熵實例

假設數據集有m行,即m個樣本,每一行最后一列為該樣本的標簽,計算數據集信息熵的代碼如下:

from math import log def calcShannonEnt(dataSet): numEntries = len(dataSet) # 樣本數 labelCounts = {} # 該數據集每個類別的頻數 for featVec in dataSet: # 對每一行樣本 currentLabel = featVec[-1] # 該樣本的標簽 if currentLabel not in labelCounts.keys(): labelCounts[currentLabel] = 0 labelCounts[currentLabel] += 1 shannonEnt = 0.0 for key in labelCounts: prob = float(labelCounts[key])/numEntries # 計算p(xi) shannonEnt -= prob * log(prob, 2) # log base 2 return shannonEnt

補充知識:python 實現信息熵、條件熵、信息增益、基尼系數

我就廢話不多說了,大家還是直接看代碼吧~

import pandas as pdimport numpy as npimport math## 計算信息熵def getEntropy(s): # 找到各個不同取值出現的次數 if not isinstance(s, pd.core.series.Series): s = pd.Series(s) prt_ary = pd.groupby(s , by = s).count().values / float(len(s)) return -(np.log2(prt_ary) * prt_ary).sum()## 計算條件熵: 條件s1下s2的條件熵def getCondEntropy(s1 , s2): d = dict() for i in list(range(len(s1))): d[s1[i]] = d.get(s1[i] , []) + [s2[i]] return sum([getEntropy(d[k]) * len(d[k]) / float(len(s1)) for k in d])## 計算信息增益def getEntropyGain(s1, s2): return getEntropy(s2) - getCondEntropy(s1, s2)## 計算增益率def getEntropyGainRadio(s1, s2): return getEntropyGain(s1, s2) / getEntropy(s2)## 衡量離散值的相關性import mathdef getDiscreteCorr(s1, s2): return getEntropyGain(s1,s2) / math.sqrt(getEntropy(s1) * getEntropy(s2))# ######## 計算概率平方和def getProbSS(s): if not isinstance(s, pd.core.series.Series): s = pd.Series(s) prt_ary = pd.groupby(s, by = s).count().values / float(len(s)) return sum(prt_ary ** 2)######## 計算基尼系數def getGini(s1, s2): d = dict() for i in list(range(len(s1))): d[s1[i]] = d.get(s1[i] , []) + [s2[i]] return 1-sum([getProbSS(d[k]) * len(d[k]) / float(len(s1)) for k in d])## 對離散型變量計算相關系數,并畫出熱力圖, 返回相關性矩陣def DiscreteCorr(C_data): ## 對離散型變量(C_data)進行相關系數的計算 C_data_column_names = C_data.columns.tolist() ## 存儲C_data相關系數的矩陣 import numpy as np dp_corr_mat = np.zeros([len(C_data_column_names) , len(C_data_column_names)]) for i in range(len(C_data_column_names)): for j in range(len(C_data_column_names)): # 計算兩個屬性之間的相關系數 temp_corr = getDiscreteCorr(C_data.iloc[:,i] , C_data.iloc[:,j]) dp_corr_mat[i][j] = temp_corr # 畫出相關系數圖 fig = plt.figure() fig.add_subplot(2,2,1) sns.heatmap(dp_corr_mat ,vmin= - 1, vmax= 1, cmap= sns.color_palette(’RdBu’ , n_colors= 128) , xticklabels= C_data_column_names , yticklabels= C_data_column_names) return pd.DataFrame(dp_corr_mat)if __name__ == '__main__': s1 = pd.Series([’X1’ , ’X1’ , ’X2’ , ’X2’ , ’X2’ , ’X2’]) s2 = pd.Series([’Y1’ , ’Y1’ , ’Y1’ , ’Y2’ , ’Y2’ , ’Y2’]) print(’CondEntropy:’,getCondEntropy(s1, s2)) print(’EntropyGain:’ , getEntropyGain(s1, s2)) print(’EntropyGainRadio’ , getEntropyGainRadio(s1 , s2)) print(’DiscreteCorr:’ , getDiscreteCorr(s1, s1)) print(’Gini’ , getGini(s1, s2))

以上這篇Python計算信息熵實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 丁基胶边来料加工,医用活塞边角料加工,异戊二烯橡胶边来料加工-河北盛唐橡胶制品有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 东莞海恒试验仪器设备有限公司| 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 干培两用箱-细菌恒温培养箱-菲斯福仪器 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 至顶网| sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 客服外包专业服务商_客服外包中心_网萌科技 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 派财经_聚焦数字经济内容服务平台| 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 电动葫芦|环链电动葫芦-北京凌鹰名优起重葫芦 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 污泥烘干机-低温干化机-工业污泥烘干设备厂家-焦作市真节能环保设备科技有限公司 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 |