Python 列车测试分割后运行比例测试
嗯,我得到了一个数据集,在将其拆分为训练和测试数据后,通过Python 列车测试分割后运行比例测试,python,scikit-learn,statsmodels,Python,Scikit Learn,Statsmodels,嗯,我得到了一个数据集,在将其拆分为训练和测试数据后,通过train\u test\u split我试图对y\u train和y\u test运行比例测试 (test_stat, p_value) = proportions_z_test(y_train, y_test, alternative='two-sided') 但是Python不断抛出ValueError:操作数不能与形状(4254,)(1123,)一起最宽 我的Y目标变量是二进制的(类0和1) 有没有办法像上面的代码那样,直接将y
train\u test\u split
我试图对y\u train
和y\u test
运行比例测试
(test_stat, p_value) = proportions_z_test(y_train, y_test, alternative='two-sided')
但是Python不断抛出ValueError:操作数不能与形状(4254,)(1123,)
一起最宽
我的Y目标变量是二进制的(类0和1)
有没有办法像上面的代码那样,直接将y_train和y_test添加到proportion_ztest
调用中,或者,在此之前,我必须计算每个数据集中的所有1类和观测总数(y_train和y_test),并使用np数组编写代码,如:
success = [123, 359]
TotalObs = [2500, 2500]
(test_stat, p_value) = proportions_z_test(success, TotalObs, alternative='two-sided')
我正在尝试找到一种解决方案,而不是将stratify
参数添加到train\u test\u split
调用中
任何帮助都将不胜感激
泰 如果随机变量已编码为二进制0,1,则总和计算成功数
因此,以下内容适用于同等比例的两个样本测试
(test_stat, p_value) = proportions_z_test([y_train.sum(), y_test.sum()],
[len(y_train), len(y_test)],
alternative='two-sided')