Information Gain 计算 python实现
2012-06-10 16:06
363 查看
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练习笔记——采用生成器函数实现两数之间的偶数计算
- Python&&GDAL实现NDVI的计算
- Python实现简单的斐波拉切数列计算
- Python实现一些简单的算法(2)—计算余数与random模块的使用
- python通过面向对象程序设计方法 实现铅球运行轨迹的计算
- Python实现的计算马氏距离算法示例
- python实现根据两点经纬度计算实际距离
- python并行计算的简单实现--pp
- LTE-TDD measurement gaps位置计算--Python代码实现
- python实现一个简单泰勒的计算
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- python计算文件的行数和读取某一行内容的实现方法
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- python3 实现延迟计算
- python实现身份证校验位计算
- python计算文件的行数和读取某一行内容的实现方法
- python简单实现拉格朗日差值计算
- Python实现计算一段文本中每个单词出现的次数
- Python实现快速计算词频功能示例
- Python 26进制计算实现方法