在Python中控制梯度下降类的输出

作为作业问题的一部分,我创建了LinearRegression类,但是得到的输出显示出疯狂的小数点以及科学计数法。如果我的输出仅显示值至小数点,我会非常喜欢。

我尝试给出f字符串并尝试格式化。这些 do 减少了显示的小数位数,但是科学计数法仍保留在输出中,有时某些值只是显示为'inf'。下面的示例。

如果我使用以下内容(根据作业)对此进行了测试:

from model import LinearRegression # model.py is my file

model = LinearRegression()
examples = list(range(1,1000))
values = list(range(1,1000))

for i in range(len(examples)):
    model.addSample(examples[i],values[i])

print(model.fit(0.0006,100))

我得到输出:

(2.1803197675124753549e+229,1.4528186498977718021e+232,1.7775211633675145435e+465)

当我添加格式设置(例如,在类的fit()方法中返回'{:.4}'。format(self.theta_0)时):

('2.18e+229','1.453e+232','inf')

我真的不确定为什么这么挑剔。一定有我想念的东西。任何帮助将不胜感激!

tianhongjie 回答:在Python中控制梯度下降类的输出

'{:. 4f}'。format(self.theta_0)

OR

将numpy导入为np

np.set_printoptions(suppress = True)

本文链接:https://www.f2er.com/3140412.html

大家都在问