如何静音python中的statsmodels.fit()
当我想在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的文档了解更多信息。