完整代码
import numpy as np
import logging
import sys
import pandas as pd
class CyrusMIC(object):
logger = logging.getLogger()
logger.setLevel(logging.INFO)
screen_handler = logging.StreamHandler(sys.stdout)
screen_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(module)s.%(funcName)s:%(lineno)d - %(levelname)s - %(message)s')
screen_handler.setFormatter(formatter)
logger.addHandler(screen_handler)
def __init__(self,x_num=[None,None],y_num=[None,None]):
self.x_max_num = x_num[1]
self.x_min_num = x_num[0]
self.y_min_num = y_num[0]
self.y_max_num = y_num[1]
self.x = None
self.y = None
def cal_mut_info(self,p_matrix):
"""
计算互信息值
:param p_matrix: 变量X和Y的构成的概率矩阵
:return: 互信息值
"""
mut_info = 0
p_matrix = np.array(p_matrix)
for i in range(p_matrix.shape[
基于CyrusMIC的变量互信息计算与概率矩阵划分

本文介绍了一个名为CyrusMIC的类,用于计算两个变量的互信息并根据给定的网格数划分概率矩阵。核心内容包括初始化参数、计算互信息值、划分区间及展示实例应用。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



