当前位置:  开发笔记 > 编程语言 > 正文

python sklearn中的fit方法

如何解决《pythonsklearn中的fit方法》经验,为你挑选了1个好方法。

我问自己关于sklearn中的fit方法的各种问题。

问题1:当我这样做时:

from sklearn.decomposition import TruncatedSVD
model = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = model.fit(X2)

在此过程中,变量模型的内容是否发生任何变化?

问题2:当我这样做时:

from sklearn.decomposition import TruncatedSVD
model = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = svd_1.fit(X2)

svd_1怎么了?换句话说,svd_1已经安装好了,我又重新安装了它,那么它的组件正在发生什么?



1> kazemakase..:

问题1:在此过程中,变量模型的内容是否发生任何变化?

是。该fit方法修改对象。并且它返回对该对象的引用。因此,保重!在第一个例子中的所有三个变量modelsvd_1svd_2实际上指的是同一个对象。

from sklearn.decomposition import TruncatedSVD
model = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = model.fit(X2)
print(model is svd_1 is svd_2)  # prints True

问题2: svd_1发生了什么?

modelsvd_1指向同一对象,因此第一个示例和第二个示例之间绝对没有区别。

结束语: 在这两个示例中发生的都是正如David Maust的回答所指出fit(X1)fit(X2),结果被覆盖。如果要将两个不同的模型拟合到两个不同的数据集,则需要执行以下操作:

svd_1 = TruncatedSVD().fit(X1)
svd_2 = TruncatedSVD().fit(X2)

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有