`
junfeng_feng
  • 浏览: 19903 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Information Gain 计算 python实现

 
阅读更多



from math import log

def I(*args):
    total = sum(args) + 0.0
    result = 0.0
    for i in args:
        if i == 0:
            result += 0
        else:
            result += i / total * log( i / total, 2)
    return -result

#num表示分类的个数
def E(num, *args):
    if len(args) % num != 0:
        print "Error len(args)"
    result = 0.0
    total = sum(args)
    for x in xrange(len(args) / num):
        k = x * num
        total_up = 0.0 + sum(args[k:k + num])
        result += total_up / total * I(*args[k:k + num])
    return result

def Gain(i, e):
    return i - e

#取个别名
i = I
e = E
g = Gain

if __name__ == "__main__":
    #for example
    print i(9, 5)
    print e(2, 2, 3, 4, 0, 3, 2)




分享到:
评论

相关推荐

    Python for Information

    ### Python for Information: Key IT Knowledge Points #### 1. Introduction to Python for Informatics - **Purpose**: This book, titled "Python for Informatics: Exploring Information," is specifically ...

    基于Python实现ID3算法【100011192】

    2. **信息增益**(Information Gain):信息增益是通过计算当前数据集的熵与按某个属性划分后的平均熵之差,公式为: \[ IG(A,D) = H(D) - H(D|A) \] 其中,\( A \) 是属性,\( H(D|A) \) 是在属性 \( A \) 划分后...

    c4.5基于信息增益比的多分类决策树python实现

    C4.5决策树是一种广泛使用的机器学习算法,主要用于分类任务。它是由Ross Quinlan开发的,是对ID3算法的改进,...通过理解C4.5算法的原理和Python实现,我们可以更好地理解和应用决策树模型,从而解决复杂的分类问题。

    python实现求特征选择的信息增益

    总结起来,Python实现的这个信息增益计算方法允许我们在特征选择时同时处理离散和连续类型的特征,这对于处理混合类型的数据集非常有用。通过比较各个特征的信息增益,我们可以选择最能减少不确定性的特征,从而提高...

    基于ID3决策树算法的实现(Python版)

    它计算每个特征划分后的信息增益(Information Gain),信息增益是划分前后的熵之差,公式为:\( IG(D,A) = H(D) - H(D|A) \),其中\( A \)是特征,\( H(D|A) \)是在已知特征\( A \)的情况下数据集的条件熵。...

    决策树 4个信息计算公式 手动实现

    决策树是一种广泛应用于机器...通过这个实践,你可以加深对决策树的理解,掌握如何利用Python实现信息计算公式,以及如何构建和优化决策树模型。这个过程不仅锻炼编程能力,还能让你更好地运用理论知识解决实际问题。

    Spark for Python Developers

    Spark for Python Developers aims to combine the elegance and fl...Third, gain insights from the collected data. Fourth, stream live data and process it in real time. Finally, visualize the information.

    Python: Penetration Testing for Developers

    Exploit the Remote File Inclusion to gain administrative access to systems with Python and other scripting languages Crack an organization's Internet perimeter and chain exploits to gain deeper access...

    id3.1(1)_id3_python_

    在Python中实现ID3算法,首先要理解其核心思想:选择最优特征进行划分,该特征应最大化信息增益(Information Gain)。信息增益是熵减少的程度,它衡量了分类的纯度。熵是信息论中的一个概念,用来描述数据的不确定...

    Building Chatbots with Python(2019)

    This book begins with an introduction to chatbots where you will gain vital information on their architecture. You will then dive straight into natural language processing with the natural language ...

    python实现决策树分类(2)

    总的来说,Python实现决策树分类涉及数据加载、特征选择、熵计算、信息增益计算以及数据划分等多个步骤。通过这些步骤,我们可以训练出一个决策树模型,用于对新的红酒或白酒样本进行质量预测。虽然自定义实现可能...

    数据仓库与数据挖掘实验报告(python实现,包括关联规则、决策树、聚类分析、贝叶斯网络、神经网络和遗传算法的应用)

    - **信息增益(Information Gain)**:衡量一个属性划分样本集合的效果。 - **基尼指数(Gini Index)**:评估一个属性对样本集纯度的影响。 **具体实施:** - **实验要求:** - 理解决策树的构建过程。 - 应用...

    Learning Data Mining with Python - Second Edition

    You will gain hands on experience with complex data types including text, images, and graphs. You will also discover object detection using Deep Neural Networks, which is one of the big, difficult ...

    决策树(DecisonTree) Python代码 《统计学习方法》李航

    在《统计学习方法》一书中,作者李航深入浅出地讲解了决策树的理论基础和实际应用,并提供了Python实现的代码示例。下面我们将详细探讨决策树的基本概念、工作原理以及Python实现的关键步骤。 决策树的学习过程通常...

    information_gain

    在Python中,可以使用`sklearn`库中的`entropy`函数来计算熵,但如果你需要自定义实现,可以创建一个函数来完成这些计算。例如: ```python import math def entropy(probs): return -sum(p * math.log2(p) for p...

    Mastering Natural Language Processing with Python [2016]

    Gain insights into the current and budding research topics of NLP This is a comprehensive step-by-step guide to help students and researchers create their own projects based on real-life applications ...

    Building Probabilistic Graphical Models with Python

    Gain an insight on algorithms that run inference Explore parameter estimation in Bayes nets with PyMC sampling Understand the complexity of running inference algorithms in Bayes networks Discover ...

Global site tag (gtag.js) - Google Analytics