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')