如何静音python中的statsmodels.fit()

36 投票
1 回答
10069 浏览
提问于 2025-04-18 02:23

当我想在Python中拟合一个模型时,通常会使用statsmodels里的fit()方法。有时候,我还会写一个脚本来自动化这个拟合过程:

import statsmodels.formula.api as smf
import pandas as pd
df = pd.read_csv('mydata.csv')  # contains column x and y
fitted = smf.poisson('y ~ x', df).fit()

我想问的是,怎么让fit()方法安静一点。在我的环境中,它会在标准输出中显示一些关于拟合的信息,比如:

Optimization terminated successfully.
         Current function value: 2.397867
         Iterations 11

但我其实并不需要这些信息。我找不到可以控制标准输出打印的参数。那我该怎么让fit()方法不输出这些信息呢?

我的环境是Python 3.3.4,IPython 2.0.0,pandas 0.13.1,statsmodels 0.5.0。

1 个回答

55

使用disp这个参数来进行拟合。它可以控制scipy中优化器的详细程度,也就是说,你可以设置它来决定输出的信息量。

mod.fit(disp=0)

可以查看fit的文档了解更多信息。

撰写回答