Traceback (most recent call last): File "D:/pycharm/projects/Pythoneeee/projects/最优化期末老师帮.py", line 15, in <module> y = binom.rvs(1, condprob, size=n).reshape(-1, 1) File "D:\pycharm\projects\venv\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 3357, in rvs return super().rvs(*args, **kwargs) File "D:\pycharm\projects\venv\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 1028, in rvs args, loc, scale, size = self._parse_args_rvs(*args, **kwds) File "<string>", line 6, in _parse_args_rvs File "D:\pycharm\projects\venv\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 909, in _argcheck_rvs raise ValueError("size does not match the broadcast shape of " ValueError: size does not match the broadcast shape of the parameters. 10000000, (1, 10000000), (10000000, 1)
时间: 2023-09-03 22:07:51 浏览: 104
这是一个 Python 的报错信息,看起来是在使用 scipy 库中的 binom.rvs 函数时出现了问题。错误信息中提到参数的形状不匹配,可能是在调用 binom.rvs 函数时传递的参数有误。建议检查调用该函数时传递的参数是否正确,并且确保它们的形状匹配。可以尝试调整参数的形状或者传递正确的参数来解决这个问题。
相关问题
warnings.warn( Traceback (most recent call last): File "D:/pycharm/projects/Pythoneeee/projects/最优化期末老师帮.py", line 58, in <module> probit_fit = probit_model.fit() File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\genmod\generalized_linear_model.py", line 1107, in fit return self._fit_irls(start_params=start_params, maxiter=maxiter, File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\genmod\generalized_linear_model.py", line 1245, in _fit_irls wls_mod = reg_tools._MinimalWLS(wlsendog, wlsexog, File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\regression\_tools.py", line 58, in __init__ self.wexog = np.asarray(w_half)[:, None] * exog numpy.core._exceptions.MemoryError: Unable to allocate 839. MiB for an array with shape (10000000, 11) and data type float64
这个错误提示是在运行模型拟合时,内存不足导致的。根据错误提示,尝试分析内存使用情况以找到解决方案。
第一种可能的解决方案是减少输入数据的大小。如果你正在使用大规模的数据集,则可以考虑使用降维方法,例如主成分分析(PCA),或者使用更小的子集进行模型拟合。
第二个解决方案是使用分布式计算框架,例如Apache Spark或Dask,这些框架可以在多台机器上并行运行,从而减少内存占用。
第三个解决方案是使用更加高效的算法或者进行算法优化。例如,可以使用随机梯度下降(SGD)算法,它只需要加载一小部分数据来更新模型参数。
最后,如果问题仍然存在,可以尝试增加计算机的内存或者使用云计算平台。
warnings.warn( init_gelsd failed init Traceback (most recent call last): File "D:/pycharm/projects/Pythoneeee/projects/最优化期末老师帮.py", line 44, in <module> prob_fit = sm.GLM(y, x, family=sm.families.Binomial(link=sm.families.links.probit())).fit() File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\genmod\generalized_linear_model.py", line 1107, in fit return self._fit_irls(start_params=start_params, maxiter=maxiter, File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\genmod\generalized_linear_model.py", line 1245, in _fit_irls wls_mod = reg_tools._MinimalWLS(wlsendog, wlsexog, File "D:\pycharm\projects\venv\lib\site-packages\statsmodels\regression\_tools.py", line 58, in __init__ self.wexog = np.asarray(w_half)[:, None] * exog numpy.core._exceptions.MemoryError: Unable to allocate 763. MiB for an array with shape (10000000, 10) and data type float64
这个错误提示意味着在尝试拟合模型时,出现了内存不足的问题。根据错误提示,您的数据集很大,可能需要更多的内存来处理。
有以下几种方法可以尝试解决这个问题:
1. 减少数据集的大小:如果可能的话,可以尝试减少数据集的大小,以减少内存占用。
2. 增加内存容量:如果您的计算机内存容量不足,可以考虑使用更大的内存或者云计算资源来处理数据集。
3. 使用其他方法:如果以上两种方法都不可行,可以尝试使用其他库或方法来拟合模型,例如使用随机梯度下降等方法。
希望这些建议能帮助您解决问题。
阅读全文