卡方值计算-python代码


#特征处理
import pandas as pd
import numpy as np
import scipy
from scipy.stats import chi2
from pandas import DataFrame,Series

# #消除向量中除以0的警告
np.seterr(divide='ignore',invalid='ignore')

def chi3(arr):
    '''
    计算卡方值
    arr:统计表,二维numpy数组
    '''
    # Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常
    assert(arr.ndim==2)
    R_N=arr.sum(axis=1)
    C_N=arr.sum(axis=0)
    N=arr.sum()
    # 计算期望频数
    E=np.ones(arr.shape)*C_N/N
    E=(E.T*R_N).T
    square=(arr-E)**2/E
    square[E==0]=0
    v=square.sum()
    return v

参考此博客:
https://blog.csdn.net/snowdroptulip/article/details/78770088
卡方值:计算 相关性的
在这里插入图片描述
在这里插入图片描述
卡方值:
在这里插入图片描述
例1卡方检验

根据卡方检验公式我们可以得出例1的卡方值为:

卡方 = (43 - 39.3231)平方 / 39.3231 + (28 - 31.6848)平方 / 31.6848 + (96 - 99.6769)平方 / 99.6769 + (84 - 80.3152)平方 / 80.3152 = 1.077
————————————————
版权声明:本文为CSDN博主「snowdroptulip」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/snowdroptulip/article/details/78770088

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值