#特征处理
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