日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 卡方检验演算

發布時間:2024/9/27 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 卡方检验演算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Python 卡方檢驗演算

1 聲明

本文的數據來自網絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯系博主及時處理。

2 卡方檢驗簡介

卡方統計檢驗用于檢測兩個分類向量的獨立性,也就是說該統計量是一個用于統計分類特征的每個類別中觀測到的數量與我們所期望(特征與目標向量獨立或者無關時)之間的差異。

其中O代表觀測或者樣本的值,i代表第i個分類,E代表期望值。

3 卡方檢驗代碼示例

from sklearn.feature_selection import SelectKBest from sklearn.preprocessing import LabelBinarizer import sklearn.feature_selection as selection import scipy #Step1 定義數據X和y X = np.array([3.4, 3.4, 3. , 2.8, 2.7, 2.9, 3.3, 3. , 3.8, 2.5]) y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2, 2]) #Step2 二值化數據 y = LabelBinarizer().fit_transform(y) #Step3 點積,實際得到的是y的每個分類的匯總和 observed = y.T.dot(X) #Step4 reshape成1行未知列,對所有X求和,記作Total feature_count = X.sum(axis=0).reshape(1, -1) #計算每個分類的占比,這里只要對二值化的數據求均值即可。 class_prob = y.mean(axis=0).reshape(1, -1) #Step5 計算每個分類對應的期望值,即每個y分類的占比乘以Total expected = np.dot(class_prob.T, feature_count) #Step6 計算卡方,方法見下: chi2 = ((observed.reshape(-1,1) - expected) ** 2 / expected).sum(axis=0)#power((9.8-9.24),2)/9.24 #+power((8.4-9.24),2)/9.24 #+power((12.6-12.32),2)/12.32 print("卡方值\tP值") # p值 p = scipy.special.chdtrc(3 - 1, chi2) print(chi2,p)# 對比SelectKBest,chi2 s = SelectKBest(selection.chi2, k=1) s.fit(X.reshape(-1,1),y) print(s.scores_, s.pvalues_)

4 總結

總結

以上是生活随笔為你收集整理的Python 卡方检验演算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。