python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)
https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share
医药项目统计联系QQ:231469242
cochran Q 测试用于非参数检验,特别是对分,二分
成功或失败
有效或无效
活着或死了
有缺陷的或无缺陷的
python代码
无显著差异,结论一致
# -*- coding: utf-8 -*-
# Import standard packages
import numpy as np
import pandas as pd # additional packages
from statsmodels.sandbox.stats.runs import cochrans_q obs = np.array([[1,1,0,1,0,1,1,1,0,0,1,1],
[1,1,1,1,0,1,1,1,0,1,1,1],
[1,1,0,0,0,1,1,0,1,0,1,1]]) def cochranQ(obs):
'''Cochran's Q test: 12 subjects are asked to perform 3 tasks. The outcome of each task is "success" or
"failure". The results are coded 0 for failure and 1 for success. In the example, subject 1 was successful
in task 2, but failed tasks 1 and 3.
Is there a difference between the performance on the three tasks?
''' # I prefer a DataFrame here, as it indicates directly what the values mean
df = pd.DataFrame(obs.T, columns = ['Diet1', 'Diet2', 'Diet3']) # --- >>> START stats <<< ---
(Q, pVal) = cochrans_q(df)
# --- >>> STOP stats <<< ---
print('\nCOCHRAN\'S Q -----------------------------------------------------')
print('Q = {0:5.3f}, p = {1:5.3f}'.format(Q, pVal))
if pVal < 0.05:
print("H1 wins,There is a significant difference between the three tasks.") else:
print("H0 wins,There was no significant change") cochranQ(obs)
测试,12个对象参加三种考试,检验三种考试难度是否一样。
H0,三种考试难度相同
H1,三种考试难度不同,至少有一个简单或难
三种考试有显著差异