カイ二乗統計を取得するために scipy.stats.chi2_contingency メソッドを使用しています。パラメータとして度数表、つまり分割表を渡す必要があります。しかし、特徴ベクトルがあり、頻度表を自動的に生成したいと考えています。そのような機能はありますか?私は現在このようにやっています:
def contigency_matrix_categorical(data_series,target_series,target_val,indicator_val):
observed_freq={}
for targets in target_val:
observed_freq[targets]={}
for indicators in indicator_val:
observed_freq[targets][indicators['val']]=data_series[((target_series==targets)&(data_series==indicators['val']))].count()
f_obs=[]
var1=0
var2=0
for i in observed_freq:
var1=var1+1
var2=0
for j in observed_freq[i]:
f_obs.append(observed_freq[i][j]+5)
var2=var2+1
arr=np.array(f_obs).reshape(var1,var2)
c,p,dof,expected=chi2_contingency(arr)
return {'score':c,'pval':p,'dof':dof}
データ シリーズとターゲット シリーズは列の値で、他の 2 つはインジケーターの名前です。誰でも助けることができますか?ありがとう