資訊增益
import pandas as pd
import numpy as np
df=pd.read_excel(r'C:\Users\Admin\YQnotebook\test.xlsx')
首先建立一個計算資訊熵的函式
entropy資訊熵,公式為
def ent(data):
prob=pd.value_counts(data)/len(data)
return sum(np.log2(prob)*prob*(-1))
然後計算資訊增益
def gin(data,str1,str2):
e1 = data.groupby(str1).apply(lambda x:ent(x[str2]))
p1 = pd.value_counts(data[str1]) / len(data[str1])
e2 = sum(e1 * p1)
return ent(data[str2]) - e2
找出資訊增益最大的特徵
def best_gin(data):
best=0
gini_lst=[]
for i in data.ix[:,:-1].columns.tolist():
cur_gin=gin(data,i,'R')
gini_lst.append(cur_gin)
dic=dict(zip(data.ix[:,:-1].columns.tolist(),gini_lst))
print(dic)
return max(dic,key=dic.get)
然後要將表中不用了的資料刪除
df.groupby('F').apply(lambda x:print(x))
df[df['F']=='s'].drop('F',axis=1)
然後,再來一次找最好的特徵
best_gin(df1)
然後繼續刪除不用了的資訊
相關文章
- python中如何實現資訊增益和資訊增益率Python
- ML-熵、條件熵、資訊增益熵
- 基於資訊增益的ID3決策樹介紹。
- 模擬增益(Analog Gain)、數字增益(Digital Gain)AIGit
- 基於資訊增益和基尼指數的二叉決策樹
- 大模型合成資料機理分析,人大劉勇團隊:資訊增益影響泛化能力大模型
- 決策樹中資訊增益、ID3以及C4.5的實現與總結
- 工業相機曝光和增益的一些基本概念
- 詳解 WebRTC 高音質低延時的背後 — AGC(自動增益控制)WebGC
- 資訊熵概念隨筆——資訊熵、資訊的熵熵
- AliAGC 自動增益控制演算法:解決複雜場景下的音量問題GC演算法
- 【統計資訊】Oracle統計資訊Oracle
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- Grafana監控騰訊物理資源資訊Grafana
- ajax編輯資訊和刪除資訊
- 資訊收集
- 資訊保安
- 【招聘資訊】
- 資訊爆炸時代,如何獲取優質資訊?
- 使用RestTemplate,顯示請求資訊,響應資訊REST
- 熵、資訊量、資訊熵、交叉熵-個人小結熵
- go 版本資訊Go
- 資訊檢索
- 基礎資訊
- 資訊系統
- BeanDefinition元資訊Bean
- Hadoop 常用資訊Hadoop
- 【三】資訊保安
- 臨時資訊
- 全球資訊網
- 資訊加密方式加密
- AI新資訊AI
- 資訊的演化
- 身份證資訊
- 【招聘資訊】騰訊雲資料庫高階專家資料庫
- ch5 資訊不對稱與資訊經濟H5
- 【統計資訊】Oracle常用的收集統計資訊方式Oracle
- Cnopendata鐵路資訊資料